# Capire gli eventi tastiera in JavaScript
Quando un utente preme un tasto, il browser attiva tre eventi:keydown, keypress e keyup. Ognuno espone proprietà con informazioni sul tasto premuto, ma non tutte sono equivalenti o consigliate.# Proprietà degli eventi tasto
event.code — Il tasto fisico
Restituisce l'identificatore della posizione fisica del tasto sulla tastiera, usando la nomenclatura QWERTY. Ad esempio, il tasto "A" su una tastiera AZERTY restituisce KeyQ. Ideale per i controlli di gioco dove conta la posizione, non il carattere.
event.key — Il carattere generato
Restituisce il valore del carattere generato in base alla lingua e ai modificatori attivi. Premendo Shift+A si ottiene "A"; senza Shift si ottiene "a". Per i tasti speciali restituisce nomi come "Enter", "Escape", "ArrowUp".
# Quando usare ciascuna proprietà
event.code per i controlli di gioco (WASD indipendentemente dalla lingua) e event.key per rilevare caratteri specifici o scorciatoie semantiche come Ctrl+C. event.which e event.keyCode sono ufficialmente obsolete secondo lo standard W3C. Sebbene i browser moderni continuino a supportarle per compatibilità, non dovrebbero essere usate nel nuovo codice.