KeyboardTest.io

Visionneuse d'événements clavier

0 événements
200 derniers gardés
ÉvénementkeycodekeyCodePos.ModificationRépét.Δ ms

Les événements s'affichent ici, récents en haut.

Actions par défaut

key, code et keyCode

3 propriétés

Un KeyboardEvent identifie un appui de trois façons. Sur un clavier AZERTY, la même touche physique qu'en QWERTY donne une autre valeur de key, le même code, et un keyCode qui suit la lettre.

PropriétéCe qu'elle donneQWERTYAZERTY
keyLe caractère tapé selon la disposition, ou le nom de la touche (Enter, Shift)qa
codeLa touche physique, quelle que soit la dispositionKeyQKeyQ
keyCodeUn ancien numéro, obsolète mais toujours envoyé8165
Utilisez code pour les raccourcis par position (ZQSD), et key pour le texte et les raccourcis par lettre.

location

4 valeurs

La propriété location indique de quel côté se trouve une touche en double, ou qu'une touche est sur le pavé numérique.

0 · StandardLa plupart des touches, présentes une seule fois sur le clavier
1 · GaucheMaj, Ctrl, Alt et Meta gauches
2 · DroiteMaj, Ctrl, Alt et Meta droites
3 · Pavé numériqueLes touches du pavé numérique, Entrée comprise

Méthodes d'entrée et keyCode 229

IME

Avec une méthode d'entrée chinoise, japonaise ou coréenne active, l'éditeur de méthode d'entrée (IME) prend les touches en premier. La page voit key « Process » et keyCode 229, et le texte arrive dans des événements de composition. En tapant ni pour un mot chinois :

  1. keydownkey « Process » · keyCode 229
  2. compositionstartLa méthode d'entrée commence un mot
  3. compositionupdatedata n, puis ni
  4. keydownEspace choisit un candidat
  5. compositionenddata est le mot choisi
  6. inputinputType insertCompositionText
Vérifiez isComposing avant de réagir à une touche, sinon l'Entrée qui choisit un mot envoie aussi le formulaire.

Touches de modification

getModifierState

Chaque événement porte les touches de modification maintenues à cet instant. getModifierState() indique aussi les touches de verrouillage.

ShiftshiftKey
ControlctrlKey
AltaltKey
MetametaKey (Windows, ou Commande sur Mac)
CapsLockÉtat du verrouillage, pas si la touche est enfoncée
NumLockÉtat du verrouillage, souvent inconnu sur Mac
AltGraphAlt Gr, l'Alt droite des dispositions françaises et européennes
ScrollLockRare sur les claviers actuels

Questions fréquentes

8 questions

Quelle différence entre event.key et event.code ?

Caractère ou touche physique

key est ce que la touche tape dans la disposition actuelle, comme a ou A. code est la touche physique, comme KeyQ, et reste le même dans toutes les dispositions. Cette visionneuse d'événements affiche les deux pour chaque appui.

Pourquoi keyCode vaut-il 229 ?

Une méthode d'entrée

Une méthode d'entrée (IME) traite la touche. key vaut « Process » et le texte arrive plus tard, dans les événements de composition et input. Tapez dans le champ pour les voir.

keyCode est-il obsolète ?

Oui

keyCode, which et charCode sont obsolètes, mais les navigateurs les envoient encore. Utilisez plutôt key ou code dans vos nouveaux projets.

Pourquoi Fn n'affiche-t-elle aucun événement ?

Jamais envoyée

Le clavier gère Fn lui-même et n'envoie aucun code de touche : aucune page web ne la reçoit. La touche appuyée avec Fn, comme F5 ou une touche de volume, s'affiche bien.

Pourquoi ne puis-je pas capter Ctrl+W ou Ctrl+T ?

Gardés par le navigateur

Le navigateur garde certains raccourcis pour lui : fermer l'onglet, nouvel onglet, nouvelle fenêtre. Bloquer les actions par défaut arrête la plupart des autres touches, comme Tab, F5 ou /, mais pas celles-ci.

Pourquoi une touche maintenue répète-t-elle keydown ?

Répétition automatique

Le système répète une touche maintenue. Chaque répétition est un keydown avec repeat à true, et un seul keyup arrive au relâchement.

Pourquoi des keyup manquent-ils sur Mac ?

Commande maintenue

Tant que Commande est maintenue, les navigateurs sous macOS n'envoient pas de keyup pour les autres touches, et aucun n'arrive non plus après le relâchement de Commande. Test clavier Mac →

Mes frappes sont-elles envoyées en ligne ?

Pas par le test

Les événements sont traités dans ce navigateur uniquement. Le code du test ne les envoie pas, et ils sont effacés quand vous fermez la page. Politique de confidentialité →