Keyboard Test
Português

Qual Tecla Estou Pressionando?

Pressione qualquer tecla e veja o nome, o code, o número keyCode antigo e se é a versão esquerda, direita ou do teclado numérico. Útil para teclas com a legenda apagada, remapeamento, atalhos de jogos e programação.

Pressione qualquer tecla. O nome, o código e a posição aparecem aqui.
Últimos toques
keycodekeyCodelocationmodificadores
–

Pressione qualquer tecla e a caixa abaixo diz qual tecla você está pressionando: o nome, o code, o keyCode numérico e se é a versão esquerda, direita ou do teclado numérico. O rótulo grande é o valor de key, a linha embaixo mostra code, keyCode e location, e a tabela guarda os seus últimos 12 toques.

Como usar o detector de teclas

  1. Clique em qualquer lugar da página, ou toque na caixa, para ela receber o foco do teclado.
  2. Pressione uma tecla. O rótulo grande mostra o nome da tecla; a linha embaixo mostra code, keyCode e location. Se você segurava Shift, Ctrl, Alt ou Meta, uma linha de modificadores os lista.
  3. Pressione mais teclas. Cada uma é acrescentada à tabela Últimos toques com os mesmos cinco campos, a mais nova no topo, até 12 linhas.
  4. Clique em Reiniciar para limpar a tela e a tabela.

Segurar uma tecla faz o sistema operacional repeti-la. As repetições atualizam o rótulo grande mas não entram na tabela, então um toque longo continua ocupando uma só linha. Espaço, Tab, Backspace, as setas para cima e para baixo, a barra e a tecla de aspas são capturadas para a página não rolar, mudar o foco nem abrir a busca rápida do navegador durante o teste. Teclas pressionadas junto com Ctrl ou Cmd seguem para o navegador como atalhos normais.

Key ou code: qual dos dois você precisa?

O navegador descreve cada toque de duas maneiras, e elas respondem a perguntas diferentes.

Layout US
key
"a"
code
KeyA

A tecla à esquerda do S digita um a minúsculo.

Layout US com Shift
key
"A"
code
KeyA

Mesma tecla física, mesmo code. Só o significado muda.

Layout AZERTY
key
"q"
code
KeyA

A mesma posição digita q em um teclado francês. O code continua KeyA.

key é o significado do toque no seu layout atual, com os modificadores aplicados. Pressione a tecla marcada A e o key é "a"; segure o Shift e vira "A"; mude para um layout alemão e a tecla ao lado do L passa a ser "ö". Teclas que não imprimem recebem nomes descritivos: Enter, Escape, ArrowLeft, Backspace, F5. O Espaço é mostrado nesta página como a palavra Space para ficar visível.

code é a posição física da tecla, nomeada pela legenda dela em um teclado americano e independente de layout, idioma e Shift. A tecla à esquerda do S é KeyA em qualquer teclado do mundo, mesmo em um AZERTY onde ela digita Q. A fileira de dígitos é Digit1 a Digit0, as teclas de função são F1 a F12, as teclas duplicadas têm o lado no nome (ShiftLeft, ControlRight) e o bloco numérico usa Numpad1, NumpadAdd, NumpadEnter e assim por diante.

PerguntaUseExemplo
Que caractere esta tecla vai digitar?key"a", "A", "ö", "?"
Qual é esta tecla física, qualquer que seja o idioma?codeKeyA, Digit1, Backquote
Este é o Shift esquerdo ou o direito?code, ou locationShiftLeft, ShiftRight
Este é o Enter do teclado numérico?code, ou locationNumpadEnter, location numérico
Que número o código antigo espera?keyCode65, 13, 32

Para controles de jogos, ferramentas de remapeamento e qualquer coisa que deva ter a mesma sensação em todo layout, use code. Para tratamento de texto, atalhos de busca e qualquer coisa que se importe com qual letra o usuário quis dizer, use key.

O que é o keyCode e por que ele ainda aparece

O keyCode é a forma original de os navegadores reportarem teclas: um único número por tecla, mais ou menos igual aos códigos de tecla virtual do Windows. Ele está obsoleto há anos, e os navegadores recomendam key ou code, mas nunca foi removido porque muito código existente depende dele. Tutoriais, engines de jogos mais antigas, scripts de validação de formulários e muitos plugins ainda comparam com números, e por isso as pessoas ainda os procuram.

