# Comprendre les événements clavier en JavaScript
Lorsqu'un utilisateur appuie sur une touche, le navigateur déclenche trois événements :keydown, keypress et keyup. Chacun expose des propriétés avec des informations sur la touche pressée, mais elles ne sont pas toutes équivalentes ni recommandées.# Propriétés clés de l'événement
event.code — La touche physique
Retourne l'identifiant de la position physique de la touche sur le clavier, en utilisant la nomenclature QWERTY. Par exemple, la touche "A" sur un clavier AZERTY retourne KeyQ. Idéal pour les contrôles de jeu où la position importe, pas le caractère.
event.key — Le caractère généré
Retourne la valeur du caractère généré selon la langue et les modificateurs actifs. Appuyer sur Shift+A retourne "A" ; sans Shift retourne "a". Pour les touches spéciales, retourne des noms comme "Enter", "Escape", "ArrowUp".
# Quand utiliser chaque propriété
event.code pour les contrôles de jeu (WASD indépendamment de la langue) et event.key pour détecter des caractères spécifiques ou des raccourcis sémantiques comme Ctrl+C. event.which et event.keyCode sont officiellement dépréciées selon le standard W3C. Bien que les navigateurs modernes continuent de les supporter par compatibilité, elles ne doivent pas être utilisées dans du nouveau code.