KeyboardTest.io

Tastatur-Ereignisanzeige

0 Ereignisse
Die letzten 200 bleiben
EreigniskeycodekeyCodeOrtModifierWdh.Δ ms

Alle Tastaturereignisse hier, neueste oben.

Standardaktionen

key, code und keyCode

3 Eigenschaften

Ein KeyboardEvent kennzeichnet einen Druck auf drei Arten. Auf einer französischen AZERTY-Tastatur gibt dieselbe physische Taste einen anderen key-Wert, denselben code und einen keyCode, der dem Buchstaben folgt.

EigenschaftWas sie angibtQWERTYAZERTY
keyDas Zeichen, das das Layout tippt, oder der Name der Taste (Enter, Shift)qa
codeDie physische Taste, unabhängig vom LayoutKeyQKeyQ
keyCodeEine alte Zahl, veraltet, aber noch gesendet8165
Nehmen Sie code für Kurzbefehle nach Position (WASD) und key für Text und Kurzbefehle nach Buchstabe.

location

4 Werte

Die Eigenschaft location sagt, auf welcher Seite eine paarige Taste liegt oder ob eine Taste auf dem Ziffernblock sitzt.

0 · StandardDie meisten Tasten, die es nur einmal gibt
1 · LinksLinkes Shift, Strg, Alt und Meta
2 · RechtsRechtes Shift, Strg, Alt und Meta
3 · ZiffernblockTasten auf dem Ziffernblock, Enter eingeschlossen

Eingabemethoden und keyCode 229

IME

Mit einer chinesischen, japanischen oder koreanischen Eingabemethode nimmt die Eingabemethode die Tasten zuerst. Die Seite sieht key „Process“ und keyCode 229, der Text kommt in Kompositionsereignissen. Beim Tippen von ni für ein chinesisches Wort:

  1. keydownkey „Process“ · keyCode 229
  2. compositionstartDie Eingabemethode beginnt ein Wort
  3. compositionupdatedata n, dann ni
  4. keydownLeertaste wählt einen Vorschlag
  5. compositionenddata ist das gewählte Wort
  6. inputinputType insertCompositionText
Prüfen Sie isComposing, bevor Sie auf eine Taste reagieren; sonst schickt das Enter, das ein Wort wählt, auch das Formular ab.

Sondertasten

getModifierState

Jedes Ereignis trägt die in diesem Moment gehaltenen Sondertasten. getModifierState() meldet auch die Feststelltasten.

ShiftshiftKey
ControlctrlKey
AltaltKey
MetametaKey (Windows oder Befehl auf dem Mac)
CapsLockFeststellzustand, nicht ob die Taste gedrückt ist
NumLockFeststellzustand, auf dem Mac oft unbekannt
AltGraphRechtes Alt (Alt Gr) auf vielen europäischen Layouts
ScrollLockAuf heutigen Tastaturen selten

Häufige Fragen

8 Fragen

Was ist der Unterschied zwischen event.key und event.code?

Zeichen oder physische Taste

key ist, was die Taste im aktuellen Layout tippt, etwa a oder A. code ist die physische Taste, etwa KeyA, und bleibt in jedem Layout gleich. Diese Ereignisanzeige zeigt beides für jeden Druck.

Warum ist keyCode 229?

Eingabemethode

Eine Eingabemethode (IME) verarbeitet die Taste. key lautet „Process“, und der Text kommt später in Kompositions- und Eingabeereignissen. Tippen Sie ins Feld, um sie zu sehen.

Ist keyCode veraltet?

Ja

keyCode, which und charCode sind veraltet, aber Browser senden sie noch. Nutzen Sie in neuen Projekten key oder code.

Warum zeigt Fn kein Ereignis?

Wird nie gesendet

Die Tastatur verarbeitet Fn selbst und sendet keinen Tastencode, keine Webseite bekommt sie. Die Taste, die Sie mit Fn drücken, etwa F5 oder eine Lautstärketaste, erscheint dagegen.

Warum kann ich Strg+W oder Strg+T nicht abfangen?

Der Browser behält sie

Der Browser behält manche Kurzbefehle für sich: Tab schließen, neuer Tab, neues Fenster. Das Blockieren der Standardaktionen stoppt die meisten anderen Tasten wie Tab, F5 oder /, aber nicht diese.

Warum feuert eine gehaltene Taste immer wieder keydown?

Automatische Wiederholung

Das System wiederholt eine gehaltene Taste. Jede Wiederholung ist ein keydown mit repeat true, und beim Loslassen kommt ein keyup.

Warum fehlen auf dem Mac manche keyup-Ereignisse?

Befehlstaste gehalten

Solange die Befehlstaste gehalten wird, senden Browser unter macOS für die anderen Tasten kein keyup, und auch nach dem Loslassen der Befehlstaste kommt keins. Mac-Tastaturtest →

Lädt das meine Tastendrücke hoch?

Nicht durch den Test

Ereignisse werden nur in diesem Browser verarbeitet. Der Testcode lädt sie nicht hoch, und sie sind weg, sobald Sie die Seite schließen. Datenschutzerklärung →