Keycode tester : testeur de codes de touches

Appuyez sur n'importe quelle touche pour voir exactement ce que le navigateur transmet dans son événement clavier : la valeur key, le code physique, l'ancien keyCode, la position (location), les modificateurs maintenus, les verrouillages et l'indicateur repeat. Utile pour le développement web, le mappage de touches et l'identification d'une touche inconnue.

Appuyez sur n'importe quelle touche. Lancez la capture complète pour examiner aussi Tab, Espace, les touches F et les raccourcis (Échap deux fois ou Arrêter pour quitter).

—
event.key
—
event.code
—
event.keyCode
—
event.location
—
Modificateurs
—
Verrouillages actifs
—
event.repeat
—

event.keyCode et event.which sont obsolètes mais toujours transmis par les navigateurs ; utilisez event.code pour la touche physique et event.key pour le caractère produit.

Journal des événements (80 derniers)
typekeycodekeyCodelocationrepeatModificateurs

Comment utiliser le testeur de keycode

  1. Appuyez sur n'importe quelle touche. Le grand cadre affiche la valeur key et les champs à côté indiquent event.key, event.code, event.keyCode, event.location, les modificateurs maintenus, les verrouillages actifs et event.repeat.
  2. Appuyez sur Lancer la capture complète pour examiner aussi les touches que le navigateur utilise normalement lui-même, comme Tab, Espace, les touches F et de nombreux raccourcis. Appuyez deux fois rapidement sur Échap, ou sur Arrêter, pour quitter.
  3. Ouvrez le journal des événements pour voir les 80 derniers événements keydown et keyup dans l'ordre, par exemple pour vérifier une combinaison de touches.
  4. Appuyez sur Copier le dernier événement (JSON) pour coller les valeurs dans un rapport de bug ou dans du code. Effacer le journal vide la liste.

Ce que signifie chaque valeur

  • key : le caractère ou le nom de touche produit, après application de la disposition et des modificateurs. Maj+2 donne "@" en disposition américaine et '"' en disposition britannique.
  • code : la touche physique, nommée d'après sa position sur un clavier QWERTY américain. Sur un clavier AZERTY français, la touche marquée A envoie KeyQ. Utilisez-le pour les commandes de jeu et les raccourcis liés à la position.
  • keyCode (et which dans le JSON) : d'anciens numéros, obsolètes mais toujours transmis. Ils varient selon les dispositions et les navigateurs ; préférez key ou code dans du nouveau code.
  • location : 0 standard, 1 gauche, 2 droite, 3 pavé numérique. Elle distingue Maj, Ctrl, Alt et Meta gauche et droite, ainsi que les touches du pavé de la rangée de chiffres.
  • Modificateurs et verrouillages : Control, Shift, Alt et Meta maintenus pendant l'événement, et l'état de Verr Maj, Verr Num ou Arrêt défil, tels que transmis par getModifierState().
  • repeat : oui pour les événements répétés automatiquement tant qu'une touche est maintenue.

Surprises fréquentes

  • Dead : sur de nombreuses dispositions internationales, les touches d'accent ne produisent aucun caractère avant la touche suivante, donc key vaut Dead.
  • Process ou keyCode 229 : une méthode de saisie (par exemple pour le chinois ou le japonais, ou certains claviers de téléphone) est en train de composer du texte et la vraie touche est masquée.
  • AltGr arrive généralement sous Windows comme Control plus Alt : vous pouvez donc voir deux événements et les deux modificateurs.
  • Touche Commande du Mac : tant que Commande est maintenue, le navigateur ne signale pas le relâchement des autres touches.
  • code vide ou Unidentified : le clavier, le pilote ou la session à distance n'a fourni aucune touche physique. La touche Fn n'apparaît jamais, car elle est gérée à l'intérieur du clavier.

Limites

La page affiche ce que le navigateur expose, après traitement de la touche par le système d'exploitation et la disposition du clavier. Elle ne peut pas afficher les scancodes bruts ni les données USB HID, ne voit pas les touches que le système d'exploitation intercepte en premier (comme Ctrl+Alt+Suppr) et ne modifie ni ne remappe aucune touche. Elle ne mesure pas non plus la latence ou le taux de rapport du clavier. Pour vérifier que chaque touche d'un clavier fonctionne, utilisez le test de clavier ; pour plusieurs touches à la fois, le test de ghosting.

Questions

Quelle est la différence entre key et code ?

code désigne la position physique de la touche et reste identique quelle que soit la disposition. key est ce que produit cet appui avec la disposition et les modificateurs actuels, par exemple a, A ou @.

Peut-on encore utiliser keyCode ?

Les navigateurs le transmettent toujours, mais il est obsolète et incohérent d'une disposition et d'un navigateur à l'autre. Utilisez event.key pour les caractères et event.code pour les positions physiques.

Ce que je tape est-il envoyé quelque part ?

Non. Les événements s'affichent uniquement sur cette page et disparaissent quand vous fermez l'onglet. Copier le JSON le place dans votre propre presse-papiers.

Tests associés

Guides