Code de la touche Meta (Cmd / Windows) en JavaScript

Pour Meta (Cmd / Windows), event.key vaut Meta, event.code vaut MetaLeft / MetaRight et l'ancienne keyCode vaut 91. Appuyez sur n'importe quelle touche dans le Key Code Finder pour voir ses valeurs en direct.

Mis à jour le

PropriétéValeur
event.keyMeta
event.codeMetaLeft / MetaRight
event.keyCode / which (déprécié)91

Comment détecter la touche Meta (Cmd / Windows)

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

Utilisez event.key pour réagir à la signification de la touche (elle suit la disposition du clavier) et event.code pour sa position physique, par exemple WASD dans les jeux. keyCode et which sont dépréciés : ils fonctionnent encore, mais leurs valeurs diffèrent selon les navigateurs et les dispositions de clavier.

Comportement des navigateurs avec la touche Meta (Cmd / Windows)

Meta correspond à Cmd sur Mac et à la touche Windows sur PC. Consultez event.metaKey. Le système d'exploitation réserve souvent les raccourcis de la touche Windows. Firefox a longtemps renvoyé keyCode 224 pour Cmd.

Dans React

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

Questions fréquentes

Quel est le keyCode de la touche Meta (Cmd / Windows) ?
91. Il est cependant déprécié : utilisez event.key (« Meta ») ou event.code (MetaLeft) dans le nouveau code.
Quelle est la différence entre event.key et event.code ?
event.key est le caractère ou l'action produit par la touche avec la disposition actuelle ; event.code est la position physique de la touche, identique sur toutes les dispositions.
Faut-il utiliser keydown ou keypress ?
keydown. L'événement keypress est déprécié et ne se déclenche pas pour les touches qui ne produisent pas de caractère, comme Échap ou les flèches.