Mostrar teclas presionadas en Linux


131

en windows hay un programa llamado keyboard jedi que muestra qué teclas se presionan en el teclado. ¿Hay un equivalente para Linux?


1
Estaba buscando algo que ayude con los lanzamientos de pantalla ... screenkey parece ser lo que quería.
ftravers

Xev es una gran opción y probablemente ya esté instalada en su máquina
deFreitas

Respuestas:


124

Otros han mencionado xev, lo cual es bueno cuando estás ejecutando X11. Cuando estás en la consola, sin embargo, showkeyes lo que quieres.

Y si está en una sesión SSH o en un terminal real, puede usar /usr/lib/ncurses/examples/demo_altkeys(disponible en Debian en el paquete ncurses-examples).


1
Bienvenido a las filas de los atletas de pila .
Dennis Williamson

3
Ninguno de los dos trabaja en la terminal SSH.
anatoly techtonik

66
para evitar showkeydar el error de no conseguir un descriptor de archivo (como en el comentario de @anatolytechtonik), intentesudo showkey
pestophagous

1
@anatolytechtonik Respuesta editada para agregar comandos para sesiones SSH (y terminales reales).
Teddy

55
@Johann xevreporta códigos de escaneo mientras que showkeypor defecto reporta códigos clave. sudo showkey -sreporta códigos de escaneo.
Nizam Mohamed

49

También screenkey , una herramienta de screencast que muestra las teclas presionadas en la pantalla.


1
Intenté esto y no me mostró teclas como subir / bajar volumen.
Bas Peeters

Para mí, esto muestra ajustes de brillo y volumen. ¡Un pequeño gran programa en general!
joelostblom

La versión en los repositorios de Debian Stretch es antigua (y Stretch es estable solo, idk, ¿2 meses quizás?). Use la versión de Github para obtener algunas configuraciones.
Luc

Repo fue migrado a Gitlab .
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 no pudo mostrarme los botones del mouse Mx Anywhere 2, este método muestra el botón correcto.
sdkks

32

Si está buscando algo que le muestre gráficamente qué tecla se presiona actualmente (tal vez para la esquina de un screencast), key-mon podría ser el boleto.



17

También puedes usar evtest. En alguna situación mejor que xevcomo muestra las claves, incluso cuando la clave ya está capturada.

Para instalar en ubuntu / mint sudo apt-get install evtest.

Para ejecutar sudo evtesty elegir el número de dispositivo.

Salida de ejemplo:

$ 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
No funciona con SSH. Parece que no hay /dev/inputnada allí.
anatoly techtonik

12

Si está en un indicador de comandos de shell, puede presionar Ctrl, vluego la tecla de interés para ver cuál es el resultado. Por ejemplo, en mi sistema, presionar Ctrl- vluego Right Arrowmuestra lo ^[[Cque significa Escape, Soporte izquierdo, C.

Como otros han mencionado, xeves el camino a seguir para 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,


xev -event keyboardinforma solo eventos de teclado.
Nizam Mohamed
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.