показати клавіші, натиснуті в Linux


131

у Windows існує програма під назвою jedi, що показує, які клавіші натискаються на клавіатурі. є еквівалент для Linux?


1
Я шукав щось, що допомагає при екрані екранів ... екрані здаються схожими на те, що я хотів.
ftravers

Xev os чудовий варіант і, ймовірно, вже встановлений на
вашій

Відповіді:


124

Інші згадували xev, що добре, коли ви працюєте з X11. Однак, коли ти за консоллю, showkeyце те, що ти хочеш.

А якщо ви перебуваєте на сесії SSH або в реальному терміналі, можете скористатися /usr/lib/ncurses/examples/demo_altkeys(доступно в Debian в пакеті ncurses-example).


1
Ласкаво просимо до лав спортсменів-стеків .
Денніс Вільямсон

3
Ні робота в терміналі SSH.
anatoly techtonik

6
працювати навколо showkeyдає помилку про неодержання дескриптора файлу (як в коментарі по @anatolytechtonik), спробуйтеsudo showkey
pestophagous

1
@anatolytechtonik Відповідь відредаговано для додавання команди для сеансів SSH (та реальних терміналів).
Тедді,

5
@Johann xevповідомляє про скан- showkeyкоди, тоді як за замовчуванням звітує keycodes. sudo showkey -sзвітує про коди.
Нізам Мохамед

49

Також screenkey - засіб скріншоту, який відображає натискання клавіш на екрані.


1
Я спробував це, і це не показало мені клавіш, як збільшення / зменшення гучності.
Bas Peeters

Для мене це показує як регулювання яскравості, так і гучності. Чудова маленька програма в цілому!
joelostblom

Версія в сховищах Debian Stretch є давньою (а Stretch стабільна лише, idk, можливо, 2 місяці?). Використовуйте версію Github, щоб отримати деякі налаштування.
Люк

Репо був переселений у Гітлаб .
rkta


32
 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:~$ 

1
xev не показав мені Mx Anywhere 2 кнопки миші, цей метод відображав правильну кнопку.
sdkks

32

Якщо ви шукаєте щось, що графічно показує, яку клавішу натискаєте в даний момент (можливо, для кута екранізації), ключ-пн може бути квитком.


24

Краща команда, яку я знаю для цієї функціональності showkey, з параметром -a.

Ви можете спробувати та Ctrl+ Dдля виходу:

showkey -a

showkeyвже згадується в попередніх відповідях.
Дмитро Григор’єв

Але додаток -aкорисний, показуючи, як використовувати команду. Але повинен бути коментар тоді.
Стефан ван ден Аккер

sudo showkey -aпрацює і з ssh.
Нізам Мохамед

17

Ви також можете використовувати 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 ------------

1
Не працює з SSH. Схоже, її там /dev/inputвзагалі немає.
anatoly techtonik

12

Якщо у вас є запит на оболонку, ви можете натиснути Ctrl- vтоді ключ, що цікавить, щоб побачити, що таке вихід. Наприклад, у моїй системі натискання Ctrl- vтоді Right Arrowпоказує, ^[[Cщо означає Escape, Left Bracket, C.

Як вже згадували інші, xevце шлях для X11.



5
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,

6
Будь ласка, зверніться до того, як написати гарну відповідь
каламбур

xev -event keyboardповідомляє лише про події на клавіатурі.
Нізам Мохамед
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.