в windows есть программа под названием клавиатура джедай, которая показывает какие клавиши нажимаются на клавиатуре. есть ли эквивалент для Linux?
в windows есть программа под названием клавиатура джедай, которая показывает какие клавиши нажимаются на клавиатуре. есть ли эквивалент для Linux?
Ответы:
Другие упоминали xev
, что хорошо, когда вы работаете на X11. Однако когда вы находитесь за консолью, showkey
это то , что вы хотите.
И если вы находитесь на сеансе SSH или на реальном терминале, вы можете использовать его /usr/lib/ncurses/examples/demo_altkeys
(доступно в Debian в пакете ncurses-examples).
showkey
ошибку, связанную с отсутствием файлового дескриптора (как в комментарии @anatolytechtonik), попробуйтеsudo showkey
xev
сообщает о кодах сканирования, тогда как showkey
по умолчанию сообщает о кодах клавиш. sudo showkey -s
сообщает сканкоды.
Также screenkey , инструмент для показа экрана, отображающий нажатие клавиш на экране.
Есть xev
программа для графического режима. Man of xev здесь http://linux.die.net/man/1/xev
В Ubuntu / Debian он упакован в x11-utils
пакет.
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
.
Вы можете попробовать, и Ctrl+, Dчтобы выйти:
showkey -a
showkey
уже упоминалось в предыдущих ответах.
-a
полезно, показывая, как использовать команду. Но тогда должен быть комментарий.
sudo showkey -a
тоже работает с ssh.
Вы также можете использовать evtest
. В некоторых ситуациях лучше, чем xev
когда отображаются ключи, даже если ключ уже захвачен.
Для установки под Ubuntu / Mint sudo apt-get install evtest
.
Чтобы запустить 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 ------------
/dev/input
вообще нет.
Если вы получаете приглашение оболочки, вы можете нажать Ctrl- vзатем интересующую вас клавишу, чтобы увидеть, что выводится. Например, в моей системе нажатие Ctrl- vзатем Right Arrowпоказывает, ^[[C
что означает Escape, Left Bracket, 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,
xev -event keyboard
сообщает только о событиях клавиатуры.