¿Qué tecla estoy pulsando?
Pulsa cualquier tecla y esta página muestra su event.key, event.code y el keyCode heredado. Por ejemplo, la tecla A da key "a", code "KeyA" y keyCode 65, y la tecla Enter da code "Enter" y keyCode 13.
Cómo se usa
- Haz clic en cualquier parte de la página y pulsa una tecla de tu teclado. No hace falta hacer clic en un cuadro de texto.
- Lee en el panel el nombre de la tecla, el código físico y el keyCode heredado. Mantén Mayús, Ctrl, Alt o Cmd para ver los modificadores, y deja una tecla pulsada para ver activarse el indicador de repetición.
- Usa Copiar para llevarte los valores a tu código. La lista de abajo guarda las últimas diez pulsaciones.
Cómo se calcula
Los navegadores envían un evento keydown por cada pulsación. event.key es el valor que produce la tecla, como "a", "A" o "Enter", y cambia con la distribución del teclado y con Mayús. event.code es la tecla física, como "KeyA", y no cambia entre distribuciones, por lo que es la mejor opción para los controles de un juego.
event.keyCode es el antiguo código numérico. Está obsoleto, pero sigue en scripts viejos y en código de la época de jQuery, por eso se muestra. Durante la composición con un método de entrada (IME) vale 229. event.location indica dónde está la tecla: 0 estándar, 1 izquierda, 2 derecha, 3 teclado numérico.
Para que la página no se desplace ni abra la ayuda mientras pruebas, la herramienta cancela la acción por defecto del navegador en casi todas las teclas. Tab, Escape, F5, F11, F12 y los atajos con Ctrl o Cmd no se tocan. Las teclas que gestiona el sistema operativo, como Fn, volumen o brillo, nunca llegan a la página.
Preguntas frecuentes
¿Qué diferencia hay entre event.key y event.code?
event.key es lo que escribe la tecla, así que depende de la distribución y de Mayús. event.code es la posición física. En un teclado francés AZERTY, la tecla en la posición de la Q da code "KeyQ" pero key "a". Usa code para controles de juego y key para atajos que dependen de un carácter.
¿Debo seguir usando keyCode?
No. keyCode y which están obsoletos. En código nuevo usa event.key o event.code. Los números se muestran para que puedas leer o arreglar scripts antiguos, donde, por ejemplo, 13 es Enter, 27 es Escape y 32 es Espacio.
¿Por qué sale 229 o "Process"?
Los métodos de entrada para chino, japonés, coreano y otros idiomas se quedan con la tecla mientras compones texto, así que el navegador informa 229. Cambia a una distribución en inglés si necesitas los valores directos.
¿Por qué no aparece mi atajo o tecla multimedia?
El sistema operativo o el navegador pueden quedarse con una tecla antes de que la vea la página. Ctrl+W, Alt+Tab, Cmd+Q y la fila Fn de muchos portátiles son ejemplos. Si la página no reacciona, esa tecla no llega al código web.