Valores comuns, consistentes entre navegadores:

TeclakeyCodecode
A a Z65 a 90KeyA a KeyZ
0 a 9 (fileira principal)48 a 57Digit0 a Digit9
Numpad 0 a 996 a 105Numpad0 a Numpad9
F1 a F12112 a 123F1 a F12
Enter13Enter ou NumpadEnter
Espaço32Space
Esc27Escape
Backspace8Backspace
Tab9Tab
Shift, Ctrl, Alt16, 17, 18ShiftLeft e assim por diante
Setas (esquerda, cima, direita, baixo)37, 38, 39, 40ArrowLeft, ArrowUp, ArrowRight, ArrowDown

A pontuação é onde o keyCode desmorona. A tecla de ponto e vírgula reporta 186 no Chrome e no Edge mas 59 no Firefox, e a tecla de menos é 189 no Chrome e 173 no Firefox. As letras também reportam o mesmo keyCode com ou sem o Shift, então não dá para distinguir "a" de "A" só pelo keyCode. Se você está escrevendo código novo, leia code ou key e trate o keyCode mostrado aqui como referência para o script antigo que você mantém.

O que significa location

Várias teclas existem em dobro no teclado, e o location diz qual cópia foi pressionada. O navegador o reporta como um número; esta página o mostra como uma palavra.

LocationSignificadoTeclas a que se aplica
padrãoA única cópia desta teclaLetras, dígitos, teclas F, a maioria das outras
esquerdaA cópia do lado esquerdoShift, Ctrl, Alt, Windows ou Cmd
direitaA cópia do lado direitoShift, Ctrl, Alt, Windows ou Cmd
numéricoUma tecla do teclado numéricoDígitos Numpad, operadores, NumpadEnter, Num Lock

O location é mais útil para o Enter e os modificadores. O Enter principal e o Enter do bloco numérico têm o mesmo nome de tecla Enter e o mesmo keyCode, mas os codes são diferentes e o do bloco numérico reporta location numérico. Do mesmo modo, os dois Shift compartilham key e keyCode e só se distinguem por code e location. Se um jogo deixa você associar só um Shift e você não sabe qual deles ele escuta, pressione cada um e compare.

Os dígitos do bloco numérico merecem uma nota. Com o Num Lock ligado, Numpad7 tem o key "7"; com o Num Lock desligado, a mesma tecla física tem o key "Home", enquanto o code continua Numpad7 e o location continua numérico. A página do teste de teclado numérico trata disso em detalhe.

Motivos comuns para conferir qual tecla você está pressionando

Remapear teclas. Ferramentas como o PowerToys Keyboard Manager no Windows e o Karabiner-Elements no macOS identificam as teclas pela posição física, o que corresponde ao code. Pressione a tecla que você quer remapear, anote o code e procure por ele na ferramenta. Para teclas que têm o significado errado depois de uma troca de idioma, compare key com code: se o code está certo e o key está errado, é uma configuração de layout, não um defeito de hardware.

Teclas com a legenda apagada. Quando a legenda de uma tecla se apagou, pressione-a aqui e leia o valor de key. Para uma tecla que produz um símbolo com o Shift, pressione-a dos dois jeitos e os dois caracteres aparecem na tabela.

Controles de jogos. Os jogos costumam guardar os controles pela tecla física, e os menus de configuração às vezes mostram a tecla com um nome pouco familiar. Se um controle se recusa a registrar, pressione a tecla aqui para confirmar que o navegador a vê e para ver se é um modificador esquerdo ou direito ou uma tecla do bloco numérico que o jogo trata separadamente.

Escrever código. Os manipuladores de teclado em JavaScript recebem o mesmo evento que esta página lê: um KeyboardEvent com as propriedades key, code, keyCode e location. Pressione a tecla que você quer tratar, copie o valor de code para o seu manipulador e confira a linha de modificadores para ver quais flags serão definidas. Para teclas como Dead, Unidentified ou Process, a tabela mostra exatamente o que o seu manipulador vai receber naquele layout.

Conferir um teclado antes de comprar ou depois de um líquido derramado. Se uma tecla digita o caractere errado, esta página diz se o hardware está reportando a posição certa com o significado errado, que é um problema de layout, ou uma posição totalmente diferente, que é um problema de fiação ou firmware. Para conferir se todas as teclas registram, rode o teste de teclado completo.

