Ghosting en el teclado y N-key rollover explicados

El ghosting del teclado ocurre cuando una tecla que pulsas no se registra porque ya estás manteniendo otras teclas pulsadas. En un juego puede significar que no puedes correr en diagonal y saltar a la vez. Esta guía explica por qué se produce el ghosting en el teclado, qué significan N-key rollover y 6-key rollover, cómo hacer tú mismo un test de ghosting del teclado y qué promete de verdad el “anti-ghosting” de la caja.

Qué es el ghosting en el teclado

Microsoft, que estudió el problema al diseñar su teclado SideWinder X4, describe el ghosting como “el problema de que algunas teclas del teclado no funcionan cuando se pulsan varias teclas a la vez”. Su ejemplo les sonará a los gamers: no poder correr en diagonal y disparar al mismo tiempo, por ejemplo al pulsar A, W y G juntas.

Los términos se usan de forma imprecisa. En sentido estricto hay dos fallos distintos:

FalloQué ocurre
GhostingRegistra una tecla extra que no pulsaste
Jamming (bloqueo)Ignora una tecla que sí pulsaste

Wikipedia explica que los teclados modernos detectan las condiciones que crearían una tecla fantasma y, en lugar de registrarla, ignoran la tercera tecla. Eso es jamming, pero la mayoría de la gente, y la mayoría de las cajas de teclados, lo llaman ghosting.

Por qué los teclados hacen ghosting

La mayoría de los teclados no cablean cada tecla por separado. Microsoft describe el diseño habitual: láminas bajo las teclas con una cuadrícula impresa de pistas en filas y columnas, donde al pulsar una tecla se conecta una fila con una columna. El teclado deduce qué tecla pulsaste a partir de esa conexión.

Con dos teclas pulsadas no hay confusión. Con tres teclas en tres esquinas de un rectángulo de la cuadrícula, la corriente también puede pasar por una cuarta esquina, y el teclado no puede saber si esa cuarta tecla está pulsada. Según Microsoft, el teclado típico entonces “deja de enviar nuevas pulsaciones para no registrar teclas equivocadas”.

La solución es un diodo en cada tecla, para que la corriente solo pueda circular en un sentido. Microsoft señala que esto requiere una placa de circuito con más de cien diodos, lo que “es relativamente caro”. Los teclados más baratos reorganizan el cableado para que funcionen las combinaciones de juego más comunes, pero, como dice Microsoft, eso solo traslada el problema “a otros grupos de teclas, donde es menos probable que el usuario lo note”.

Las tres causas

Microsoft enumera tres puntos donde se pueden perder teclas pulsadas a la vez:

  1. La electrónica del teclado no puede distinguir qué teclas están pulsadas.
  2. La conexión entre el teclado y el ordenador limita cuántas teclas se pueden enviar.
  3. El software del ordenador no gestiona muchas teclas simultáneas, aunque el teclado las envíe correctamente.

N-key rollover y 6-key rollover

El rollover indica cuántas teclas puede registrar un teclado a la vez.

  • 2-key rollover: dos teclas cualesquiera funcionan juntas, pero una tercera puede fallar.
  • 6-key rollover (6KRO): hasta seis teclas normales más las teclas modificadoras.
  • N-key rollover (NKRO): Wikipedia lo define como un teclado que “puede detectar correctamente la entrada de cada tecla del teclado al mismo tiempo, sin importar cuántas otras teclas se estén pulsando también.”

De dónde viene el límite de seis teclas

Los teclados USB pueden comunicarse con un ordenador de dos maneras. Wikipedia explica que el protocolo de arranque (boot protocol) simple, que usan cosas como la BIOS del ordenador, está limitado a las ocho teclas modificadoras más un máximo de seis códigos de tecla. Los sistemas operativos usan el protocolo de informes (report protocol) más completo, que “no impone restricciones y admite n-key rollover completo”. El problema es que la especificación no obliga a que un teclado admita más, así que algunos teclados de gama baja mantienen igualmente el límite de seis teclas.

Algunos fabricantes siguen indicando un límite de seis teclas para sus teclados USB, así que revisa la especificación de tu modelo. Microsoft también señala que los teclados que usan su propio método de envío para superar las seis teclas pueden no funcionar del todo antes de que cargue el sistema operativo, por ejemplo en la BIOS.

¿Es lo mismo “anti-ghosting” que NKRO?

