search

Found

info Aperçu

Appuyez sur une touche pour voir key, code, keyCode, location et modificateurs. Historique 50 et toggle preventDefault.

📘 Mode d'emploi

  1. Appuyer sur n'importe quelle touche de votre clavier pour déclencher l'événement
  2. Activer preventDefault pour bloquer les raccourcis natifs du navigateur (F12, etc.) pendant les tests
  3. Consulter les codes générés, l'historique et l'état des touches de modification

Visualiseur d'Événements Clavier

Appuyez sur une touche pour voir les détails de l'événement...

Shift
INACTIF
Ctrl
INACTIF
Alt
INACTIF
Meta / Win
INACTIF

Historique

key code which / keyCode Modificateurs
Article

Visualiseur d'Événements Clavier | Inspecteur Keycode & Raccourcis JavaScript

Ce testeur interactif permet de capturer et d'analyser en temps réel les événements clavier JavaScript (keydown, keyup). Destiné aux développeurs et ingénieurs web, il affiche avec précision les valeurs générées par chaque frappe pour faciliter la configuration de raccourcis. Toutes les données sont traitées localement dans votre navigateur, aucune information n'est envoyée à un serveur.

💡 Fonctionnalités principales

  • Analyse complète des propriétés JavaScript L'outil extrait instantanément les valeurs e.key (valeur logique), e.code (touche physique), e.which (code numérique historique) et e.location (position de la touche) de chaque événement déclenché.
  • Détection des touches de modification (Modifiers) Un panneau de suivi en temps réel indique l'état actif ou inactif des touches Shift, Ctrl, Alt et Meta/Win, une fonctionnalité indispensable pour configurer et déboguer des raccourcis complexes.
  • Activer preventDefault Une case à cocher permet d'appeler la fonction e.preventDefault(). Cela empêche le navigateur d'exécuter ses propres raccourcis natifs (par exemple : Ctrl+S pour sauvegarder, ou F5 pour rafraîchir) pendant que vous testez vos combinaisons.
  • Historique des saisies Un tableau consigne l'ordre et les données des 50 dernières frappes, facilitant l'étude des combinaisons rapides ou des macros. Cet historique peut être effacé à tout moment en un clic.

🧐 Foire aux questions (FAQ)

Q. Quelle est la différence fondamentale entre e.key et e.code ?

A. La propriété e.key renvoie le caractère final produit par la touche. Cette valeur dépend de la disposition logicielle de votre clavier (ex: AZERTY ou QWERTY) et de l'activation des majuscules. À l'inverse, e.code identifie la position physique matérielle de la touche sur le clavier, indépendamment de la configuration linguistique de l'utilisateur.

Q. Pourquoi la valeur e.which est-elle présente alors qu'elle est dépréciée ?

A. Bien que les propriétés e.which et e.keyCode soient officiellement obsolètes dans les normes web actuelles (DOM Level 3 Events), de nombreux systèmes d'entreprise et anciennes bibliothèques JavaScript (legacy) reposent encore sur ces valeurs numériques. Leur affichage sert exclusivement au débogage et à la rétrocompatibilité lors de la maintenance d'anciens scripts. Pour tout nouveau code, il est fortement conseillé de s'appuyer sur e.key ou e.code.

📚 Astuces techniques : L'impact du clavier AZERTY en développement web

Dans de nombreux pays francophones (France, Belgique, ou certains pays d'Afrique), la disposition de clavier AZERTY est la norme, contrairement à une grande partie du monde qui utilise le QWERTY. Cette spécificité matérielle a un impact direct sur le développement web, notamment dans la création d'interfaces riches, d'éditeurs en ligne ou de jeux sur navigateur.

Si vous programmez des contrôles directionnels basés sur les touches Z, Q, S et D (standard des joueurs francophones) en utilisant la condition e.key === 'z', le script ne fonctionnera pas de manière ergonomique pour un utilisateur international. La bonne pratique d'ingénierie consiste à utiliser e.code. En écrivant e.code === 'KeyW', vous ciblez l'emplacement physique exact de la touche (en haut à gauche de la zone alphabétique), qu'elle imprime un "Z" (AZERTY) ou un "W" (QWERTY). Ce visualiseur vous aide à cartographier ces comportements pour concevoir un code résilient et accessible à l'international.