Teste de Teclado
Teste funcionalidade das teclas do teclado, exiba status das teclas e informações de valor em tempo real
Histórico de Teclas
O que é Teste de Teclado?
Um teste de teclado verifica se as teclas pressionadas chegam ao navegador e como o navegador descreve cada evento. Ele ajuda quando uma tecla parece travada, um atalho não funciona, o teclado de um notebook pode estar danificado ou um teclado mecânico novo precisa de uma checagem rápida. A ferramenta mostra dados como key, code, o antigo keyCode, localização da tecla, estado de repetição e modificadores como Ctrl, Shift, Alt ou Meta. Essas informações ajudam a separar falhas de hardware, diferenças de layout e comportamento do software: uma mesma tecla física pode gerar caracteres diferentes conforme o idioma do teclado. Atalhos do sistema, como Ctrl+Alt+Del ou Alt+Tab, normalmente não chegam à página; isso não indica necessariamente defeito.
Como Usar
Como usar
- Foque o mouse na área de teste
- Pressione qualquer tecla do teclado
- Observe o destaque da tecla e o painel de informações
- Veja o histórico de teclas abaixo
Dicas
- O destaque verde indica que a tecla está funcionando corretamente
- Todas as teclas padrão do teclado podem ser testadas
- Suporta detecção de teclas modificadoras (Ctrl, Shift, Alt, Meta)
- Teclas pressionadas repetidamente serão marcadas no painel de informações
Casos de uso
Princípio técnico
O navegador expõe eventos de teclado através da interface KeyboardEvent: cada pressionamento dispara um evento keydown e um keyup. KeyboardEvent carrega várias propriedades-chave: key é o valor do caractere da tecla (afetado pelo layout e estado do Shift — ex. a vs A); code é o identificador de posição física (independente do layout — KeyA é KeyA tanto em QWERTY quanto em AZERTY); keyCode é um valor numérico herdado (descontinuado, mas ainda presente em código mais antigo); location indica a posição da tecla (0 padrão, 1 esquerda, 2 direita, 3 teclado numérico). Para detectar combinações, escute as quatro flags booleanas de modificadores ctrlKey, shiftKey, altKey, metaKey — ex. em Ctrl+C, ctrlKey=true e key='c'. A ordem de disparo é keydown -> keypress (descontinuado) -> keyup; enquanto uma tecla é mantida pressionada, keydown continua disparando e event.repeat=true. Desenvolvimento de jogos prefere code (imune ao jogador trocar de layout), enquanto campos de entrada preferem key (que fornece o caractere real). N-key rollover (NKRO) significa que o hardware do teclado pode registrar qualquer número de teclas simultaneamente; teclados USB comuns são limitados a 6KRO pelo protocolo USB HID — mais de 6 teclas pressionadas ao mesmo tempo começa a perder eventos. Teclados mecânicos com interfaces PS/2 ou drivers especializados podem entregar NKRO verdadeiro.
- KeyboardEvent.key é o valor do caractere ('a'/'A'/'Enter'), afetado pelo layout e Shift — use-o em cenários de campo de entrada.
- KeyboardEvent.code é o identificador de posição física ('KeyA'/'Digit1'), independente do layout — use-o para jogos e vinculação de atalhos.
- Valores de location: 0 padrão, 1 modificador esquerdo, 2 modificador direito, 3 teclado numérico — útil ao distinguir Shift, Ctrl, Alt esquerdo/direito.
- Combinações: ctrlKey/shiftKey/altKey/metaKey são quatro booleanos indicando estado do modificador; combine com key para detectar Ctrl+C, Cmd+Shift+P, etc.
- event.repeat=true significa que uma tecla mantida está em auto-repetição; em testes de pressionamento longo, use esta flag para filtrar eventos repetidos.
- 6KRO vs NKRO: 6-key rollover é um limite do protocolo USB HID; teclados mecânicos podem alcançar N-key rollover (NKRO) através de PS/2 ou driver dedicado.
Exemplos
Pressionando uma tecla de letra
Pressione A -> key: "a", code: "KeyA", keyCode: 65, location: 0 (padrão)Pressionando uma tecla de função
Pressione F1 -> key: "F1", code: "F1", keyCode: 112, location: 0Pressionando uma combinação
Pressione Ctrl+C -> detectado Ctrl (code: "ControlLeft", location: 1) + C (code: "KeyC", ctrlKey: true)Perguntas frequentes
Quais teclas o teste detecta?
Quase toda tecla física para a qual o navegador recebe um keydown: alfanuméricas, modificadoras (Shift/Ctrl/Alt/Meta), setas, teclas de função F1-F24, numérico, teclas multimídia (volume, reprodução) em navegadores compatíveis. Cada tecla pressionada fica verde no teclado virtual da tela, para você identificar teclas que não respondem.
Por que minha tecla Fn não está registrando?
Na maioria dos notebooks, a Fn é tratada no nível do firmware e não gera evento de teclado em JavaScript — isso é normal e não é um defeito. Combinações da linha de função (Fn+F5, etc.) muitas vezes geram apenas a ação (volume para cima) sem um keycode. Use um teclado de mesa ou um teclado externo para testar essas teclas.
O teste funciona para teclas travadas ou com chattering?
Sim. Pressione uma tecla uma vez e observe quantos eventos keydown são disparados. Um switch com chattering envia múltiplos eventos em milissegundos. Em algumas versões a página consegue listar timestamps brutos dos eventos, o que torna o chattering visível.
Qual a diferença entre key, code e keyCode?
key é o valor ("a", "Shift", "Enter"). code é a posição física ("KeyA", "ShiftLeft") — igual em qualquer layout de teclado. keyCode é o ID numérico depreciado (ainda emitido por compatibilidade). Use 'code' para identificar teclas físicas independentemente do layout do idioma.
Ele consegue testar n-key rollover (NKRO)?
Parcialmente. A página mostra as teclas atualmente pressionadas, então você pode pressionar várias ao mesmo tempo e ver quantas registram. Teclados USB HID e PS/2 têm limites de ghosting diferentes; testar aqui dá um resultado real no contexto web, mas um testador dedicado (Aqua's KeyTest, Switch Hitter) é mais autoritativo para medições mais sérias.
Dead keys e composições de IME registram?
A composição de IME (chinês, japonês, coreano) normalmente suprime os eventos de tecla subjacentes enquanto você compõe. Desligue o IME e use o modo de entrada direta para testar teclas individuais. Dead keys (acento agudo, trema em layouts europeus) emitem Dead seguido da próxima tecla combinada.
Algo é enviado para um servidor?
Não. Os eventos de tecla são processados inteiramente no seu navegador. Nada é registrado em log ou transmitido.