Ted*_*ddy 168
其他人提到过xev,这在您运行 X11 时很好。但是,当您在控制台时,showkey这就是您想要的。
如果您在 SSH 会话或真实终端中,则可以使用/usr/lib/ncurses/examples/demo_altkeys(在 Debian 中的 ncurses-examples 包中可用)。
请注意,“a”的 xev 给出 38,而“a”的 showkey 给出 30,因为 xev 报告扫描码,而 showkey 默认报告键码。
Chr*_*one 36
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:~$
Run Code Online (Sandbox Code Playgroud)
小智 31
我所知道的关于此功能的更好的命令是showkey,带参数-a.
你可以试试,然后Ctrl+D退出:
showkey -a
Run Code Online (Sandbox Code Playgroud)
小智 19
您也可以使用evtest. 在某些情况下,xev即使已经捕获了密钥,它也比显示密钥更好。
要在 Ubuntu/ Linux Mint下安装,请执行
sudo apt-get install evtest
Run Code Online (Sandbox Code Playgroud)
运行sudo evtest并选择设备编号。
示例输出:
$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Lid Switch
/dev/input/event1: Power Button
/dev/input/event2: Power Button
/dev/input/event3: AT Translated Set 2 keyboard
/dev/input/event4: ETPS/2 Elantech Touchpad
/dev/input/event5: Logitech Logitech G930 Headset
/dev/input/event6: Video Bus
/dev/input/event7: HDA Intel HDMI HDMI/DP,pcm=8
/dev/input/event8: HDA Intel HDMI HDMI/DP,pcm=7
/dev/input/event9: HDA Intel HDMI HDMI/DP,pcm=3
/dev/input/event10: HDA Intel PCH Headphone
/dev/input/event11: HDA Intel PCH Mic
/dev/input/event12: WebCam SC-10HDP12B24N
/dev/input/event13: ELAN Touchscreen
Select the device event number [0-13]: 5
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x46d product 0xa1f version 0x101
Input device name: "Logitech Logitech G930 Headset"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 114 (KEY_VOLUMEDOWN)
Event code 115 (KEY_VOLUMEUP)
Event code 163 (KEY_NEXTSONG)
Event code 164 (KEY_PLAYPAUSE)
Event code 165 (KEY_PREVIOUSSONG)
Event code 256 (BTN_0)
Event code 257 (BTN_1)
Event code 258 (BTN_2)
Event code 259 (BTN_3)
Event code 260 (BTN_4)
Event code 261 (BTN_5)
Event code 262 (BTN_6)
Event code 263 (BTN_7)
Event code 264 (BTN_8)
Event code 265 (BTN_9)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1412585327.807585, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00b5
Event: time 1412585327.807585, type 1 (EV_KEY), code 163 (KEY_NEXTSONG), value 1
Event: time 1412585327.807585, -------------- SYN_REPORT ------------
Event: time 1412585327.927557, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00b5
Event: time 1412585327.927557, type 1 (EV_KEY), code 163 (KEY_NEXTSONG), value 0
Event: time 1412585327.927557, -------------- SYN_REPORT ------------
Run Code Online (Sandbox Code Playgroud)
Den*_*son 13
如果您在 shell 提示符下,您可以按Ctrl-v然后按感兴趣的键来查看输出是什么。例如,在我的系统上,按Ctrl-v然后Right Arrow显示^[[C这意味着 Escape、左括号、C。
正如其他人所提到的,xev是 X11 的方法。
小智 6
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,
Run Code Online (Sandbox Code Playgroud)