mostra i tasti premuti in linux


131

in Windows esiste un programma chiamato Keyboard Jedi che mostra quali tasti vengono premuti sulla tastiera. esiste un equivalente per Linux?


1
Stavo cercando qualcosa che mi aiuti con i cast dello schermo ... lo screenkey sembra quello che volevo.
ftravers

Xev è un'ottima opzione e probabilmente è già installato sul tuo computer
DeFreitas

Risposte:


124

Altri hanno menzionato xev, il che è positivo quando si esegue X11. Quando sei alla console, tuttavia, showkeyè quello che vuoi.

E se sei in una sessione SSH o in un vero terminale, puoi usare /usr/lib/ncurses/examples/demo_altkeys(disponibile in Debian nel pacchetto ncurses-esempi).


1
Benvenuto nei ranghi degli Stack Athletes .
Dennis Williamson,

3
Né lavorare nel terminale SSH.
Anatoly Techtonik,

6
per aggirare showkeydando l'errore di non ottenere un descrittore di file (come nel commento di @anatolytechtonik), provaresudo showkey
pestofago

1
@anatolytechtonik Risposta modificata per aggiungere il comando per le sessioni SSH (e terminali reali).
Teddy,

5
@Johann xevriporta gli scancodes mentre showkeydi default riporta i keycode. sudo showkey -ssegnala scancodes.
Nizam Mohamed,

49

Anche screenkey , uno strumento screencast che visualizza i tasti premuti sullo schermo.


1
Ho provato questo e non mi ha mostrato tasti come il volume su / giù.
Bas Peeters,

Per me, questo mostra sia la luminosità che le regolazioni del volume. Ottimo piccolo programma nel complesso!
Joelostblom,

La versione nei repository di Debian Stretch è antica (e Stretch è stabile solo per, idk, forse 2 mesi?). Usa la versione di Github per ottenere alcune impostazioni.
Luc,

Repo è stato migrato su 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 non è riuscito a mostrarmi i pulsanti del mouse Mx Anywhere 2, questo metodo ha visualizzato il pulsante corretto.
sdkks,

32

Se stai cercando qualcosa che ti mostri graficamente quale tasto è attualmente premuto (forse per l'angolo di uno screencast), key-mon potrebbe essere il ticket.



17

Puoi anche usare evtest. In alcune situazioni meglio di xevcome mostra le chiavi anche quando la chiave è già stata acquisita.

Da installare sotto Ubuntu / Mint sudo apt-get install evtest.

Per eseguire sudo evteste selezionare il numero del dispositivo.

Esempio di output:

$ 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
Non funziona con SSH. Sembra che non ci sia /dev/inputaffatto lì.
Anatoly Techtonik,

12

Se sei al prompt di una shell, puoi premere Ctrl- vquindi il tasto di interesse per vedere qual è l'output. Ad esempio, sul mio sistema, premendo Ctrl- vquindi Right Arrowmostra ^[[Cche significa Escape, Left Bracket, C.

Come altri hanno già detto, xevè la strada da percorrere per 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
Si prega di fare riferimento a come scrivere una buona risposta
gioco di

xev -event keyboardriporta solo eventi da tastiera.
Nizam Mohamed,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.