Teclas que não aparecem

A tecla Fn é tratada dentro do teclado e nunca chega ao computador. No Windows, a tecla Windows abre o menu Iniciar e a Print Screen só reporta quando é solta, se é que reporta. Teclas de mídia, de brilho e as combinações de Fn de um notebook costumam agir no sistema sem gerar um evento de tecla que a página consiga ler. As teclas de trava registram: Caps Lock, Num Lock e Scroll Lock reportam cada uma um code, embora o macOS envie o Caps Lock só no toque e não na liberação. Se uma tecla que você espera ver continua em silêncio, tente-a primeiro em um editor de texto; se funciona lá e não aqui, é uma das teclas tratadas pelo sistema acima, e não um switch quebrado.

Algumas teclas nunca chegam à página: o sistema fica com a tecla Windows, Print Screen e as teclas de mídia, enquanto o A passa direto.

Testes de teclado relacionados

Esta página mostra um toque de cada vez com todos os detalhes. Para conferir se todas as teclas do teclado registram, use o teste de teclado da página inicial, que mapeia cada toque em um diagrama do seu layout. Se várias teclas pressionadas juntas não aparecem todas, o teste de ghosting do teclado mostra quais teclas de uma combinação chegam e quais são perdidas. E se uma tecla parece chegar atrasada em vez de errada, o teste de latência do teclado mede o tempo de reação para você comparar dois teclados.

Perguntas frequentes

Como descobrir qual tecla estou pressionando?

Clique nesta página e pressione a tecla. O rótulo grande mostra o nome da tecla, e a linha abaixo mostra o code, o keyCode e a posição. Os últimos 12 toques ficam na tabela abaixo, então você pode pressionar várias teclas em sequência e relê-las.

Qual é a diferença entre key e code?

O key é o significado do toque: o caractere que ele digita ou a ação que executa, como a, A, Enter ou ArrowUp. O code é a posição física da tecla, como KeyA ou Digit1, e não muda com o Shift nem com o idioma do teclado. Ao pressionar a mesma tecla com o Shift, o key muda e o code continua igual.

O keyCode ainda é usado?

O keyCode está obsoleto e os navegadores recomendam usar key ou code, mas ele ainda funciona e muito código antigo, tutoriais e engines de jogos dependem dele. É um número: 65 para A, 13 para Enter, 32 para Espaço, 27 para Esc. Os valores das teclas de pontuação podem variar entre navegadores, e esse é um dos motivos de ele ter sido substituído.

O que significa location?

O location diz qual das cópias de uma tecla duplicada você pressionou. Padrão é qualquer tecla com uma só cópia, esquerda e direita distinguem os dois Shift, Ctrl, Alt e Windows ou Cmd, e numérico significa que a tecla está no teclado numérico, então o Enter do bloco numérico e o principal podem ser distinguidos mesmo ambos tendo o nome de tecla Enter.

Por que a minha tecla aparece como Dead ou Unidentified?

Dead significa que a tecla é de acento no seu layout e espera a próxima letra antes de produzir um caractere, comum em layouts que têm til, acento agudo ou circunflexo. Unidentified significa que o navegador recebeu um evento de tecla que não soube associar a um nome conhecido, o que acontece com algumas teclas de mídia, de macro ou específicas do fabricante. Nos dois casos, os campos code e keyCode normalmente ainda identificam a tecla física.

Por que nada aparece quando pressiono Fn, Print Screen ou a tecla Windows?

A Fn é tratada dentro do teclado e nunca é enviada ao computador como tecla. A Print Screen no Windows e a tecla Windows são capturadas pelo sistema operacional antes de o navegador vê-las, assim como a maioria das teclas de mídia e de brilho. Nenhum desses casos significa que a tecla está quebrada; elas simplesmente não são visíveis para uma página web.

Posso usar isto para achar o código de tecla de um jogo ou de um script?

Pode. Pressione a tecla e use o valor de code para tudo que funciona com teclas físicas, como controles de jogos, AutoHotkey ou manipuladores de eventos em JavaScript, e o valor de key para o que se importa com o caractere digitado. Se uma biblioteca ou jogo ainda pede um keyCode numérico, o número aparece ao lado do code.

Mais testes de teclado

Cada teste abaixo verifica uma parte do seu teclado com mais detalhe.