Questão mostre as chaves pressionadas no linux


nas janelas há um programa chamado teclado jedi que mostra quais teclas são pressionadas no teclado. Existe um equivalente para o Linux?


101


origem


Eu estava procurando por algo que ajude com os lançamentos de tela ... screenkey parece o que eu queria. - ftravers


Respostas:


Além disso screenkey, uma ferramenta de screencast que exibe as teclas sendo pressionadas na tela.


34



Eu tentei isso e não me mostrou teclas como volume para cima / baixo. - Maneating Koala
Para mim, isso mostra os ajustes de brilho e volume. Ótimo pequeno programa geral! - Joel Ostblom
A versão nos repositórios do Debian Stretch é antiga (e o Stretch é estável apenas por, idk, 2 meses talvez?). Use a versão do Github para obter algumas configurações. - Luc


Outros mencionaram xev, o que é bom quando você está executando o X11. Quando você está no console, no entanto, showkey é o que você quer.

E se você estiver em uma sessão SSH ou em um terminal real, poderá usar /usr/lib/ncurses/examples/demo_altkeys (disponível no Debian no pacote ncurses-examples).


94



Bem-vindo às fileiras do Empilhar Atletas. - Dennis Williamson
Nenhum trabalho no terminal SSH. - anatoly techtonik
para contornar showkey dando o erro sobre não obter um descritor de arquivo (como no comentário de @anatolytechtonik), tente sudo showkey - pestophagous
@anatolytechtonik Resposta editada para adicionar o comando para sessões SSH (e terminais reais). - Teddy
@Johann xev relata scancodes enquanto showkey por padrão, informa códigos de tecla. sudo showkey -s relata scancodes. - Nizam Mohamed


Há sim xev programa para modo gráfico. O homem do xev está aqui http://linux.die.net/man/1/xev No ubuntu / debian é empacotado em x11-utils pacote.


35





Se você estiver procurando por algo que mostre graficamente qual tecla é pressionada atualmente (talvez para o canto de um screencast), chave-mon pode ser o ingresso.


26



Isso é o que eu estava procurando. Obrigado! - Alexandre Neto
Novo link: github.com/scottkirkwood/key-mon - phk


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

26



xev não conseguiu me mostrar Mx Anywhere 2 botões do mouse, este método exibido botão correto. - sdkks


O melhor comando que eu conheço para essa funcionalidade é showkey, com o parâmetro -a

Você poderia tentar e Crtl = D para sair.

showkey -a


15



showkey já foi mencionado nas respostas anteriores. - Dmitry Grigoryev
Mas a adição -a é útil, mostrando como usar o comando. Mas deveria ser um comentário então. - Stefan van den Akker
sudo showkey -a trabalha com o ssh também. - Nizam Mohamed


Você também pode usar evtest. Em alguma situação melhor que xev como mostra as teclas mesmo quando a tecla já está capturada.

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

Para correr sudo evtest e escolha o número do dispositivo.

Exemplo de saída:

$ 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 ------------

11



Não funciona com o SSH. Parece que não há /dev/inputde todo lá. - anatoly techtonik


Se você está em um prompt de shell, você pode pressionar Ctrl-v então a chave de interesse para ver qual é a saída. Por exemplo, no meu sistema, pressionando Ctrl-v então Seta direita mostra ^[[C o que significa Escape, Left Bracket, C.

Como outros já mencionaram, xev é o caminho a percorrer para o X11.


10





Você estaria querendo xev.


4





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,

3



Por favor, consulte como escrever uma boa resposta - pun
xev -event keyboard reporta apenas eventos de teclado. - Nizam Mohamed