Buchstaben-Tastencodes in JavaScript

Jede Buchstabentaste mit ihrem event.key, event.code und dem veralteten keyCode. keyCode für Buchstaben ist der großgeschriebene ASCII-Code, 65 (A) bis 90 (Z), unabhängig davon, ob Shift gedrückt ist.

Aktualisiert am

Keyevent.keyevent.codekeyCode
Aa / AKeyA65
Bb / BKeyB66
Cc / CKeyC67
Dd / DKeyD68
Ee / EKeyE69
Ff / FKeyF70
Gg / GKeyG71
Hh / HKeyH72
Ii / IKeyI73
Jj / JKeyJ74
Kk / KKeyK75
Ll / LKeyL76
Mm / MKeyM77
Nn / NKeyN78
Oo / OKeyO79
Pp / PKeyP80
Qq / QKeyQ81
Rr / RKeyR82
Ss / SKeyS83
Tt / TKeyT84
Uu / UKeyU85
Vv / VKeyV86
Ww / WKeyW87
Xx / XKeyX88
Yy / YKeyY89
Zz / ZKeyZ90

Einen Buchstaben erkennen

document.addEventListener('keydown', (e) => {
  if (e.key.toLowerCase() === 's' && (e.ctrlKey || e.metaKey)) {
    e.preventDefault(); // Ctrl/Cmd + S
    save();
  }
});

Der Vergleich mit e.key.toLowerCase() berücksichtigt Shift und Feststelltaste. Für Spielsteuerungen, die auf jedem Layout an derselben Stelle bleiben sollen, vergleichst du stattdessen e.code ("KeyW", "KeyA", "KeyS", "KeyD").

Häufige Fragen

Ist event.key bei Buchstaben groß oder klein geschrieben?
Buchstaben folgen Shift und Feststelltaste: event.key ist normalerweise „a“ und mit Shift „A“. event.code bleibt in beiden Fällen KeyA.
Ändern sich Tastencodes mit dem Tastaturlayout?
event.key ändert sich mit dem Layout (auf einer französischen AZERTY-Tastatur tippt die Position A ein Q); event.code benennt immer die physische Taste.
Sollte ich keyCode noch verwenden?
Nein – es ist veraltet. Verwende event.key für Zeichen und event.code für Positionen.