我遇到了以下问题:
我想在键盘上使用一些热键(我正在使用 Openbox,但它应该没有什么区别。)
我的大多数按键绑定都工作得很好(XF86AudioRaiseVolume、XF86AudioLowerVolume 等)。
但是,我没有收到 XF86Mail 的回复
答案1
1)使用后xev
发现该键确实有效。
xev
2)检查已知“好”键和不起作用的键( )的输出XF86Mail
,我发现了一个区别:
在按键绑定中工作:
KeyRelease event, serial 48, synthetic NO, window 0x2000001,
root 0x1e3, subw 0x0, time 70102367, (1618,-868), root:(3219,29),
state 0x10, keycode 158 (keysym 0x1008ff2e, XF86WWW), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
在按键绑定中不起作用:
KeyRelease event, serial 48, synthetic NO, window 0x2000001,
root 0x1e3, subw 0x0, time 70103895, (1618,-868), root:(3219,29),
state 0x10, keycode 223 (keysym 0x1008ff19, XF86Mail), same_screen YES,
--> XKeysymToKeycode returns keycode: 163
XLookupString gives 0 bytes:
XFilterEvent returns: False
因此,有很多选项可供选择:
- 密钥代码:163 (0xA3)
- 键码:223 (0xDF)
- “XF86邮件”
所有这些都试过了,唯一有效的是0xDF
. (<keybind key="0xDF">
在 openbox 配置中)
从数字来看,由于XF86WWW的键码是158,XF86Mail键盘上旁边的键可能最初的键码是163,但后来软件层改变了它。
我开始深入研究诸如xmodmap
, 和维基百科指南,但后来我不必了解发生了什么,xev
一旦我能够理解它,就可以单独给我解决方案。