code et keyCode de 120 touches
Les valeurs que donne un KeyboardEvent. code est la position physique et ne change jamais avec la disposition ; key est ce qui est tapé, et cela change.
code contre key
code est la position physique, identique sur un clavier coréen ou français. key est ce qui est tapé et change : le même emplacement donne a, A ou ㅁ. Pour « quelle touche a été pressée », prenez code ; pour « qu’est-ce qui a été saisi », key.
keyCode a été retiré du standard. Écrivez du code neuf avec code ou key ; les nombres d’ici servent à lire l’ancien code.
Lettres26
La position est fixée à KeyA. Même si un ㅁ coréen s’affiche, le code reste KeyA.
Chiffres10
La rangée des chiffres. Leurs keyCode diffèrent de ceux du pavé numérique.
Ponctuation12
C’est là que les valeurs de keyCode divergent selon le navigateur.
Pavé numérique16
location vaut 3 : c’est ce qui le distingue de la rangée des chiffres.
Touches F20
F1 vaut 112, F2 vaut 113, et ainsi de suite.
Navigation8
Elles n’écrivent rien et déplacent seulement le curseur.
Édition6
Effacer, insérer, passer à la ligne.
Modificateurs8
Seules elles ne font rien et se posent sur d’autres touches. Gauche et droite partagent un keyCode.
Verrouillage3
Une pression et l’état reste changé.
Système4
Des touches qui s’occupent des fenêtres et de l’écran.
Méthode de saisie7
Des touches qui changent la méthode de saisie — hangul, hanja et les touches de conversion japonaises.
Comment lire
- code, c’est la position ; key, le caractère tapé. Pour les raccourcis, comparez code.
- keyCode est obsolète : ne s’en servir que pour lire de l’ancien code.
- Maj gauche et droite partagent un keyCode et se distinguent par location.
- Le 1 de la rangée et le 1 du pavé numérique sont deux touches — 49 et 97.
Questions fréquentes
Q. Faut-il utiliser code ou key ?
code quand il faut la position, comme pour les raccourcis ; key quand il faut ce qui a été tapé. code résiste à un changement de disposition.
Q. Pourquoi éviter keyCode ?
Il a été retiré du standard et les navigateurs divergent sur les valeurs, surtout pour la ponctuation.
Q. Quel est le code de Entrée ?
keyCode 13, code Enter. L’Entrée du pavé numérique a le code NumpadEnter mais le même keyCode 13.
Q. Comment distinguer Maj gauche et droite ?
Pas par keyCode : les deux valent 16. Utilisez code (ShiftLeft, ShiftRight) ou location (1, 2).
Q. Le code est-il le même sur un clavier coréen ?
Oui. L’emplacement qui tape ㅁ renvoie toujours KeyA, car code désigne la position.