KeyboardTest.io

Visualizador de eventos do teclado

0 eventos
Últimos 200 guardados
EventokeycodekeyCodeLoc.Modif.Rep.Δ ms

Os eventos aparecem aqui, o mais novo primeiro.

Ações padrão

key, code e keyCode

3 propriedades

Um KeyboardEvent identifica um toque de três jeitos. Em um teclado francês AZERTY, a mesma tecla física dá outro valor de key, o mesmo code, e um keyCode que muda com a letra.

PropriedadeO que dáQWERTYAZERTY
keyO caractere que o layout digita, ou o nome da tecla (Enter, Shift)qa
codeA tecla física, qualquer que seja o layoutKeyQKeyQ
keyCodeUm número antigo, obsoleto mas ainda enviado8165
Use code para atalhos por posição (WASD), e key para texto e atalhos por letra.

location

4 valores

A propriedade location diz de que lado fica uma tecla que tem par, ou que a tecla está no teclado numérico.

0 · PadrãoA maioria das teclas, que aparecem uma vez no teclado
1 · EsquerdaShift, Ctrl, Alt e Meta esquerdos
2 · DireitaShift, Ctrl, Alt e Meta direitos
3 · NuméricoTeclas do teclado numérico, Enter incluído

Métodos de entrada e keyCode 229

IME

Quando um método de entrada chinês, japonês ou coreano está ligado, ele pega as teclas antes. A página vê key “Process” e keyCode 229, e o texto chega em eventos de composição. Digitando ni para uma palavra chinesa:

  1. keydownkey “Process” · keyCode 229
  2. compositionstartO método de entrada começa uma palavra
  3. compositionupdatedata n, depois ni
  4. keydownEspaço escolhe um candidato
  5. compositionenddata é a palavra escolhida
  6. inputinputType insertCompositionText
Confira isComposing antes de agir sobre uma tecla, senão o Enter que escolhe a palavra também envia o formulário.

Teclas modificadoras

getModifierState

Cada evento traz as modificadoras seguradas naquele instante. getModifierState() também informa as teclas de trava.

ShiftshiftKey
ControlctrlKey
AltaltKey
MetametaKey (Windows, ou Command no Mac)
CapsLockEstado da trava, não se a tecla está pressionada
NumLockEstado da trava, muitas vezes desconhecido no Mac
AltGraphAlt direito em muitos layouts europeus
ScrollLockRaro nos teclados atuais

Perguntas frequentes

8 perguntas

Qual a diferença entre event.key e event.code?

Caractere vs. tecla física

key é o que a tecla digita no layout atual, como a ou A. code é a tecla física, como KeyA, e fica igual em qualquer layout. Este visualizador de eventos mostra os dois para cada toque.

Por que o keyCode é 229?

Método de entrada

Um método de entrada (IME) está tratando a tecla. key mostra “Process” e o texto vem depois, em eventos de composição e de input. Digite no campo para vê-los.

O keyCode está obsoleto?

Sim

keyCode, which e charCode estão obsoletos, mas os navegadores ainda os enviam. Código novo deve ler key ou code.

Por que a Fn não mostra nenhum evento?

Nunca é enviada

O próprio teclado trata a Fn e não envia código de tecla, então nenhuma página web a recebe. A tecla que você pressiona com a Fn, como F5 ou uma tecla de volume, aparece.

Por que não consigo pegar Ctrl+W ou Ctrl+T?

O navegador os reserva

O navegador guarda alguns atalhos para si: fechar aba, nova aba, nova janela. Bloquear as ações padrão segura a maioria das outras teclas, como Tab, F5 ou /, mas não estas.

Por que uma tecla segurada continua disparando keydown?

Repetição automática

O sistema repete uma tecla segurada. Cada repetição é um keydown com repeat true, e um keyup vem ao soltar.

Por que faltam alguns keyup no Mac?

Command segurado

Enquanto o Command está segurado, os navegadores do macOS não enviam keyup das outras teclas, e nenhum chega depois que o Command é solto. Teste de teclado Mac →

Isto envia o que eu digito?

O teste não envia

Os eventos são tratados só neste navegador. O código do teste não os envia, e eles são apagados quando você fecha a página. Política de privacidade →