我有一台Razer Naga Mouse,基本上它的侧面有一个小的记事本。我想将这些键重新映射到不同的未使用的键或bash命令。我可以使用xev轻松地获取键码(例如,鼠标上的"1“是键码87),然后我可以使用xmodmap将键码绑定到不同的键。
然而,我键盘上的数字键盘也会继承这一点,因为键代码是相同的,但我注意到“序列”是不同的。
例如,这是xev在我的鼠标数字板上按下"1“按钮时的输出。
KeyPress event, serial 34, synthetic NO, window 0x1c00001,
root 0x1ae, subw 0x0, time 2179878, (170,-2), root:(198,345),
state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 35, synthetic NO, window 0x1c00001,
root 0x1ae, subw 0x0, time 2179966, (170,-2), root:(198,345),
state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False这是在我的键盘数字键盘上按下"1“时的输出
KeyPress event, serial 35, synthetic NO, window 0x1c00001,
root 0x1ae, subw 0x0, time 2180261, (170,-2), root:(198,345),
state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x1c00001,
root 0x1ae, subw 0x0, time 2180341, (170,-2), root:(198,345),
state 0x0, keycode 87 (keysym 0xff9c, KP_End), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False有没有什么方法可以让我的鼠标上的键基于这个映射呢?
发布于 2011-10-02 08:30:32
尝试使用setxkbmap和xkbcomp,而不是xmodmap。xkbcomp命令允许您(使用-i选项)指定输入设备ID。
要获取设备ID列表,请运行xinput --list。(FWIW,我的Razer Salmosa被清楚地标记为"Razer Razer Salmosa“。)
下面是我如何将我的USB键盘(ID为16)转换为使用德国键映射,同时将我的笔记本电脑键盘保持在美国映射上:
setxkbmap de -print | xkbcomp - -i 16 $DISPLAY我真的不知道如何设置xkb映射,但我找到了一个tutorial that looks pretty good。
发布于 2011-10-02 05:09:55
https://stackoverflow.com/questions/3929186
复制相似问题