Keycode tester: códigos de tecla en JavaScript
Pulsa cualquier tecla y mira exactamente lo que informa el navegador en su evento de teclado: el valor de la tecla, el código físico, el keyCode heredado, la ubicación, los modificadores pulsados, las teclas de bloqueo y el indicador de repetición. Útil para desarrollo web, para reasignar teclas y para identificar una tecla desconocida.
Pulsa cualquier tecla. Inicia la captura completa para inspeccionar también Tab, Espacio, las teclas F y los atajos (Esc dos veces o Detener para salir).
event.key- —
event.code- —
event.keyCode- —
event.location- —
Modificadores- —
Teclas de bloqueo activas- —
event.repeat- —
event.keyCode y event.which están obsoletos, pero los navegadores aún los informan; usa event.code para la tecla física y event.key para el carácter producido.
Registro de eventos (últimos 80)
| type | key | code | keyCode | location | repeat | Modificadores |
|---|
Cómo usar el keycode tester
- Pulsa cualquier tecla. El recuadro grande muestra el valor de la tecla y los campos de al lado muestran
event.key,event.code,event.keyCode,event.location, los modificadores pulsados, las teclas de bloqueo activas yevent.repeat. - Pulsa Iniciar captura completa para inspeccionar también las teclas que el navegador suele usar para sí mismo, como Tab, Espacio, las teclas F y muchos atajos. Pulsa Esc dos veces seguidas, o Detener, para salir.
- Abre el registro de eventos para ver en orden los últimos 80 eventos
keydownykeyup, por ejemplo para revisar una combinación de teclas. - Pulsa Copiar último evento (JSON) para pegar los valores en un informe de error o en tu código. Borrar registro vacía la lista.
Qué significa cada valor
key: el carácter o nombre de tecla producido, tras aplicar la distribución y los modificadores. Mayús+2 da"@"en una distribución de EE. UU. y'"'en una del Reino Unido.code: la tecla física, con el nombre de su posición en un teclado QWERTY de EE. UU. En un teclado AZERTY francés, la tecla rotulada A informaKeyQ. Úsalo para controles de juegos y atajos ligados a la posición.keyCode(ywhichen el JSON): números heredados, obsoletos pero aún informados. Cambian según la distribución y el navegador; en código nuevo es mejor usarkeyocode.location: 0 estándar, 1 izquierda, 2 derecha, 3 teclado numérico. Distingue Mayús, Ctrl, Alt y Meta izquierdas de las derechas, y las teclas del teclado numérico de la fila de números.- Modificadores y teclas de bloqueo: Control, Shift, Alt y Meta pulsadas durante el evento, y si Bloq Mayús, Bloq Num o Bloq Despl están activados, según informa
getModifierState(). repeat: sí en los eventos repetidos automáticamente mientras se mantiene una tecla.
Sorpresas habituales
Dead: las teclas de acento de muchas distribuciones internacionales, como la española, no producen ningún carácter hasta la siguiente tecla, así quekeyesDead.Processo keyCode 229: un método de entrada (por ejemplo para chino o japonés, o algunos teclados de teléfono) está componiendo texto y la tecla real queda oculta.- AltGr en Windows suele llegar como Control más Alt, así que puedes ver dos eventos y ambos modificadores.
- Tecla Command de Mac: mientras se mantiene Command, el navegador no informa cuándo se sueltan otras teclas.
codevacío oUnidentified: el teclado, el driver o la sesión remota no proporcionó una tecla física. La tecla Fn nunca aparece porque se gestiona dentro del teclado.
Límites
La página muestra lo que expone el navegador, después de que el sistema operativo y la distribución del teclado hayan procesado la tecla. No puede mostrar scan codes en bruto ni datos USB HID, no ve las teclas que el sistema operativo captura antes (como Ctrl+Alt+Supr) y no cambia ni reasigna teclas. Tampoco mide la latencia ni el polling rate del teclado. Para comprobar que funciona cada tecla de un teclado, usa el test de teclado; para varias teclas a la vez, el test de ghosting.
Preguntas frecuentes
¿Qué diferencia hay entre key y code?
code nombra la posición física de la tecla y no cambia con la distribución. key es lo que produce esa pulsación con la distribución y los modificadores actuales, por ejemplo a, A o @.
¿Sigue siendo seguro usar keyCode?
Los navegadores aún lo informan, pero está obsoleto y no es coherente entre distribuciones y navegadores. Usa event.key para caracteres y event.code para posiciones físicas.
¿Se envía a algún sitio lo que escribo?
No. Los eventos solo se muestran en esta página y desaparecen al cerrar la pestaña. Copiar el JSON lo pone en tu propio portapapeles.
Pruebas relacionadas
- Test de tecladoPulsa cada tecla y mira cuáles se registran, con distribuciones ANSI, ISO y Mac.
- Test de ghostingMantén varias teclas pulsadas a la vez y mira qué combinaciones puede informar tu teclado.
- Test de chatterEncuentra las teclas que escriben dos veces: cada pulsación se cronometra y se marcan las repeticiones demasiado rápidas para un dedo.
- Test de teclado numéricoPulsa cada tecla del teclado numérico y mira si se registra, con el estado de Bloq Num a la vista.
- Test de teclado MacTest de teclado con los nombres de tecla de Mac, para teclados de MacBook y el Magic Keyboard.
- Test de barra espaciadoraMira cuántas veces puedes pulsar la barra espaciadora en 5 a 60 segundos; mantenerla pulsada no cuenta.
- Test de teclado ChromebookTest de teclado con el mapa de un Chromebook: tecla de búsqueda, fila superior de acciones y flechas.