Comment ça marche
Chaque appui déclenche un événement keydown et un keyup définis par la norme W3C UI Events. Le testeur lit event.code, qui nomme la position physique de la touche (par ex. KeyA ou ShiftRight) quelle que soit votre disposition, et event.key, le caractère ou la fonction que produit cette touche avec votre disposition et vos modificateurs actuels.
Le clavier à l’écran est une disposition ANSI complète avec la touche ISO supplémentaire à côté du Maj gauche. Les touches en dehors, comme les touches multimédias ou de langue, sont listées à part. Si le navigateur gère la Keyboard Map API, les lettres affichent les libellés de votre disposition (par ex. AZERTY).
event.key et event.code
Une même touche physique peut donner des valeurs différentes. Ces exemples montrent pourquoi les deux sont indiqués.
| Vous appuyez sur | event.key | event.code |
|---|---|---|
| A sur une disposition américaine | "a" | "KeyA" |
| A avec Maj | "A" | "KeyA" |
| La même touche sur une disposition AZERTY française | "q" | "KeyA" |
| Maj droite | "Shift" | "ShiftRight" |
| 1 du pavé numérique (Verr Num actif) | "1" | "Numpad1" |
Ghosting et rollover
Beaucoup de claviers câblent les touches en matrice : certaines combinaisons de trois touches ou plus ne sont pas toutes détectées. Une touche peut ne pas s’enregistrer (blocage) ou une touche non pressée peut apparaître (ghosting). « Maximum simultané » indique le plus grand nombre de touches signalées enfoncées ensemble. Les claviers gaming à n-key rollover signalent chaque touche ; les claviers USB en mode boot s’arrêtent souvent à six touches plus les modificateurs.
Conseils
- Une touche qui ne s’allume jamais alors que les autres oui est sans doute défectueuse ou encrassée ; une touche qui se déclenche deux fois pour un appui a peut-être des rebonds.
- Testez le rollover avec les combinaisons que vous utilisez vraiment, par ex. Z Q S D plus Maj et Espace dans les jeux.
- Le système d’exploitation intercepte certains raccourcis avant le navigateur ; ils ne peuvent pas être testés ici.
Normes et sources
- UI Events · W3C
- UI Events : valeurs de KeyboardEvent.code · W3C
- UI Events : valeurs de KeyboardEvent.key · W3C
- KeyboardEvent.code · MDN Web Docs
Dernière révision 18 octobre 2026
Questions fréquentes
Pourquoi une touche ne s’allume-t-elle pas ?
Soit la touche ou son interrupteur est défectueux, soit la touche n’atteint jamais le navigateur : Fn et les raccourcis système comme Win+L ou Cmd+Tab sont gérés par le système. Essayez la touche dans une autre application pour faire la différence.
Quelle différence entre event.key et event.code ?
event.code est la position physique de la touche et ne change pas avec la disposition ; event.key est ce que la touche saisit à ce moment, selon la disposition, Maj et les autres modificateurs. Sur AZERTY, la touche de code KeyQ donne donc la touche « a ».
Comment tester le n-key rollover ?
Maintenez des touches l’une après l’autre sans les relâcher. « Maximum simultané » indique le plus grand nombre signalé ensemble. Si une touche maintenue ne s’allume pas, le clavier a atteint sa limite pour cette combinaison.