Prueba de Teclado
Prueba la funcionalidad de las teclas del teclado, muestra el estado y la información de las teclas en tiempo real
Historial de Teclas
¿Qué es la Prueba de Teclado?
Una prueba de teclado comprueba si las pulsaciones llegan al navegador y cómo describe el navegador cada evento de tecla. Es útil cuando una tecla parece atascada, un atajo no funciona, el teclado de un portátil puede estar dañado o se quiere revisar rápidamente un teclado mecánico nuevo. La herramienta muestra datos como key, code, el antiguo keyCode, ubicación de la tecla, estado de repetición y modificadores como Ctrl, Shift, Alt o Meta. Esa información ayuda a distinguir fallos de hardware, diferencias de distribución y comportamiento del software: una misma tecla física puede producir caracteres distintos según el idioma del teclado. Atajos del sistema como Ctrl+Alt+Del o Alt+Tab normalmente no llegan a la página, por lo que su ausencia no indica necesariamente un fallo.
Cómo usar
Cómo usar
- Sitúa el cursor sobre el área de prueba
- Pulsa cualquier tecla del teclado
- Observa el resaltado de la tecla y el panel de información
- Consulta el historial de teclas abajo
Consejos
- El resaltado verde indica que la tecla funciona correctamente
- Se pueden probar todas las teclas estándar del teclado
- Soporta la detección de teclas modificadoras (Ctrl, Shift, Alt, Meta)
- Las teclas repetidas se marcan en el panel de información
Casos de uso
Principio técnico
El navegador expone los eventos de teclado a través de la interfaz KeyboardEvent: cada pulsación dispara un evento keydown y un evento keyup. KeyboardEvent lleva varias propiedades clave: key es el valor de carácter de la tecla (afectado por la distribución y el estado de Shift, p. ej. a vs A); code es el identificador de posición física (independiente de la distribución: KeyA es KeyA tanto en QWERTY como en AZERTY); keyCode es un valor numérico heredado (obsoleto pero aún presente en código antiguo); location indica la posición de la tecla (0 estándar, 1 izquierda, 2 derecha, 3 teclado numérico). Para detectar combinaciones, se escuchan los cuatro indicadores booleanos de modificadores ctrlKey, shiftKey, altKey, metaKey, p. ej. en Ctrl+C, ctrlKey=true y key='c'. El orden de disparo es keydown -> keypress (obsoleto) -> keyup; mientras se mantiene pulsada una tecla, keydown se sigue disparando y event.repeat=true. El desarrollo de videojuegos prefiere code (inmune a que el jugador cambie la distribución), mientras que los campos de entrada prefieren key (que proporciona el carácter real). N-key rollover (NKRO) significa que el hardware del teclado puede registrar cualquier número de teclas simultáneamente; los teclados USB normales están limitados a 6KRO por el protocolo USB HID: más de 6 teclas pulsadas a la vez comienzan a perder eventos. Los teclados mecánicos con interfaz PS/2 o controladores especializados pueden ofrecer NKRO real.
- KeyboardEvent.key es el valor de carácter ('a'/'A'/'Enter'), afectado por la distribución y Shift: úsalo en escenarios de campos de entrada.
- KeyboardEvent.code es el identificador de posición física ('KeyA'/'Digit1'), independiente de la distribución: úsalo para juegos y combinaciones de atajos.
- Valores de location: 0 estándar, 1 modificador izquierdo, 2 modificador derecho, 3 teclado numérico: útil para distinguir Shift, Ctrl, Alt izquierdos/derechos.
- Combinaciones: ctrlKey/shiftKey/altKey/metaKey son cuatro booleanos que indican el estado del modificador; combínalos con key para detectar Ctrl+C, Cmd+Shift+P, etc.
- event.repeat=true significa que una tecla mantenida se repite automáticamente; en pruebas de pulsación larga, usa este indicador para filtrar eventos repetidos.
- 6KRO frente a NKRO: el límite de 6 teclas simultáneas es una limitación del protocolo USB HID; los teclados mecánicos pueden alcanzar N-key rollover (NKRO) mediante PS/2 o un controlador dedicado.
Ejemplos
Pulsar una tecla de letra
Pulsar A -> key: "a", code: "KeyA", keyCode: 65, location: 0 (estándar)Pulsar una tecla de función
Pulsar F1 -> key: "F1", code: "F1", keyCode: 112, location: 0Pulsar una combinación
Pulsar Ctrl+C -> detectado Ctrl (code: "ControlLeft", location: 1) + C (code: "KeyC", ctrlKey: true)Preguntas frecuentes
¿Qué teclas detecta la prueba?
Casi cualquier tecla física para la que el navegador reciba un keydown: alfanuméricas, modificadoras (Shift/Ctrl/Alt/Meta), flechas, teclas de función F1-F24, teclado numérico y teclas multimedia (volumen, reproducción) en navegadores compatibles. Cada tecla pulsada se pone verde en el teclado en pantalla, así que puedes detectar las que no responden.
¿Por qué no se registra mi tecla Fn?
En la mayoría de los portátiles, Fn se gestiona a nivel de firmware y no produce un evento de teclado JavaScript: es normal y no es un defecto. Las combinaciones de la fila de funciones (Fn+F5, etc.) suelen producir solo la acción (subir volumen) sin un código de tecla. Usa un teclado de sobremesa o externo para probar esas teclas.
¿La prueba sirve para teclas atascadas o con rebote?
Sí. Pulsa una tecla una vez y observa cuántos eventos keydown se disparan. Un switch con rebote envía varios eventos en milisegundos. Algunas versiones de la página pueden listar las marcas de tiempo brutas de los eventos, lo que hace visible el rebote.
¿Cuál es la diferencia entre key, code y keyCode?
key es el valor ("a", "Shift", "Enter"). code es la posición física ("KeyA", "ShiftLeft"): igual en todas las distribuciones de teclado. keyCode es el ID numérico obsoleto (todavía se emite por compatibilidad). Usa 'code' para identificar teclas físicas independientemente de la distribución de idioma.
¿Puede probar el rollover de N teclas (NKRO)?
Parcialmente. La página muestra las teclas que están pulsadas, así que puedes apretar varias a la vez y ver cuántas se registran. Los teclados USB HID y PS/2 tienen distintos límites de ghosting; probar aquí da un resultado real en web, pero un probador dedicado (KeyTest de Aqua, Switch Hitter) es más fiable para mediciones serias.
¿Se registran las dead keys y las composiciones IME?
La composición IME (chino, japonés, coreano) suele suprimir los eventos de tecla subyacentes mientras compones. Desactiva el IME y usa el modo de entrada directa para probar teclas individuales. Las dead keys (acento agudo, diéresis en distribuciones europeas) emiten Dead seguido de la siguiente tecla combinada.
¿Se envía algo a un servidor?
No. Los eventos de tecla se procesan íntegramente en tu navegador. No se registra ni se transmite nada.