ToolActToolAct

Teste de Teclado

Teste funcionalidade das teclas do teclado, exiba status das teclas e informações de valor em tempo real

Esc
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
`
1
2
3
4
5
6
7
8
9
0
-
=
Backspace
Tab
Q
W
E
R
T
Y
U
I
O
P
[
]
\
Caps
A
S
D
F
G
H
J
K
L
;
'
Enter
Shift
Z
X
C
V
B
N
M
,
.
/
Shift
Ctrl
Win
Alt
Space
Alt
Win
Menu
Ctrl

Histórico de Teclas

Pressione qualquer tecla para começar a testar...

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

  1. Foque o mouse na área de teste
  2. Pressione qualquer tecla do teclado
  3. Observe o destaque da tecla e o painel de informações
  4. 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

Diagnosticar teclas travadas ou com falha intermitentePressione teclas e observe o teclado virtual se iluminar a partir de eventos keydown e keyup reais. O painel da tecla atual expõe key, code, keyCode, which, localização, estado de modificadores e status de repetição, para que uma tecla que dispara duas vezes, falha no clique ou só registra no final do curso possa ser comparada com uma tecla conhecida como funcional antes de concluir que o teclado inteiro está com defeito.
Verificar comportamento de modificadores esquerdo/direito e teclado numéricoComo a ferramenta exibe a localização do KeyboardEvent, ela pode distinguir posições padrão, esquerda, direita e teclado numérico quando o navegador fornece essa informação. Isso ajuda ao testar fluxos de trabalho que dependem de atalhos, como Control esquerdo versus Control direito, Alt direito para AltGr, ou Enter do teclado numérico que o sistema operacional mapeia para um scan code diferente do Enter principal.
Registrar um histórico curto de eventos de teclaAs últimas 50 pressões de tecla sem repetição são mantidas em um histórico visível, facilitando comparar o que você pretendia pressionar com o que o navegador realmente recebeu. Os controles de limpar e resetar permitem executar testes focados sem atualizar a página, e o log de teclas é renderizado apenas na página local, para que qualquer conteúdo digitado sensível permaneça nesta aba.
Verificar N-key rollover e anti-ghosting em teclados gamerSegure várias teclas de letras simultaneamente e observe o painel de teclas ativas se iluminar em tempo real. Um teclado que registra apenas algumas das teclas pressionadas falha na alegação de anti-ghosting ou N-key rollover, pois o USB HID normalmente é limitado a 6KRO enquanto teclados PS/2 ou com n-key rollover reportam todas as 104 teclas; letras perdidas durante uma combinação WASD mais Shift é o sintoma clássico.
Distinguir layout do navegador do keymap físicoCompare o valor da tecla exibido com o code reportado para detectar incompatibilidades como um layout Dvorak produzindo codes QWERTY, ou um teclado não americano ainda emitindo valores centrados nos EUA de um layout desatualizado no sistema operacional. Isso é útil ao diagnosticar por que um atalho funciona no shell do sistema operacional, mas não dentro de uma aplicação web que escuta code em vez de key.

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: 0

Pressionando 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.