Código de la tecla Meta (Cmd / Windows) en JavaScript

Para Meta (Cmd / Windows), event.key es Meta, event.code es MetaLeft / MetaRight y el obsoleto keyCode es 91. Pulsa cualquier tecla en el Buscador de códigos de tecla para ver sus valores en tiempo real.

Actualizado el

PropiedadValor
event.keyMeta
event.codeMetaLeft / MetaRight
event.keyCode / which (obsoleto)91

Cómo detectar la tecla Meta (Cmd / Windows)

document.addEventListener('keydown', (event) => {
  if (event.key === 'Meta') {
    // Meta (Cmd / Windows key) was pressed
  }
});

Usa event.key para reaccionar según el significado de la tecla (depende de la distribución del teclado) y event.code para su posición física, por ejemplo WASD en juegos. keyCode e which están obsoletas: siguen funcionando, pero sus valores varían entre navegadores y distribuciones.

Cómo tratan los navegadores la tecla Meta (Cmd / Windows)

Meta es Cmd en un Mac y la tecla Windows en los PC. Consulta event.metaKey. El sistema operativo suele reservarse los atajos con la tecla Windows. Firefox reportaba históricamente keyCode 224 para Cmd.

En React

<input onKeyDown={(e) => { if (e.key === 'Meta') { /* … */ } }} />

Preguntas frecuentes

¿Cuál es el keyCode de la tecla Meta (Cmd / Windows)?
91. Aunque está obsoleto: en código nuevo usa event.key (“Meta”) o event.code (MetaLeft).
¿Cuál es la diferencia entre event.key y event.code?
event.key es el carácter o la acción que produce la tecla con la distribución actual; event.code es la posición física de la tecla, igual en cualquier distribución.
¿Debo usar keydown o keypress?
keydown. El evento keypress está obsoleto y no se dispara con teclas que no producen caracteres, como Escape o las flechas.