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.
| key | code | keyCode | location | modificadores |
|---|---|---|---|---|
| – | ||||
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
- Clique em qualquer lugar da página, ou toque na caixa, para ela receber o foco do teclado.
- 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.
- Pressione mais teclas. Cada uma é acrescentada à tabela Últimos toques com os mesmos cinco campos, a mais nova no topo, até 12 linhas.
- 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.
- key
- "a"
- code
- KeyA
A tecla à esquerda do S digita um a minúsculo.
- key
- "A"
- code
- KeyA
Mesma tecla física, mesmo code. Só o significado muda.
- 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.
| Pergunta | Use | Exemplo |
|---|---|---|
| Que caractere esta tecla vai digitar? | key | "a", "A", "ö", "?" |
| Qual é esta tecla física, qualquer que seja o idioma? | code | KeyA, Digit1, Backquote |
| Este é o Shift esquerdo ou o direito? | code, ou location | ShiftLeft, ShiftRight |
| Este é o Enter do teclado numérico? | code, ou location | NumpadEnter, location numérico |
| Que número o código antigo espera? | keyCode | 65, 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:
| Tecla | keyCode | code |
|---|---|---|
| A a Z | 65 a 90 | KeyA a KeyZ |
| 0 a 9 (fileira principal) | 48 a 57 | Digit0 a Digit9 |
| Numpad 0 a 9 | 96 a 105 | Numpad0 a Numpad9 |
| F1 a F12 | 112 a 123 | F1 a F12 |
| Enter | 13 | Enter ou NumpadEnter |
| Espaço | 32 | Space |
| Esc | 27 | Escape |
| Backspace | 8 | Backspace |
| Tab | 9 | Tab |
| Shift, Ctrl, Alt | 16, 17, 18 | ShiftLeft e assim por diante |
| Setas (esquerda, cima, direita, baixo) | 37, 38, 39, 40 | ArrowLeft, 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.
| Location | Significado | Teclas a que se aplica |
|---|---|---|
| padrão | A única cópia desta tecla | Letras, dígitos, teclas F, a maioria das outras |
| esquerda | A cópia do lado esquerdo | Shift, Ctrl, Alt, Windows ou Cmd |
| direita | A cópia do lado direito | Shift, Ctrl, Alt, Windows ou Cmd |
| numérico | Uma tecla do teclado numérico | Dí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.
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.
- Teste de tecladoTeste de teclado online e gratuito. Pressione qualquer tecla e veja-a acender. Nada para instalar, nada enviado.
- Teste de latência do tecladoMeça o tempo de reação, o tempo de pressão e a taxa de repetição.
- Teste de ghosting do tecladoPressione várias teclas ao mesmo tempo para achar ghosting e checar o rollover.