No necesariamente. Microsoft advierte que un teclado anunciado como anti-ghosting “puede referirse solo a que un subconjunto concreto de teclas del teclado funciona bien en conjunto”, y que las promesas de “hasta” un gran número de teclas pueden ocultar muchas combinaciones de tres teclas que fallan. Wikipedia añade que algunos teclados gaming solo dan diodos propios a las teclas de juego más usadas, como WASD y las flechas.

El tipo de switch por sí solo tampoco lo decide. Cherry afirma que los switches individuales de los teclados mecánicos evitan el ghosting, pero el rollover depende de cómo esté cableado el teclado y de cómo su controlador envíe las teclas. Revisa la especificación de rollover del modelo exacto en lugar de suponerla. Nuestra guía de teclados mecánicos vs. de membrana explica el resto de diferencias.

Cómo hacer un test de ghosting en el teclado

El consejo de la propia Microsoft para encontrar combinaciones problemáticas:

  1. Mantén pulsadas A, S, D y W, las teclas habituales de movimiento en los juegos.
  2. Mientras las mantienes, pulsa una por una todas las demás teclas.
  3. Si una tecla no se registra, suelta algunas de las cuatro teclas y vuelve a probar. A menudo encontrarás una combinación de tres teclas que falla.

Microsoft también señala que encontrar una combinación de seis teclas que funcione “no significa necesariamente que funcione cualquier combinación de 6”. Prueba las combinaciones que de verdad usas, como moverte más saltar, agacharte y recargar.

Qué puede mostrar un test en el navegador y qué no

Puedes ver cómo se registran las pulsaciones en cualquier página que las muestre, incluida la demostración online de ghosting de teclado de Microsoft. Un navegador solo ve lo que el teclado envió y lo que el sistema operativo transmitió, así que algunas teclas nunca llegan a una página web:

  • En Windows, los navegadores en general no pueden detectar la tecla Imprimir pantalla (Print Screen).
  • La tecla Windows mueve el foco al menú Inicio.
  • MDN indica que en macOS Bloq Mayús (Caps Lock) solo envía un evento keydown, y que macOS no admite Bloq Num.
  • Los lectores de pantalla pueden interceptar las pulsaciones, por lo que Microsoft recomienda desactivarlos durante la prueba.
  • Teclas como Fn suelen gestionarse dentro del propio teclado y puede que no aparezcan en absoluto.

Para medir la velocidad en lugar de las combinaciones, nuestro test de KPS cuenta cuántas teclas pulsas por segundo.

Qué hacer contra el ghosting

  • Cambia la asignación de teclas. Pasa una acción que falle a una tecla fuera del grupo problemático.
  • Busca un modo NKRO o gaming. Algunos teclados gaming permiten cambiar entre 6KRO y NKRO desde su software o con una combinación de teclas. Consulta el manual de tu modelo.
  • Prueba otro puerto USB u otro cable si un teclado que debería admitir NKRO se comporta como 6KRO, y actualiza el firmware o el software del teclado.
  • Compra según la especificación. Si juegas a juegos que necesitan muchas teclas a la vez, busca NKRO completo indicado para el modelo, no solo “anti-ghosting”.

Preguntas frecuentes

¿Qué es el ghosting en el teclado?

Es cuando una pulsación no se registra, o aparece una tecla que no pulsaste, porque se mantienen varias teclas a la vez. Se debe a la forma en que la mayoría de los teclados cablean sus teclas en una cuadrícula compartida.

¿Qué diferencia hay entre ghosting y jamming?

En sentido estricto, el ghosting es una tecla fantasma extra y el jamming es una tecla real que se ignora. Los teclados modernos suelen bloquear en lugar de hacer ghosting, pero a ambos se les suele llamar ghosting.

¿Qué significa N-key rollover?

NKRO significa que el teclado puede registrar todas las teclas a la vez, sin importar cuántas se pulsen. 6-key rollover significa hasta seis teclas normales más las modificadoras.

¿Anti-ghosting significa NKRO?

No siempre. Microsoft advierte que el anti-ghosting puede cubrir solo un grupo de teclas que funcionan bien juntas. Busca una cifra de rollover indicada, como NKRO, para el modelo exacto.

¿Cómo compruebo si mi teclado tiene ghosting?

Mantén pulsadas W, A, S y D, luego pulsa una por una todas las demás teclas y observa en un visor de teclas cuáles no se registran. Después prueba exactamente las combinaciones que usas en tus juegos.

¿Todos los teclados mecánicos tienen NKRO?

No. El rollover depende del cableado y del controlador del teclado, no solo de los switches. Revisa la especificación del modelo.

Fuentes