Ghosting no teclado e N-key rollover explicados
Ghosting no teclado é quando uma tecla que você aperta não é registrada porque você já está segurando outras teclas. Em um jogo, isso pode significar não conseguir correr na diagonal e pular ao mesmo tempo. Este guia explica por que o ghosting no teclado acontece, o que significam N-key rollover e 6-key rollover, como fazer você mesmo um teste de ghosting no teclado e o que o “anti-ghosting” escrito na caixa realmente promete.
O que é ghosting no teclado?
A Microsoft, que estudou o problema ao projetar o teclado SideWinder X4, descreve o ghosting como “o problema de algumas teclas do teclado não funcionarem quando várias teclas são pressionadas ao mesmo tempo”. O exemplo é familiar para quem joga: não conseguir correr na diagonal e atirar ao mesmo tempo, por exemplo apertando A, W e G juntas.
Os termos são usados de forma imprecisa. A rigor, existem duas falhas diferentes:
| Falha | O que acontece |
|---|---|
| Ghosting | Registra uma tecla extra que você não apertou |
| Jamming (bloqueio) | Ignora uma tecla que você apertou |
A Wikipedia explica que os teclados modernos detectam as condições que criariam uma tecla fantasma e, em vez de registrá-la, ignoram a terceira tecla. Isso é jamming, mas a maioria das pessoas, e a maioria das caixas de teclado, chama isso de ghosting.
Por que os teclados têm ghosting
A maioria dos teclados não liga cada tecla separadamente. A Microsoft descreve o projeto mais comum: folhas embaixo das teclas com uma grade impressa de trilhas em linhas e colunas, em que apertar uma tecla conecta uma linha a uma coluna. O teclado descobre qual tecla você apertou a partir dessa conexão.
Com duas teclas pressionadas, não há confusão. Com três teclas em três cantos de um retângulo da grade, a corrente também pode passar por um quarto canto, e o teclado não consegue saber se essa quarta tecla está pressionada. Segundo a Microsoft, o teclado típico então “para de enviar novos toques para evitar enviar as teclas erradas”.
A solução é um diodo em cada tecla, para que a corrente só possa passar em um sentido. A Microsoft observa que isso exige uma placa de circuito com mais de cem diodos, o que “é relativamente caro”. Teclados mais baratos reorganizam a fiação para que as combinações mais comuns em jogos funcionem, mas, como diz a Microsoft, isso apenas transfere o problema “para outros conjuntos de teclas, onde é menos provável que o usuário perceba”.
As três causas
A Microsoft lista três pontos em que teclas pressionadas ao mesmo tempo podem se perder:
- A eletrônica do teclado não consegue identificar quais teclas estão pressionadas.
- A conexão entre o teclado e o computador limita quantas teclas podem ser enviadas.
- O software do computador não lida com muitas teclas simultâneas, mesmo quando o teclado as envia corretamente.
N-key rollover e 6-key rollover
Rollover descreve quantas teclas um teclado consegue registrar ao mesmo tempo.
- 2-key rollover: quaisquer duas teclas funcionam juntas, mas uma terceira pode falhar.
- 6-key rollover (6KRO): até seis teclas comuns mais as teclas modificadoras.
- N-key rollover (NKRO): a Wikipedia define como um teclado que “consegue detectar corretamente a entrada de cada tecla do teclado ao mesmo tempo, não importa quantas outras teclas também estejam sendo pressionadas.”
De onde vem o limite de seis teclas
Teclados USB podem se comunicar com um computador de duas formas. A Wikipedia explica que o protocolo de boot (boot protocol) simples, usado por coisas como a BIOS do computador, é limitado às oito teclas modificadoras mais no máximo seis códigos de tecla. Os sistemas operacionais usam o protocolo de relatório (report protocol), mais completo, que “não impõe restrições e suporta n-key rollover completo”. O problema é que a especificação não obriga o teclado a suportar mais, então alguns teclados de entrada mantêm o limite de seis teclas mesmo assim.
Alguns fabricantes ainda informam um limite de seis teclas para seus teclados USB, então confira a especificação do seu modelo. A Microsoft também observa que teclados que usam um método próprio de envio para passar de seis teclas podem não funcionar totalmente antes de o sistema operacional carregar, por exemplo na BIOS.
“Anti-ghosting” é o mesmo que NKRO?
Não necessariamente. A Microsoft alerta que um teclado vendido como anti-ghosting “pode se referir apenas a um subconjunto específico de teclas do teclado que funcionam bem juntas”, e que promessas de “até” um grande número de teclas podem esconder muitas combinações de três teclas que falham. A Wikipedia acrescenta que alguns teclados gamer só dão diodos próprios às teclas mais usadas em jogos, como WASD e as setas.
O tipo de switch sozinho também não define isso. A Cherry diz que os switches individuais dos teclados mecânicos evitam o ghosting, mas o rollover depende de como o teclado é ligado e de como o controlador envia as teclas. Confira a especificação de rollover do modelo exato em vez de supor. Nosso guia sobre teclado mecânico vs. membrana aborda as outras diferenças.
Como fazer um teste de ghosting no teclado
A própria Microsoft recomenda o seguinte para encontrar combinações problemáticas:
- Segure A, S, D e W, as teclas de movimento mais comuns nos jogos.
- Enquanto segura, aperte uma por uma todas as outras teclas.
- Se uma tecla não for registrada, solte algumas das quatro teclas e tente de novo. Muitas vezes você vai encontrar uma combinação de três teclas que falha.
A Microsoft também ressalta que encontrar uma combinação de seis teclas que funciona “não significa necessariamente que toda combinação de 6 funcione”. Teste as combinações que você realmente usa, como movimento mais pular, agachar e recarregar.
O que um teste no navegador consegue e não consegue mostrar
Você pode ver os toques sendo registrados em qualquer página que os exiba, incluindo a demonstração on-line de ghosting no teclado da Microsoft. O navegador só vê o que o teclado enviou e o que o sistema operacional repassou, então algumas teclas nunca chegam a uma página da web:
- No Windows, os navegadores geralmente não conseguem detectar a tecla Print Screen.
- A tecla Windows move o foco para o menu Iniciar.
- O MDN observa que, no macOS, o Caps Lock só envia um evento keydown, e o macOS não suporta Num Lock.
- Leitores de tela podem interceptar os toques, por isso a Microsoft sugere desligá-los durante o teste.
- Teclas como Fn costumam ser tratadas dentro do próprio teclado e podem nem aparecer.
Para medir a velocidade em vez das combinações, nosso teste de KPS conta quantas teclas você aperta por segundo.
O que fazer contra o ghosting
- Mude seus atalhos de teclas. Passe uma ação que falha para uma tecla fora do grupo problemático.
- Procure um modo NKRO ou gamer. Alguns teclados gamer permitem alternar entre 6KRO e NKRO no software ou com uma combinação de teclas. Confira o manual do seu modelo.
- Teste outra porta USB ou outro cabo se um teclado que deveria suportar NKRO se comportar como 6KRO, e atualize o firmware ou o software do teclado.
- Compre pela especificação. Se você joga jogos que exigem muitas teclas ao mesmo tempo, procure NKRO completo informado para o modelo, não apenas “anti-ghosting”.
Perguntas frequentes
O que é ghosting no teclado?
É quando um toque não é registrado, ou aparece uma tecla que você não apertou, porque várias teclas estão pressionadas ao mesmo tempo. Isso vem da forma como a maioria dos teclados liga suas teclas em uma grade compartilhada.
Qual é a diferença entre ghosting e jamming?
A rigor, ghosting é uma tecla fantasma extra e jamming é uma tecla real sendo ignorada. Teclados modernos geralmente bloqueiam em vez de gerar ghosting, mas os dois costumam ser chamados de ghosting.
O que significa N-key rollover?
NKRO significa que o teclado consegue registrar todas as teclas ao mesmo tempo, não importa quantas estejam pressionadas. 6-key rollover significa até seis teclas comuns mais as modificadoras.
Anti-ghosting significa NKRO?
Nem sempre. A Microsoft alerta que o anti-ghosting pode cobrir apenas um conjunto de teclas que funcionam bem juntas. Procure um valor de rollover informado, como NKRO, para o modelo exato.
Como testo se meu teclado tem ghosting?
Segure W, A, S e D, depois aperte uma por uma todas as outras teclas e observe em um visualizador de teclas quais não são registradas. Depois teste exatamente as combinações que você usa nos seus jogos.
Todos os teclados mecânicos têm NKRO?
Não. O rollover depende da fiação e do controlador do teclado, não só dos switches. Confira a especificação do modelo.