我的笔记本电脑键盘出现故障。当我打开终端时,我可以看到:
^[[17~^[[17~^[[17~^[[17~user@computer:~$ ~~~~~~~~ [...]
等等,有无数个波浪符号。
xev 显示 72 个键码事件。但是,如果我打开 gedit 窗口,则不会出现任何字符。
我如何才能检测哪个键被“按下”了?
答案1
xev
显示 72 个键码事件。[…] 我如何检测哪个键被“按下”了?
在我的 Kubuntu 16.04.3 LTS 中xev
不仅显示密钥代码。密钥代码为 72 的键在被持续按下时会xev
重复显示以下输出:
KeyPress event, serial 40, synthetic NO, window 0x3c00001,
root 0x2c4, subw 0x0, time 2544694, (173,-21), root:(173,8),
state 0x10, keycode 72 (keysym 0xffc3, F6), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0x3c00001,
root 0x2c4, subw 0x0, time 2544732, (173,-21), root:(173,8),
state 0x10, keycode 72 (keysym 0xffc3, F6), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
重要行及解释:
state 0x10, keycode 72 (keysym 0xffc3, F6), same_screen YES,
keycode obviously ^^ ^^ human-readable name
所以就是F6。