使用 xmodmap 重新映射键盘后,我遇到了一些问题:应用后 2-20 分钟内设置会随机重置。谷歌搜索但没有帮助:有些东西重置了它们,但所有提及都适用于 xfce,而我使用的是带有 unity 的常用 14.04 Ubuntu。
我看到了诸如“使用 xkb,忘记 xmodmap”之类的短语,但仍然不知道该怎么做。它要么是机密的,要么非常复杂,因为与 xmodmap 方式相比,它的信息量要少得多。
这是我的定制列表:
xmodmap -e "keycode 84 = Down"
xmodmap -e "keycode 79 = Home"
xmodmap -e "keycode 80 = Up"
xmodmap -e "keycode 83 = Left"
xmodmap -e "keycode 85 = Right"
xmodmap -e "keycode 87 = End"
xmodmap -e "keycode 90 = Insert"
xmodmap -e "keycode 91 = Delete"
xmodmap -e "keycode 89 = Next"
xmodmap -e "keycode 81 = Prior"
其中键码是数字键盘上的对应键,numlock = 关闭(基本上,我用 Delete 替换 KP_Del,用 Home 替换 KP_Home 等 - 不要问为什么)
有人能帮忙找到使用 xkb 的方法吗 - 至少一行?在哪里可以找到其他键的“名称”,以便我可以通过示例完成其余操作?
答案1
您可以按照我对类似问题的回答;如果你仍然想要布局切换(尽管仍然很破旧) 你应该定义新的布局或变体。
请注意,要复制和修改用于编辑键盘的模板有点难找。例如,在我的键盘中,几何图形是“pc105”;这是在中定义的/usr/share/X11/xkb/symbols/pc
。如果你仔细研究它,它包括:
[...]
key <SPCE> { [ space ] };
include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"
key <BKSP> { [ BackSpace, BackSpace ] };
[...]
键盘在文件中定义/usr/share/X11/xkb/symbols/keypad
[...]
default partial hidden keypad_keys
xkb_symbols "x11" {
include "keypad(operators)"
key <KP7> { [ KP_Home, KP_7 ] };
key <KP8> { [ KP_Up, KP_8 ] };
[...]
对于按键符号 (keysims) 的名称,最好的查找位置是文件/usr/include/X11/keysymdef.h
;您可能需要安装开发包才能获得它(或通过安装来安装它x11proto-core-dev
):
[...]
/* Cursor control & motion */
#define XK_Home 0xff50
#define XK_Left 0xff51 /* Move left, left arrow */
#define XK_Up 0xff52 /* Move up, up arrow */
[...]
keysym 名称是您删除“XK_”字符串后的名称。