Diagnóstico de Hardware e Funcionamento do Teste de Teclado
O Keyboard Test funciona como um utilitário de diagnóstico interativo concebido para verificar a integridade física de qualquer teclado e analisar os dados técnicos gerados por cada interruptor. Ao pressionar qualquer tecla na página, o utilizador obtém uma resposta visual imediata que ajuda a distinguir comportamentos normais do sistema operativo de falhas reais de hardware, tais como teclas presas, interruptores desgastados ou problemas de ghosting.
O funcionamento do teste assenta em três métodos de introdução de dados:
- Pressões Físicas de Teclas: Capturadas de forma automática a partir de qualquer teclado quando se pressiona qualquer tecla em qualquer parte da página.
- Captura de Teclado Focada: Ativada ao clicar diretamente no mapa do teclado no ecrã. Este modo permite capturar teclas como Space, Tab e teclas de função sem que estas acionem as ações predefinidas do navegador (como saltar de campo ou abrir menus). Para sair deste modo de captura total, basta pressionar a tecla Esc.
- Introdução de Teclado no Ecrã: Uma área dedicada a dispositivos móveis onde o utilizador pode testar teclados virtuais introduzindo texto num campo específico.
Todos os dados de entrada são processados localmente e lidos apenas pela página web ativa para preencher o registo e os indicadores no ecrã. Nenhuma informação é armazenada ou carregada para servidores externos. Ao limpar o registo através do botão "Limpar registo" ou ao sair da página, todos os dados da sessão são permanentemente eliminados.
Leitura de Eventos e Propriedades Técnicas
Sempre que uma tecla é acionada, a secção "Último evento de tecla" detalha as propriedades exatas do evento capturado pelo navegador:
| Propriedade | Descrição e Valores Apresentados |
|---|---|
| Tecla | O valor dinâmico do caráter ou ação gerada (por exemplo, "a" ou "A"). |
| Código | O identificador físico e estático da posição da tecla (por exemplo, "KeyA"). |
| keyCode legado | O código numérico correspondente ao padrão depreciado de mapeamento de teclas. |
| Localização | Identifica o setor da tecla: "Padrão", "Esquerda", "Direita" ou "Teclado numérico". |
| Modificadores | Mostra "Nenhum" ou os modificadores ativos: "Shift", "Ctrl", "Alt", "Meta", "Caps Lock". |
Adicionalmente, cada evento exibe um indicador de estado "Premida" ou "Solta". Se uma tecla for mantida pressionada, o sistema ativa o mecanismo de autorrepetição, o qual é contabilizado no ecrã através do indicador "Repetição ×{count}", onde {count} representa o número de eventos de repetição gerados continuamente pelo sistema operativo.
O Mapa de Teclas e Estatísticas de Utilização
O utilitário apresenta um mapa visual baseado num esquema ANSI de tamanho completo. Este mapa serve para acompanhar o progresso do teste através de dois estados visuais distintos para as teclas:
- Premida: Destaca as teclas que se encontram atualmente carregadas pelo utilizador.
- Testada: Identifica todas as teclas que já foram pressionadas e registadas com sucesso desde o início do teste.
O painel de estatísticas acumula três métricas em tempo real para controlo do utilizador: "Teclas testadas" (o número de teclas físicas individuais acionadas), "Total de pressões" (a contagem absoluta de todos os eventos de pressão) e "Premida agora" (o número de teclas que estão a ser mantidas premidas em simultâneo).
É importante notar que o mapa visual possui limitações de layout por estar fixado no padrão ANSI. Teclas físicas que não constem neste desenho — como as teclas adicionais do padrão ISO (por exemplo, a tecla de menor/maior ao lado do Shift esquerdo), camadas Fn de computadores portáteis ou teclas de controlo multimédia — não acendem no mapa visual. No entanto, estas teclas continuam a ser perfeitamente detetadas pelo sistema, sendo exibidas na leitura de propriedades e no histórico de eventos.
O Registo de Eventos Detalhado
Abaixo do mapa de teclas, o "Registo de eventos" funciona como uma tabela cronológica detalhada que documenta o histórico de interações. Quando a tabela está vazia, exibe a mensagem "Sem eventos de teclas ainda — prima qualquer tecla.". Quando ativa, organiza os dados nas seguintes colunas:
- Hora: O carimbo de data/hora exato em que o evento ocorreu.
- Evento: O tipo de ação detetada, classificada como "Premida" ou "Solta".
- Tecla: O valor do caráter resultante.
- Código: O código físico da tecla.
- Modificadores: O estado dos modificadores no momento do evento.
Os eventos de autorrepetição gerados ao manter uma tecla pressionada incrementam apenas o contador no indicador de repetição do painel superior, não sendo adicionados como novas linhas à tabela para evitar a saturação do registo de eventos.
Diferença entre Tecla (Key) e Código (Code) no Desenvolvimento Web
Para programadores e criadores de aplicações web, compreender a diferença entre as propriedades KeyboardEvent.key e KeyboardEvent.code é fundamental para garantir a compatibilidade de atalhos e controlos de jogos.
A propriedade Tecla (key) é dinâmica. Ela reflete o caráter resultante da pressão após a aplicação do esquema de idioma ativo no sistema operativo e dos modificadores de escrita. Por exemplo, a mesma tecla física pode reportar "a" quando pressionada normalmente, "A" quando o Shift está ativo, ou um caráter completamente diferente se o utilizador alterar o esquema de teclado do sistema operativo (como mudar de QWERTY para AZERTY).
A propriedade Código (code) é estática. Ela representa a posição física da tecla no teclado, independentemente do idioma configurado ou dos modificadores ativos. A tecla física correspondente à letra "A" num teclado QWERTY reportará sempre "KeyA", mesmo que o sistema esteja configurado para outro idioma e o caráter gerado seja diferente. É por esta razão que os videojogos no navegador utilizam a propriedade code para mapear controlos de movimento (como as teclas WASD), garantindo que a disposição física se mantém correta para qualquer utilizador internacional.
Limitações de Captura e Dispositivos Móveis
Ao testar um teclado, existem cenários específicos em que os eventos de entrada podem não ser registados da forma esperada devido a restrições do sistema ou do navegador:
Atalhos Reservados do Sistema
Os sistemas operativos e os navegadores de Internet reservam certas combinações de teclas para funções globais (como Alt + Tab para alternar janelas, F11 para ecrã inteiro ou atalhos de fecho de separadores). Estas combinações são intercetadas pelo sistema antes de chegarem à página web, o que significa que o utilitário não as consegue registar. Para verificar o funcionamento dessas teclas, o utilizador deve testá-las individualmente e não em combinação.
Comportamento em Dispositivos Móveis
Os teclados virtuais em sistemas móveis (especialmente no sistema operativo Android) funcionam de forma diferente dos teclados físicos. Em vez de enviarem eventos de teclas individuais com códigos estruturados, os teclados no ecrã enviam frequentemente eventos genéricos de composição de texto. Isto resulta em leituras classificadas como "Unidentified" no painel principal. Para contornar esta limitação, o utilitário disponibiliza a secção "Verificação do teclado no ecrã", que contém o campo de texto com a indicação "Toque e escreva…". Ao focar este campo, o utilizador pode digitar caracteres e analisar o comportamento específico que o navegador móvel reporta.
Perguntas Frequentes
Qual é a diferença entre os valores de "key" e "code"?
O valor de "key" é o caráter ou ação que a pressão produz no momento — muda com o seu esquema e modificadores, pelo que a mesma tecla física reporta "a" ou "A", ou uma letra totalmente diferente noutro esquema de idioma. O valor de "code" nomeia a posição física (KeyA, ShiftLeft, Space) e nunca muda, razão pela qual os jogos e aplicações associam os seus atalhos ao código.
Porque é que o teclado do meu telemóvel mostra "Unidentified"?
Os teclados no ecrã — especialmente no Android — enviam frequentemente eventos genéricos sem valores de tecla reais, e a página só pode mostrar o que o browser reporta. Abra a verificação do teclado no ecrã sob o esquema para ver o que o seu teclado realmente envia; um teclado externo ou de portátil reporta todos os detalhes.
Uma tecla dispara continuamente enquanto a mantenho premida — está avariada?
Não. Manter uma tecla premida faz com que o sistema envie eventos de pressão repetidos, mostrados aqui com um indicador e contador de Repetição — isso é a autorrepetição normal. Os verdadeiros sinais de alerta são o padrão oposto: vários eventos a partir de um único toque rápido, ou um toque que não produz nenhum, o que aponta para um interruptor desgastado ou preso.
Porque é que algumas combinações de teclas não aparecem?
Os atalhos reservados pelo browser ou sistema operativo — fechar ou mudar de separadores e aplicações, ecrã inteiro, pesquisa do sistema — são intercetados antes que a página os possa ver, pelo que nunca aparecem aqui. Esse silêncio é normal, não se trata de uma tecla morta: teste as mesmas teclas uma de cada vez e cada uma irá registar-se individualmente.