Tecla Meta (Cmd / Windows) em JavaScript: key code

Para a tecla Meta (Cmd / Windows), event.key é Meta, event.code é MetaLeft / MetaRight e o keyCode obsoleto é 91. Pressione qualquer tecla no Key Code Finder para ver os valores em tempo real.

Atualizado em

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

Como detectar a tecla Meta (Cmd / Windows)

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

Use event.key para reagir ao significado da tecla (ele segue o layout do teclado) e event.code para a posição física, por exemplo WASD em jogos. keyCode e which são obsoletos: ainda funcionam, mas seus valores variam entre navegadores e layouts.

Como os navegadores tratam a tecla Meta (Cmd / Windows)

Meta é o Cmd no Mac e a tecla Windows nos PCs. Confira event.metaKey. O sistema operacional costuma reservar os atalhos com a tecla Windows para si. O Firefox historicamente informava keyCode 224 para o Cmd.

No React

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

Perguntas frequentes

Qual é o keyCode da tecla Meta (Cmd / Windows)?
91. Ele é obsoleto, porém: use event.key (“Meta”) ou event.code (MetaLeft) em código novo.
Qual é a diferença entre event.key e event.code?
event.key é o caractere ou ação que a tecla produz com o layout atual; event.code é a posição física da tecla, igual em todos os layouts.
Devo usar keydown ou keypress?
keydown. O evento keypress é obsoleto e não dispara para teclas que não produzem caracteres, como Escape ou as teclas de seta.