Teclado NKRO e latência de entrada para jogos
Resumo (TL;DR)
O modo treinamento do Street Fighter 6 é um medidor de honestidade brutal para teclados baratos. Apertando rapidamente o movimento do Shoryuken do Ryu em uma membrana de borracha genérica de R$ 150 sem mods, dá para ouvir entradas sumirem — o controlador engole um direcional ou uma tecla de ataque porque sua matriz sem diodos não consegue resolver as pressões simultâneas. O fenômeno se chama ghosting. A contrapartida, chamada rollover, é simplesmente quantas teclas simultâneas o controlador consegue reportar de forma confiável. Teclados de orçamento apertado frequentemente param em cerca de duas ou três teclas; a maioria dos teclados USB implementa 6KRO no protocolo boot do USB HID (seis teclas normais mais modificadoras), e o verdadeiro N-Key Rollover (NKRO) exige estender o report HID além do formato de boot. Separadamente, a taxa de polling — 125, 500, 1000 ou 8000 Hz — controla com que frequência o host amostra o teclado. 1000 Hz virou o padrão prático para jogos; benefícios acima disso são reais mas difíceis de sentir sem medição rigorosa. Este guia passa por como a matriz e os diodos efetivamente tornam o rollover possível, como 1KRO/6KRO/NKRO parecem na prática, onde a taxa de polling importa e onde não importa, e como verificar o comportamento do próprio teclado com um teste de rollover no navegador e um monitor de taxa de polling.
Contexto e conceitos
Dentro de cada teclado há uma matriz: linhas e colunas de trilhas condutoras com um switch em cada interseção. Um controlador varre a matriz rápido o bastante para que o pressionar de uma tecla pareça instantâneo a um humano, mas o layout tem uma falha. Certas combinações de teclas pressionadas fecham um loop de interseções que faz o controlador enxergar teclas “fantasmas” que nunca foram pressionadas. A solução clássica é adicionar um diodo por switch para que a corrente só possa fluir em uma direção, o que elimina leituras fantasmas. Teclados sem diodos por switch não conseguem evitar ghosting estruturalmente e portanto ficam limitados a contagens baixas de rollover. O Wooting 80HE contorna a matriz inteiramente usando switches analógicos de efeito Hall que reportam a posição por tecla em um canal dedicado, o que é parte da razão pela qual teclados analógicos se tornaram populares entre jogadores de luta.
A especificação USB HID define um protocolo boot usado durante a inicialização do sistema, que carrega um report de formato fixo com até seis teclas normais mais teclas modificadoras. É por isso que 6KRO é o padrão amplo — é o máximo que o report compatível com boot pode carregar. Para reportar mais, um teclado ou adiciona uma segunda interface com um report baseado em bitfield, ou oferece um switch (físico ou por software) que alterna entre o modo compatível com boot e um modo NKRO completo. Placas Razer Huntsman e Corsair K70 tipicamente seguem a abordagem com toggle; Wooting e a maioria dos teclados com firmware customizado QMK/VIA apresentam NKRO como formato de report padrão.
A taxa de polling é um eixo separado: com que frequência o host pergunta ao teclado seu estado. 125 Hz é a cada 8 ms, 1000 Hz é a cada 1 ms. Polling mais rápido reduz a latência teórica, mas em um teclado real o tempo de debounce do switch e o ciclo de varredura interno geralmente dominam, então a diferença perceptível entre 500 Hz e 1000 Hz em tarefas de digitação é pequena. Polling ultra-alto de 8000 Hz é significativo quando emparelhado com debounce e lógica de varredura ajustados, o que é majoritariamente relevante para jogos competitivos.
Vale separar “latência da tecla ao report USB” de “latência do report USB ao jogo”. O teclado controla a primeira metade: o tempo do fechamento do contato elétrico até a emissão do report, dominado por debounce e varredura. O host controla a segunda metade: jitter da stack USB, fila de entrada do SO e quão rápido o jogo lê a entrada. Um teclado de 1000 Hz emparelhado com um motor de jogo que faz polling de entradas a 60 Hz produz, em média, um atraso de amostra do lado do jogo de cerca de 8 ms independentemente do que o teclado em si é capaz. É por isso que subir a taxa de polling sem também tratar a cadeia inteira — tick rate do jogo, atualização do display, polling do mouse — frequentemente falha em produzir a “sensação mais responsiva” que os usuários esperam.
Comparação e dados
| Critério | 1KRO | 6KRO | NKRO |
|---|---|---|---|
| Comum em | Membranas de entrada, alguns aparelhos compactos | Maioria dos teclados USB em modo padrão, modo boot HID | Teclados mecânicos e gamers de média a alta gama |
| Como descobrir | Duas ou três teclas simultâneas já falham | Até 6 estáveis, 7+ falham ou interferem com modificadores | 10+ teclas simultâneas todas reportadas corretamente |
| Impacto em jogos | Entradas de combo falham em títulos de luta e tiro | Adequado para a maioria dos gêneros, limitado para macros com modificadores empilhados | Vantajoso para luta, ritmo, RTS e qualquer coisa com combos densos |
A taxa de polling vive em um eixo separado do rollover, mas interage com a latência. Como o debounce do switch é tipicamente de alguns milissegundos, o salto de 125 Hz para 1000 Hz é mais significativo do que o salto de 1000 Hz para 8000 Hz. O último é real sob medição mas difícil de sentir na maioria do gameplay. Se você sai de um teclado de escritório barato a 125 Hz para uma placa NKRO a 1000 Hz como a Wooting 80HE ou a Razer Huntsman V3 Pro, a melhoria de rollover e a melhoria de polling ambas contribuem, e é fácil atribuir a diferença inteira a um fator só.
Teclados sem fio complicam o quadro de outra maneira. Dongles 2,4 GHz com protocolos proprietários podem igualar ou exceder 1000 Hz com fio em alguns modelos recentes, enquanto teclados Bluetooth tipicamente operam em taxas de polling efetivas menores e adicionam latência variável por causa do agendamento da camada de enlace. Para um fluxo centrado em digitação, Bluetooth costuma ser aceitável. Para jogos competitivos, uma conexão com fio ou 2,4 GHz sem fio de qualidade é uma escolha mais consistente. Especificações devem ser confirmadas por modelo em vez de assumidas.
Cenários reais
Cenário 1 — Jogos de luta e ritmo. Esses gêneros regularmente exigem entradas direcionais, de ataque e modificadoras simultâneas. 6KRO começa a mostrar seus limites quando a sétima ou oitava pressão envolve um modificador como Shift ou Ctrl, produzindo entradas perdidas que o jogador sente mas não consegue explicar facilmente. Street Fighter 6 e Guilty Gear Strive no teclado expõem isso imediatamente no modo treinamento, e a forma mais rápida de descartar ou confirmar NKRO é um teste de rollover no navegador; pressione todas as teclas relevantes de uma vez e veja se todas se iluminam na tela.
Cenário 2 — Digitação e trabalho de escritório. Nenhum humano realisticamente segura seis teclas ao mesmo tempo enquanto digita, então 6KRO é suficiente para digitação prática, e polling acima de 500 Hz oferece pouco benefício sentido para entrada de texto. No escritório, toque do switch, layout e acústica mudam a experiência muito mais do que o rollover.
Cenário 3 — Streaming e teclados de macro. Hotkeys do OBS e controladores de macro frequentemente disparam combinações como Ctrl+Alt+F12 em rápida sucessão. Taxa de polling e tempo de debounce importam aqui, mas o gargalo prático muitas vezes é o tratamento que o software host dá a hotkeys globais, não o teclado em si. Subir a taxa de polling sozinho pode mostrar pouca melhoria fim a fim se o caminho do software é onde o atraso mora.
Cenário 4 — Codificação e trabalho pesado em terminal. Teclados nível programador são frequentemente debatidos em termos de layout e toque do switch, mas o rollover ainda importa silenciosamente quando editores usam atalhos em acorde. Ferramentas que se ligam a sequências como Ctrl+Shift+Alt+letra precisam dessas quatro teclas reportadas simultaneamente, o que está dentro de 6KRO apenas se você contar modificadores corretamente. A maior parte das falhas de atalho em terminal não é problema de teclado, porém — são problemas de tradução de keycode do emulador de terminal, e descartar o teclado rapidamente com um teste de rollover deixa focar a investigação onde a causa realmente mora.
Equívocos comuns
“Todo teclado mecânico é NKRO.” Muitos são, mas nem todos. Alguns teclados mecânicos vêm por padrão em 6KRO com um toggle NKRO (frequentemente um atalho de firmware ou combinação de tecla Fn), e linhas mecânicas de entrada podem vir só com 6KRO. Verifique a especificação do produto para “USB NKRO” ou um número explícito de rollover. Modelos diferentes dentro da mesma linha da Razer ou Corsair podem diferir nesse ponto, então confie na página de spec do fabricante em vez do texto da caixa.
“Polling mais alto é sempre melhor.” Digitação é essencialmente a mesma a 500 Hz e 1000 Hz, e jogos competitivos tratam 1000 Hz como padrão há anos. Acima disso, os retornos diminuem rapidamente a menos que o resto da cadeia — mouse, driver, display, motor de jogo — esteja igualmente afinado. Não sentir diferença após subir a taxa de polling é normalmente normal em vez de defeituoso. 8000 Hz é significativo principalmente quando emparelhado com um display de 240 Hz+, um mouse de polling similar e um motor de jogo que consegue acompanhar; caso contrário, você está principalmente elevando interrupções de CPU sem benefício sentido.
“Teclas do escritório sendo engolidas significa que eu preciso de NKRO.” Teclas perdidas no escritório são mais frequentemente causadas por saltos em hubs USB, problemas de driver, switches sujos ou esquisitices de firmware do que por limites de 6KRO. Pule o hub, reinicie, limpe o teclado e atualize o firmware antes de culpar o rollover.
Checklist
- Abra uma página de teste de rollover de tecla no navegador. Pressione várias teclas ao mesmo tempo e confirme que cada uma delas acende.
- Escale de seis para mais de seis teclas. Se a sétima cai, você tem 6KRO. Se dez ou mais são todas reportadas, você tem NKRO.
- Se o NKRO for alternável, ative-o via firmware ou atalho Fn e re-teste.
- Rode um monitor de taxa de polling para verificar o período de polling real. Mesmo um teclado classificado em 1000 Hz pode ficar aquém na prática dependendo da stack USB do host e de qualquer hub no meio.
- Defina o alvo pelo gênero. Tiro, luta, ritmo: mire em NKRO. Digitação de escritório: 6KRO é suficiente.
- Se a latência percebida ainda for alta, investigue também os caminhos de display, áudio e rede. Entrada é apenas uma perna da latência total, e o gargalo real frequentemente está em outro lugar.
Ferramenta relacionada
A ferramenta de diagnóstico de teclado da Patrache Studio visualiza teclas pressionadas simultaneamente no navegador, o que torna imediata a identificação do teto de rollover. Para QA mais amplo de setup de jogos, combine-a com Teste de pixel morto em monitor: causas e regras de garantia para o lado do display, e com Latência de áudio: medindo atraso de microfone e alto-falante para a perna de áudio do orçamento total de entrada-para-feedback.
Referências
- Especificação USB HID — https://www.usb.org/hid
- Wooting, referência de implementação de NKRO — https://wooting.io/
- RTINGS, reviews de teclado — https://www.rtings.com/keyboard