Code de la touche Control (Ctrl) en JavaScript

Pour Control (Ctrl), event.key vaut Control, event.code vaut ControlLeft / ControlRight et le keyCode déprécié vaut 17. Appuyez sur n’importe quelle touche dans le Key Code Finder pour voir ses valeurs en direct.

Mis à jour le

PropriétéValeur
event.keyControl
event.codeControlLeft / ControlRight
event.keyCode / which (déprécié)17

Comment détecter Control (Ctrl)

document.addEventListener('keydown', (event) => {
  if (event.key === 'Control') {
    // Control (Ctrl) 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 varient selon les navigateurs et les dispositions de clavier.

Comment les navigateurs gèrent Control (Ctrl)

Vérifiez event.ctrlKey pour les raccourcis. Sur Mac, les utilisateurs attendent plutôt Cmd : testez event.metaKey à cet endroit, ou acceptez les deux.

Avec React

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

Questions fréquentes

Quel est le keyCode de Control (Ctrl) ?
17. Il est toutefois déprécié : utilisez event.key (« Control ») ou event.code (ControlLeft) dans le nouveau code.
Quelle est la différence entre event.key et event.code ?
event.key correspond au 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 touches fléchées.