linux – 使用更多修饰符重新键入键盘
|
我正在寻找一种方法来为键盘添加一个“布局”.我已经在使用一个使用altgr作为本地字母的布局.我要添加的是一个镜像右手侧键盘,通过大写锁定激活( http://xkcd.com/mirrorboard.xkb中描述了一个) 不幸的是,ISO_LEVEL3_SHIFT已经被当地字母表所采用. (AFAIK)如果我使用mode_shift来改变组,我不能再在组中使用2个以上的级别了.有没有办法为altgr和mode_shift创建不同的组? 解决方法对于每个键码定义,您最多可以有八个键盘.它们成对组织成四组.有一系列密钥ISO_Next_Group,ISO_Prev_Group,ISO_First_Group和ISO_Last_Group,当按下时,通过敲击keysym组中的键来循环keysym输出.这些键是您获得多个布局的方式.例如,假设ISO_Next_Group已绑定到键码并分配给修饰符,则对于此定义: keycode 53 = x X Greek_xi Greek_XI multiply U2297 U24E7 U24CD 在键入“x”的类型上按下标签“X”的键盘键.按下ISO_Next_Group键后,我得到“ξ”.再次按它,我得到“×”.再按一次,“”.最后,第四次按下它会让事情恢复正常. 花了好几天(因为Xkb有可怕的文档;最后找到了一个好的指南here),你可以用这样的条目创建一个符号定义文件:
key <SPCE> {
// Level I II III IV
[ space,space,U2395,U2592 ],// Group 1
[ U2423,emspace,U2420,hairspace ] // Group 2
};
key <RALT> {
[ Mode_switch,Mode_switch ]
};
key <RCTL> {
[ ISO_Level3_Shift,ISO_Level3_Shift ]
};
括号括起一个组.通常,第一组是活动的.可以使用ISO_Group_Shift,a.k.a.Mode_switch临时增加该组.在组内,发出的符号以递增的级别定义.一级是裸键. Shift将一个添加到当前级别. ISO_Level3_Shift将级别设置为III. 上面的示例将七个符号映射到空格键以及各种shift键,以便: 空间U0020 SPACE 对于V级,还有一个关键的ISO_Level5_Shift.因此,一组可以至少有六个符号.使用模式切换键,这意味着您可以配置键盘输入大约1,200个不同的符号,但在此时按住这么多修饰符可能会减少几个键. 附:所有命名符号的名称都存储在/usr/include/X11/keysymdef.h中. 事实证明xmodmap(1)是错误的并且已弃用. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – 如何访问您在Bash中获取的文件的基本文件名?
- Sed / Awk – 删除ldif转储中的空白/连接行
- linux – .htaccess RewriteCond for REMOTE_ADDR,落后于Lo
- linux – 在64位机器上运行valgrind 32位二进制文件
- LINUX教学:Linux网络管理之基础知识详解
- LINUX实操:CentOS7下利用Cobbler安装部署CentOS
- linux – GDB远程调试错误
- Linux中是否有任何对托管Ruby on Rails至关重要的功能?
- linux-kernel – linux如何使用相同的驱动程序驱动多个网卡
- 从linux内核访问物理内存
