chris@retina:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ bcm5974 id=13 [slave pointer (2)]
⎜ ↳ Logitech Unifying Device. Wireless PID:1028 id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ FaceTime HD Camera (Built-in) id=11 [slave keyboard (3)]
↳ Apple Inc. Apple Internal Keyboard / Trackpad id=12 [slave keyboard (3)]
↳ daskeyboard id=10 [slave keyboard (3)]
↳ daskeyboard id=14 [slave keyboard (3)]
chris@retina:~$ xinput test 14
key release 36
key press 43
hkey release 43
key press 26
ekey release 26
key press 46
lkey release 46
key press 46
lkey release 46
key press 32
okey release 32
key press 37
key press 54
^C
chris@retina:~$
我知道这个功能比较好的命令是 showkey
,参数是-a
。
你也可以使用evtest
。在某些情况下,它比xev
更好,因为即使是在已经捕获了密钥的情况下,它也会显示密钥。
要在Ubuntu Linux Mint 下安装,请执行
sudo apt-get install evtest
运行sudo evtest
并选择一个设备号。
如果你在shell提示符下,你可以按Ctrl-v,然后按感兴趣的键,看看输出是什么。例如,在我的系统中,按Ctrl-v,然后右箭头显示^[[C
,表示Escape,左括号,C.
正如其他人所提到的,xev
是X11的方法。
你会想要 xev 。
xev | grep 'keycode'
state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
state 0x4, keycode 52 (keysym 0x7a, z), same_screen YES,
state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
state 0x0, keycode 54 (keysym 0x63, c), same_screen YES,
state 0x0, keycode 52 (keysym 0x7a, z), same_screen YES,
state 0x0, keycode 54 (keysym 0x63, c), same_screen YES,