Os códigos de tecla para Caps Lock, Shift, Left Control e tecla FN?

3

Alguém pode fornecer os códigos-chave para essas chaves:

  • Caps Lock
  • Deslocamento à esquerda
  • Controle esquerdo
  • Chave de opção
  • FN

O código-chave do qual estou falando é algo nos moldes de \<Esc>[200~ , embora eu não tenha ideia do que isso gera. : P

Obrigado! Eu preciso disso para remapear algumas chaves no Vim, tmux etc.

    
por greduan 07.01.2013 / 04:48

2 respostas

5

Estas chaves não são enviadas para os terminais. Somente caracteres imprimíveis, teclas de função e combinações dessas teclas com modificadores são enviados para aplicativos de terminal (a maioria das teclas de função é enviada na forma de seqüências de escape iniciadas por ESC [ ). Teclas modificadoras (como CapsLock , Shift , etc.) são visíveis para aplicações GUI, mas não para aplicações de terminal. Você não poderá detectar a pressão dessas teclas no vim ou no tmux. Veja Qual é a meta key do bash? para mais informações.

Com o Fn em muitos laptops, é ainda pior: esta chave é manipulada pelo BIOS e nem visível para o sistema operacional.

    
por 08.01.2013 / 02:25
0

showkey despejará o código de qualquer tecla pressionada. Você provavelmente deseja showkey -s (embora nenhuma opção também funcione). Eu pressionei SHIFT (o 0x9a está ENTER voltando para cima):

$showkey -s
kb mode was in UNICODE
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]

press any key (program terminates 10s after last keypress)
0x9a
0x2a 0xaa

Como o aviso diz, não tente usar xterm (ou qualquer programa X). Precisa de um verdadeiro tty para ler.

    
por 07.01.2013 / 17:11