KeyboardEvent: keyCode-Eigenschaft

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

Die veraltete, schreibgeschützte KeyboardEvent.keyCode-Eigenschaft repräsentiert einen system- und implementationsabhängigen numerischen Code, der den nicht-modifizierten Wert der gedrückten Taste identifiziert.

Dies ist normalerweise der dezimale ASCII-Code (RFC 20) oder Windows 1252-Code, der der Taste entspricht. Wenn die Taste nicht identifiziert werden kann, ist dieser Wert 0.

Sie sollten die Verwendung, wenn möglich, vermeiden; sie ist schon seit einiger Zeit veraltet. Stattdessen sollten Sie KeyboardEvent.code (für die physische gedrückte Taste) oder KeyboardEvent.key (für das Zeichen, das der Taste zugeordnet ist) verwenden. Überprüfen Sie die Kompatibilität der jeweiligen Eigenschaft, wenn Sie sehr alte Browser anvisieren.

Hinweis: Webentwickler sollten das keyCode-Attribut für druckbare Zeichen nicht verwenden, wenn sie keydown- und keyup-Ereignisse behandeln. Wie oben beschrieben, ist das keyCode-Attribut für druckbare Zeichen nicht nützlich, insbesondere für solche, die mit der gedrückten Shift- oder Alt-Taste eingegeben werden.

Wert von keyCode

Druckbare Tasten in Standardposition

Der Wert von Tastaturereignissen, die durch das Drücken oder Loslassen von druckbaren Tasten in Standardposition verursacht werden, ist nicht zwischen den Browsern kompatibel.

IE gibt einfach den nativen virtuellen Keycode-Wert als KeyboardEvent.keyCode aus.

Google Chrome, Chromium und Safari müssen den Wert aus dem eingegebenen Zeichen bestimmen. Wenn das eingetippte Zeichen mit dem US-Tastaturlayout eingegeben werden kann, verwenden sie den keyCode-Wert des US-Tastaturlayouts.

Firefox erhält keyCode-Werte aus ASCII-Zeichen, die von der Taste eingegeben werden — sogar mit Shift-Modifikatoren oder einem ASCII-fähigen Tastaturlayout. Siehe die folgenden Regeln für Details:

  1. Wenn das System Windows ist und der native Keycode der gedrückten Taste anzeigt, dass es sich um eine Taste a-z oder 0-9 handelt, verwenden Sie einen Keycode dafür.

  2. Wenn das System Mac ist und der native Keycode der gedrückten Taste anzeigt, dass es sich um eine Taste 0-9 handelt, verwenden Sie einen Keycode dafür.

  3. Wenn die gedrückte Taste ein ASCII-alphabetisches oder numerisches Zeichen ohne Modifikatortaste eingibt, verwenden Sie einen Keycode dafür.

  4. Wenn die gedrückte Taste ein ASCII-alphabetisches oder numerisches Zeichen mit einer Shift-Tastemodifizierung eingibt, verwenden Sie einen Keycode dafür.

  5. Wenn die gedrückte Taste ein anderes ASCII-Zeichen ohne Modifikatortaste eingibt, verwenden Sie einen Keycode dafür.

  6. Wenn die gedrückte Taste ein anderes ASCII-Zeichen mit einer Shift-Tastemodifizierung eingibt, verwenden Sie einen Keycode dafür.

  7. Andernfalls, d.h. die gedrückte Taste gibt ein Unicode-Zeichen ein:

    1. Wenn das Tastaturlayout ASCII-fähig ist (d.h. ASCII-Alphabete eingeben kann), verwenden Sie 0 oder berechnen Sie es mit den folgenden zusätzlichen Regeln.

    2. Andernfalls, d.h. wenn das Tastaturlayout nicht ASCII-fähig ist, verwenden Sie das ASCII-fähige Tastaturlayout mit der höchsten Priorität, das im System installiert ist:

      1. Wenn die gedrückte Taste im alternativen Tastaturlayout ein ASCII-alphabetisches oder numerisches Zeichen ausgibt, verwenden Sie einen Keycode dafür.
      2. Andernfalls verwenden Sie 0 oder berechnen Sie es mit den folgenden zusätzlichen Regeln.

Gecko setzt keyCode-Werte für Satzzeichentasten so weit wie möglich (wenn Punkt 7.1 oder 7.2 in der obigen Liste erreicht wird) mit den folgenden Regeln:

Warnung: Der Zweck dieser neuen zusätzlichen Regeln besteht darin, den Benutzern, deren Tastaturlayouts Unicode-Zeichen auf Satzzeichentasten im US-Tastaturlayout abbilden, die Verwendung von Webanwendungen zu ermöglichen, die nur mit ASCII-fähigen Tastaturlayouts oder nur mit einem US-Tastaturlayout den Firefox unterstützen können. Andernfalls können die neu zugeordneten keyCode-Werte mit anderen Tasten in Konflikt stehen. Zum Beispiel, wenn das aktive Tastaturlayout Russisch ist, haben die keyCode-Werte sowohl die "Period"-Taste als auch die "Slash"-Taste den Wert 190 (KeyEvent.DOM_VK_PERIOD). Wenn Sie diese Tasten unterscheiden müssen, aber nicht alle Tastaturlayouts der Welt von sich aus unterstützen möchten, sollten Sie wahrscheinlich KeyboardEvent.code verwenden.

  1. Bei macOS oder Linux:

    1. Wenn das aktive Tastaturlayout nicht ASCII-fähig ist und ein alternatives ASCII-fähiges Tastaturlayout verfügbar ist.

      1. Wenn das alternative ASCII-fähige Tastaturlayout ein ASCII-Zeichen nur über die unveränderte Taste erzeugt, verwenden Sie einen keyCode für das Zeichen.
      2. Wenn das alternative ASCII-fähige Tastaturlayout ein ASCII-Zeichen mit einer Shift-Modifikatortaste erzeugt, verwenden Sie einen keyCode für das geänderte Zeichen.
      3. Andernfalls verwenden Sie einen keyCode für ein ASCII-Zeichen, das von der Taste eingegeben wird, wenn das US-Tastaturlayout aktiv ist.
    2. Andernfalls verwenden Sie einen keyCode für ein ASCII-Zeichen, das von der Taste eingegeben wird, wenn das US-Tastaturlayout aktiv ist.

  2. Bei Verwendung auf Windows:

    1. Verwenden Sie einen keyCode-Wert für ein ASCII-Zeichen, das von einer Taste eingegeben wird, die demselben virtuellen Keycode von Windows zugeordnet ist, wenn das US-Tastaturlayout aktiv ist.
keyCode-Werte des keydown-Ereignisses jedes Browsers, das durch druckbare Tasten in Standardposition verursacht wird
[`KeyboardEvent.code`](/de/docs/Web/API/KeyboardEvent/code) IE 11 Google Chrome 34 Chromium 34 Safari 7 Gecko 29
Windows Windows Mac (10.9) Linux (Ubuntu 14.04) Mac (10.9) Windows Mac (10.9) Linux (Ubuntu 14.04)
US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch
"Digit1" 0x31 (49) 0x31 (49) 0x31 (49) 0x31 (49) 0x31 (49) 0x31 (49) 0x31 (49) 0x31 (49)
"Digit2" 0x32 (50) 0x32 (50) 0x32 (50) 0x32 (50) 0x32 (50) 0x32 (50) 0x32 (50) 0x32 (50)
"Digit3" 0x33 (51) 0x33 (51) 0x33 (51) 0x33 (51) 0x33 (51) 0x33 (51) 0x33 (51) 0x33 (51)
"Digit4" 0x34 (52) 0x34 (52) 0x34 (52) 0x34 (52) 0x34 (52) 0x34 (52) 0x34 (52) 0x34 (52)
"Digit5" 0x35 (53) 0x35 (53) 0x35 (53) 0x35 (53) 0x35 (53) 0x35 (53) 0x35 (53) 0x35 (53)
"Digit6" 0x36 (54) 0x36 (54) 0x36 (54) 0x36 (54) 0x36 (54) 0x36 (54) 0x36 (54) 0x36 (54)
"Digit7" 0x37 (55) 0x37 (55) 0x37 (55) 0x37 (55) 0x37 (55) 0x37 (55) 0x37 (55) 0x37 (55)
"Digit8" 0x38 (56) 0x38 (56) 0x38 (56) 0x38 (56) 0x38 (56) 0x38 (56) 0x38 (56) 0x38 (56)
"Digit9" 0x39 (57) 0x39 (57) 0x39 (57) 0x39 (57) 0x39 (57) 0x39 (57) 0x39 (57) 0x39 (57)
"Digit0" 0x30 (48) 0x30 (48) 0x30 (48) 0x30 (48) 0x30 (48) 0x30 (48) 0x30 (48) 0x30 (48)
"KeyA" 0x41 (65) 0x41 (65) 0x41 (65) 0x41 (65) 0x41 (65) 0x41 (65) 0x41 (65) 0x41 (65)
"KeyB" 0x42 (66) 0x42 (66) 0x42 (66) 0x42 (66) 0x42 (66) 0x42 (66) 0x42 (66) 0x42 (66)
"KeyC" 0x43 (67) 0x43 (67) 0x43 (67) 0x43 (67) 0x43 (67) 0x43 (67) 0x43 (67) 0x43 (67)
"KeyD" 0x44 (68) 0x44 (68) 0x44 (68) 0x44 (68) 0x44 (68) 0x44 (68) 0x44 (68) 0x44 (68)
"KeyE" 0x45 (69) 0x45 (69) 0x45 (69) 0x45 (69) 0x45 (69) 0x45 (69) 0x45 (69) 0x45 (69)
"KeyF" 0x46 (70) 0x46 (70) 0x46 (70) 0x46 (70) 0x46 (70) 0x46 (70) 0x46 (70) 0x46 (70)
"KeyG" 0x47 (71) 0x47 (71) 0x47 (71) 0x47 (71) 0x47 (71) 0x47 (71) 0x47 (71) 0x47 (71)
"KeyH" 0x48 (72) 0x48 (72) 0x48 (72) 0x48 (72) 0x48 (72) 0x48 (72) 0x48 (72) 0x48 (72)
"KeyI" 0x49 (73) 0x49 (73) 0x49 (73) 0x49 (73) 0x49 (73) 0x49 (73) 0x49 (73) 0x49 (73)
"KeyJ" 0x4A (74) 0x4A (74) 0x4A (74) 0x4A (74) 0x4A (74) 0x4A (74) 0x4A (74) 0x4A (74)
"KeyK" 0x4B (75) 0x4B (75) 0x4B (75) 0x4B (75) 0x4B (75) 0x4B (75) 0x4B (75) 0x4B (75)
"KeyL" 0x4C (76) 0x4C (76) 0x4C (76) 0x4C (76) 0x4C (76) 0x4C (76) 0x4C (76) 0x4C (76)
"KeyM" 0x4D (77) 0x4D (77) 0x4D (77) 0x4D (77) 0x4D (77) 0x4D (77) 0x4D (77) 0x4D (77)
"KeyN" 0x4E (78) 0x4E (78) 0x4E (78) 0x4E (78) 0x4E (78) 0x4E (78) 0x4E (78) 0x4E (78)
"KeyO" 0x4F (79) 0x4F (79) 0x4F (79) 0x4F (79) 0x4F (79) 0x4F (79) 0x4F (79) 0x4F (79)
"KeyP" 0x50 (80) 0x50 (80) 0x50 (80) 0x50 (80) 0x50 (80) 0x50 (80) 0x50 (80) 0x50 (80)
"KeyQ" 0x51 (81) 0x51 (81) 0x51 (81) 0x51 (81) 0xBA (186)⚠️ 0x51 (81) 0x51 (81) 0xBA (186)⚠️ 0x51 (81) 0x51 (81) 0xBA (186)⚠️ 0x51 (81) 0x51 (81) 0x51 (81) 0xBA (186)⚠️ 0x51 (81)
"KeyR" 0x52 (82) 0x52 (82) 0x52 (82) 0x52 (82) 0x52 (82) 0x52 (82) 0x52 (82) 0x52 (82)
"KeyS" 0x53 (83) 0x53 (83) 0x53 (83) 0x53 (83) 0x53 (83) 0x53 (83) 0x53 (83) 0x53 (83)
"KeyT" 0x54 (84) 0x54 (84) 0x54 (84) 0x54 (84) 0x54 (84) 0x54 (84) 0x54 (84) 0x54 (84)
"KeyU" 0x55 (85) 0x55 (85) 0x55 (85) 0x55 (85) 0x55 (85) 0x55 (85) 0x55 (85) 0x55 (85)
"KeyV" 0x56 (86) 0x56 (86) 0x56 (86) 0x56 (86) 0x56 (86) 0x56 (86) 0x56 (86) 0x56 (86)
"KeyW" 0x57 (87) 0x57 (87) 0x57 (87) 0x57 (87) 0x57 (87) 0x57 (87) 0x57 (87) 0x57 (87)
"KeyX" 0x58 (88) 0x58 (88) 0x58 (88) 0x58 (88) 0x58 (88) 0x58 (88) 0x58 (88) 0x58 (88)
"KeyY" 0x59 (89) 0x59 (89) 0x59 (89) 0x59 (89) 0x59 (89) 0x59 (89) 0x59 (89) 0x59 (89)
"KeyZ" 0x5A (90) 0x5A (90) 0x5A (90) 0x5A (90) 0x5A (90) 0x5A (90) 0x5A (90) 0x5A (90)
[`KeyboardEvent.code`](/de/docs/Web/API/KeyboardEvent/code) US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch
Windows Windows Mac (10.9) Linux (Ubuntu 14.04) Mac (10.9) Windows Mac (10.9) Linux (Ubuntu 14.04)
Internet Explorer 11 Google Chrome 34 Chromium 34 Safari 7 Gecko 29
keyCode-Werte des keydown-Ereignisses jedes Browsers, das durch druckbare Tasten in Standardposition verursacht wird (Satzzeichen im US-Layout):
[`KeyboardEvent.code`](/de/docs/Web/API/KeyboardEvent/code) IE 11 Google Chrome 34 Chromium 34 Safari 7 Gecko 29
Windows Windows Mac (10.9) Linux (Ubuntu 14.04) Mac (10.9) Windows (10.9) Mac (10.9) Linux (Ubuntu 14.04)
US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch
"Comma" 0xBC (188) 0xBC (188) 0xBC (188) 0xBC (188) 0xBC (188) 0xBC (188) 0xBC (188) 0xBC (188)
"Comma" mit Shift
"Period" 0xBE (190) 0xBE (190) 0xBE (190) 0xBE (190) 0xBE (190) 0xBE (190) 0xBE (190) 0xBE (190)
"Period" mit Shift
"Semicolon" 0xBA (186) 0xBB (187)⚠️ 0xBA (186) 0xBA (186) 0xBB (187)⚠️ 0xBA (186) 0xBA (186) 0xBA (186) [1] 0xE5 (229)⚠️ [2] 0xBA (186) 0xBA (186) 0xE5 (229)⚠️ [3] 0xBA (186) 0xBA (186) [1] 0xE5 (229)⚠️ [2] 0x3B (59) 0x3B (59) 0x00 (0)⚠️ 0x3B (59) 0x3B (59) [1] 0x00 (0)⚠️ 0x3B (59) 0x3B (59) 0x00 (0)⚠️
"Semicolon" mit Shift 0xBB (187)⚠️ [1] 0xBB (187)⚠️ 0xBB (187)⚠️ [1]
"Quote" 0xDE (222) 0xBA (186)⚠️ 0xDE (222) 0xDE (222) 0xBA (186)⚠️ 0xDE (222) 0xDE (222) 0xBA (186)⚠️ [1] 0xDE (222) 0xDE (222) 0xBA (186)⚠️ 0xDE (222) 0xDE (222) 0xBA (186)⚠️ [1] 0xDE (222) 0xDE (222) 0x3A (58)⚠️ 0xDE (222) 0xDE (222) 0x3A (58)⚠️ [1] 0xDE (222) 0xDE (222) 0x3A (58)⚠️ 0xDE (222)
"Quote" mit Shift 0xDE (222)⚠️ [1] 0x38 (56)⚠️ 0xDE (222)⚠️ [1]
"BracketLeft" 0xDB (219) 0xC0(192)⚠️ 0xDB (219) 0xDB (219) 0xC0(192)⚠️ 0xDB (219) 0xDB (219) 0xDB (219) [1] 0xDB (219) 0xDB (219) 0x32 (50)⚠️ 0xDB (219) 0xDB (219) 0xDB (219) [1] 0xDB (219) 0xDB (219) 0x40 (64)⚠️ 0xDB (219) 0xDB (219) 0x40 (64)⚠️ [1] 0xDB (219) 0xDB (219) 0x40 (64)⚠️ 0xDB (219)
"BracketLeft" mit Shift 0xC0 (192)⚠️ [1] 0xC0 (192)⚠️ 0xC0 (192)⚠️ [1]
"BracketRight" 0xDD (221) 0xDB (219)⚠️ 0xDD (221) 0xDD (221) 0xDB (219)⚠️ 0xDD (221) 0xDD (221) 0xDB (219)⚠️ [1] 0xDD (221) 0xDD (221) 0xDB (219)⚠️ 0xDD (221) 0xDD (221) 0xDB (219)⚠️ [1] 0xDD (221) 0xDD (221) 0xDB (219)⚠️ 0xDD (221) 0xDD (221) 0xDB (219)⚠️ [1] 0xDD (221) 0xDD (221) 0xDB (219)⚠️ 0xDD (221)
"BracketRight" mit Shift
"Backquote" 0xC0 (192) ❌ N/V 0xC0 (192) 0xC0 (192) ❌ N/V 0xC0 (192) 0xC0 (192) 0xC0 (192) 0xF4 (244)⚠️ 0xC0 (192) 0xC0 (192) 0xC0 (192) ❌ N/V 0xC0 (192) 0xC0 (192) 0xC0 (192) 0x00 (0) 0xC0 (192)
"Backquote" mit Shift
"Backslash" 0xDC (220) 0xDD (221)⚠️ 0xDC (220) 0xDC (220) 0xDD (221)⚠️ 0xDC (220) 0xDC (220) 0xDC (220) 0xDD (221)⚠️ 0xDC (220) 0xDC (220) 0xDC (220) 0xDD (221)⚠️ 0xDC (220) 0xDC (220) 0xDC (220) 0xDD (221)⚠️ 0xDC (220)
"Backslash" mit Shift
"Minus" 0xBD (189) 0xBD (189) 0xBD (189) 0xBD (189) [1] 0xBD (189) 0xBD (189) 0xBD (189) 0xBD (189) 0xBD (189) 0xBD (189) [1] 0xBD (189) 0xAD (173) 0xAD (173) 0xAD (173) [1] 0xAD (173) 0xAD (173)
"Minus" mit Shift 0xBB (187)⚠️ [1] 0xBB (187)⚠️ 0xBD (189) 0xBB (187)⚠️ [1] 0xBD (189)
"Equal" 0xBB (187) 0xDE (222)⚠️ 0xBB (187) 0xBB (187) 0xDE (222)⚠️ 0xBB (187) 0xBB (187) 0xBB (187) [1] 0xBB (187) 0xBB (187) 0x36 (54)⚠️ 0xBB (187) 0xBB (187) 0xBB (187) [1] 0xBB (187) 0x3D (61) 0xA0 (160)⚠️ 0x3D (61) 0x3D (61) 0xA0 (160)⚠️ [1] 0x3D (61) 0x3D (61) 0xA0 (160)⚠️ 0x3D (61)
"Equal" mit Shift 0xC0 (192)⚠️ [1] 0xC0 (192)⚠️ 0xBB (187) 0xC0 (192)⚠️ [1] 0xBB (187)
"IntlRo" 0xC1 (193) 0xE2 (226)⚠️ 0xC1 (193) 0xC1 (193) 0xE2 (226)⚠️ 0xC1 (193) 0xBD (189) 0xBD (189) 0x00 (0)⚠️ [4] 0xDC (220)⚠️ [4] 0xBD (189) 0xBD (189) 0xE5 (229)⚠️ [5] 0x00 (0) 0xDC (220)⚠️ 0x00 (0) 0xA7 (167) 0xA7 (167) 0x00 (0) 0x00 (0) 0xDC (220)⚠️ 0x00 (0)
"IntlRo" mit Shift
"IntlYen" 0xFF (255) 0xDC (220)⚠️ 0xFF (255) 0xFF (255) 0xDC (220)⚠️ 0xFF (255) 0x00 (0)⚠️ 0x00 (0)⚠️ 0x00 (0)⚠️ [4] 0xDC (220)⚠️ [4] 0x00 (0)⚠️ 0x00 (0)⚠️ 0xE5 (229)⚠️ [5] 0x00 (0)⚠️ 0xDC (220)⚠️ 0x00 (0)⚠️ 0xDC (220) 0xDC (220) 0x00 (0)⚠️ 0x00 (0)⚠️ 0xDC (220)⚠️ 0x00 (0)⚠️
"IntlYen" mit Shift 0xDC (220) 0xDC (220) 0xBD (189)⚠️ 0xDC (220) 0xDC (220)
[`KeyboardEvent.code`](/de/docs/Web/API/KeyboardEvent/code) US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch US Japanisch Griechisch
Windows Windows Mac (10.9) Linux (Ubuntu 14.04) Mac (10.9) Windows Mac (10.9) Linux (Ubuntu 14.04)
Internet Explorer 11 Google Chrome 34 Chromium 34 Safari 7 Gecko 29

[1] Der Wert wird von der JIS-Tastatur eingegeben. Wenn Sie eine ANSI-Tastatur verwenden, sind der keyCode-Wert und das eingegebene Zeichen, was Sie vom US-Tastaturlayout auswählen.

[2] Die Taste ist eine Tote Taste. Der Wert des keyup-Ereignisses ist 0xBA (186).

[3] Die Taste ist eine Tote Taste. Der Wert des keyup-Ereignisses ist 0x10 (16).

[4] Es werden keine Tastaturereignisse ausgelöst.

[5] Die Taste ist im griechischen Tastaturlayout nicht verfügbar (gibt kein Zeichen ein). Der Wert des keyup-Ereignisses ist 0x00 (0).

Nicht druckbare Tasten (Funktionstasten)

keyCode-Werte des keydown-Ereignisses jedes Browsers, das durch Modifikator-Tasten verursacht wird:
[`KeyboardEvent.code`](/de/docs/Web/API/KeyboardEvent/code) IE 11 Google Chrome 34 Chromium 34 Safari 7

Konstanten für keyCode-Werte

Gecko definiert viele keyCode-Werte in KeyboardEvent, um die Zuordnungstabelle explizit zu machen. Diese Werte sind nützlich für Add-on-Entwickler von Firefox, aber nicht so nützlich auf öffentlichen Webseiten.

Konstante Wert Beschreibung
DOM_VK_CANCEL 0x03 (3) Abbruch-Taste.
DOM_VK_HELP 0x06 (6) Hilfetaste.
DOM_VK_BACK_SPACE 0x08 (8) Rücktaste.
DOM_VK_TAB 0x09 (9) Tabulatortaste.
DOM_VK_CLEAR 0x0C (12) "5"-Taste auf dem Nummernblock, wenn NumLock ausgeschaltet ist. Oder auf dem Mac, die Löschen-Taste, die auf der Position der NumLock-Taste ist.
DOM_VK_RETURN 0x0D (13) Return-/Eingabetaste auf der Haupttastatur.
DOM_VK_ENTER 0x0E (14) Reserviert, jedoch nicht verwendet. Veraltet (entfernt, siehe Firefox Bug 969247.)
DOM_VK_SHIFT 0x10 (16) Shift-Taste.
DOM_VK_CONTROL 0x11 (17) Steuerungstaste.
DOM_VK_ALT 0x12 (18) Alt (Option auf Mac)-Taste.
DOM_VK_PAUSE 0x13 (19) Pausetaste.
DOM_VK_CAPS_LOCK 0x14 (20) Feststelltaste.
DOM_VK_KANA 0x15 (21) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_HANGUL 0x15 (21) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_EISU 0x 16 (22) "英数"-Taste auf der japanischen Mac-Tastatur.
DOM_VK_JUNJA 0x17 (23) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_FINAL 0x18 (24) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_HANJA 0x19 (25) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_KANJI 0x19 (25) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_ESCAPE 0x1B (27) Escape-Taste.
DOM_VK_CONVERT 0x1C (28) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_NONCONVERT 0x1D (29) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_ACCEPT 0x1E (30) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_MODECHANGE 0x1F (31) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_SPACE 0x20 (32) Leertaste.
DOM_VK_PAGE_UP 0x21 (33) Bild-auf-Taste.
DOM_VK_PAGE_DOWN 0x22 (34) Bild-ab-Taste.
DOM_VK_END 0x23 (35) Ende-Taste.
DOM_VK_HOME 0x24 (36) Pos1-Taste.
DOM_VK_LEFT 0x25 (37) Pfeil-nach-links-Taste.
DOM_VK_UP 0x26 (38) Pfeil-nach-oben-Taste.
DOM_VK_RIGHT 0x27 (39) Pfeil-nach-rechts-Taste.
DOM_VK_DOWN 0x28 (40) Pfeil-nach-unten-Taste.
DOM_VK_SELECT 0x29 (41) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_PRINT 0x2A (42) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_EXECUTE 0x2B (43) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_PRINTSCREEN 0x2C (44) Druck-Taste.
DOM_VK_INSERT 0x2D (45) Einf(ügt)-Taste.
DOM_VK_DELETE 0x2E (46) Entf(ernen)-Taste.
DOM_VK_0 0x30 (48) "0"-Taste in der Standardtastaturposition.
DOM_VK_1 0x31 (49) "1"-Taste in der Standardtastaturposition.
DOM_VK_2 0x32 (50) "2"-Taste in der Standardtastaturposition.
DOM_VK_3 0x33 (51) "3"-Taste in der Standardtastaturposition.
DOM_VK_4 0x34 (52) "4"-Taste in der Standardtastaturposition.
DOM_VK_5 0x35 (53) "5"-Taste in der Standardtastaturposition.
DOM_VK_6 0x36 (54) "6"-Taste in der Standardtastaturposition.
DOM_VK_7 0x37 (55) "7"-Taste in der Standardtastaturposition.
DOM_VK_8 0x38 (56) "8"-Taste in der Standardtastaturposition.
DOM_VK_9 0x39 (57) "9"-Taste in der Standardtastaturposition.
DOM_VK_COLON 0x3A (58) Doppelpunkt (":")-Taste.
DOM_VK_SEMICOLON 0x3B (59) Semikolon (";")-Taste.
DOM_VK_LESS_THAN 0x3C (60) Kleiner-als ("<")-Taste.
DOM_VK_EQUALS 0x3D (61) Gleichheitszeichen ("=")-Taste.
DOM_VK_GREATER_THAN 0x3E (62) Größer-als (">")-Taste.
DOM_VK_QUESTION_MARK 0x3F (63) Fragezeichen ("?")-Taste.
DOM_VK_AT 0x40 (64) Klammeraffe ("@")-Taste.
DOM_VK_A 0x41 (65) "A"-Taste.
DOM_VK_B 0x42 (66) "B"-Taste.
DOM_VK_C 0x43 (67) "C"-Taste.
DOM_VK_D 0x44 (68) "D"-Taste.
DOM_VK_E 0x45 (69) "E"-Taste.
DOM_VK_F 0x46 (70) "F"-Taste.
DOM_VK_G 0x47 (71) "G"-Taste.
DOM_VK_H 0x48 (72) "H"-Taste.
DOM_VK_I 0x49 (73) "I"-Taste.
DOM_VK_J 0x4A (74) "J"-Taste.
DOM_VK_K 0x4B (75) "K"-Taste.
DOM_VK_L 0x4C (76) "L"-Taste.
DOM_VK_M 0x4D (77) "M"-Taste.
DOM_VK_N 0x4E (78) "N"-Taste.
DOM_VK_O 0x4F (79) "O"-Taste.
DOM_VK_P 0x50 (80) "P"-Taste.
DOM_VK_Q 0x51 (81) "Q"-Taste.
DOM_VK_R 0x52 (82) "R"-Taste.
DOM_VK_S 0x53 (83) "S"-Taste.
DOM_VK_T 0x54 (84) "T"-Taste.
DOM_VK_U 0x55 (85) "U"-Taste.
DOM_VK_V 0x56 (86) "V"-Taste.
DOM_VK_W 0x57 (87) "W"-Taste.
DOM_VK_X 0x58 (88) "X"-Taste.
DOM_VK_Y 0x59 (89) "Y"-Taste.
DOM_VK_Z 0x5A (90) "Z"-Taste.
DOM_VK_WIN 0x5B (91) Windows-Logo-Taste auf Windows. Oder Super oder Hyper-Taste auf Linux.
DOM_VK_CONTEXT_MENU 0x5D (93) Kontextmenü öffnen-Taste.
DOM_VK_SLEEP 0x5F (95) Linux-Unterstützung für diesen Keycode wurde in Gecko 4.0 hinzugefügt.
DOM_VK_NUMPAD0 0x60 (96) "0" auf dem numerischen Tastenfeld.
DOM_VK_NUMPAD1 0x61 (97) "1" auf dem numerischen Tastenfeld.
DOM_VK_NUMPAD2 0x62 (98) "2" auf dem numerischen Tastenfeld.
DOM_VK_NUMPAD3 0x63 (99) "3" auf dem numerischen Tastenfeld.
DOM_VK_NUMPAD4 0x64 (100) "4" auf dem numerischen Tastenfeld.
DOM_VK_NUMPAD5 0x65 (101) "5" auf dem numerischen Tastenfeld.
DOM_VK_NUMPAD6 0x66 (102) "6" auf dem numerischen Tastenfeld.
DOM_VK_NUMPAD7 0x67 (103) "7" auf dem numerischen Tastenfeld.
DOM_VK_NUMPAD8 0x68 (104) "8" auf dem numerischen Tastenfeld.
DOM_VK_NUMPAD9 0x69 (105) "9" auf dem numerischen Tastenfeld.
DOM_VK_MULTIPLY 0x6A (106) "*" auf dem numerischen Tastenfeld.
DOM_VK_ADD 0x6B (107) "+" auf dem numerischen Tastenfeld.
DOM_VK_SEPARATOR 0x6C (108)
DOM_VK_SUBTRACT 0x6D (109) "-" auf dem numerischen Tastenfeld.
DOM_VK_DECIMAL 0x6E (110) Dezimalkomma auf dem numerischen Tastenfeld.
DOM_VK_DIVIDE 0x6F (111) "/" auf dem numerischen Tastenfeld.
DOM_VK_F1 0x70 (112) F1-Taste.
DOM_VK_F2 0x71 (113) F2-Taste.
DOM_VK_F3 0x72 (114) F3-Taste.
DOM_VK_F4 0x73 (115) F4-Taste.
DOM_VK_F5 0x74 (116) F5-Taste.
DOM_VK_F6 0x75 (117) F6-Taste.
DOM_VK_F7 0x76 (118) F7-Taste.
DOM_VK_F8 0x77 (119) F8-Taste.
DOM_VK_F9 0x78 (120) F9-Taste.
DOM_VK_F10 0x79 (121) F10-Taste.
DOM_VK_F11 0x7A (122) F11-Taste.
DOM_VK_F12 0x7B (123) F12-Taste.
DOM_VK_F13 0x7C (124) F13-Taste.
DOM_VK_F14 0x7D (125) F14-Taste.
DOM_VK_F15 0x7E (126) F15-Taste.
DOM_VK_F16 0x7F (127) F16-Taste.
DOM_VK_F17 0x80 (128) F17-Taste.
DOM_VK_F18 0x81 (129) F18-Taste.
DOM_VK_F19 0x82 (130) F19-Taste.
DOM_VK_F20 0x83 (131) F20-Taste.
DOM_VK_F21 0x84 (132) F21-Taste.
DOM_VK_F22 0x85 (133) F22-Taste.
DOM_VK_F23 0x86 (134) F23-Taste.
DOM_VK_F24 0x87 (135) F24-Taste.
DOM_VK_NUM_LOCK 0x90 (144) Num-Taste.
DOM_VK_SCROLL_LOCK 0x91 (145) Rollen-Taste.
DOM_VK_WIN_OEM_FJ_JISHO 0x92 (146) Eine OEM-spezifische Taste auf Windows. Diese wurde für die "Wörterbuch"-Taste auf Fujitsu OASYS verwendet.
DOM_VK_WIN_OEM_FJ_MASSHOU 0x93 (147) Eine OEM-spezifische Taste auf Windows. Diese wurde für die "Wort deregistrieren"-Taste auf Fujitsu OASYS verwendet.
DOM_VK_WIN_OEM_FJ_TOUROKU 0x94 (148) Eine OEM-spezifische Taste auf Windows. Diese wurde für die "Wort registrieren"-Taste auf Fujitsu OASYS verwendet.
DOM_VK_WIN_OEM_FJ_LOYA 0x95 (149) Eine OEM-spezifische Taste auf Windows. Diese wurde für die "Linke OYAYUBI"-Taste auf Fujitsu OASYS verwendet.
DOM_VK_WIN_OEM_FJ_ROYA 0x96 (150) Eine OEM-spezifische Taste auf Windows. Diese wurde für die "Rechte OYAYUBI"-Taste auf Fujitsu OASYS verwendet.
DOM_VK_CIRCUMFLEX 0xA0 (160) Zirkumflex ("^")-Taste.
DOM_VK_EXCLAMATION 0xA1 (161) Ausrufezeichen ("!")-Taste.
DOM_VK_DOUBLE_QUOTE 0xA2 (162) Doppeltes Anführungszeichen (""")-Taste.
DOM_VK_HASH 0xA3 (163) Raute ("#")-Taste.
DOM_VK_DOLLAR 0xA4 (164) Dollarzeichen ("$")-Taste.
DOM_VK_PERCENT 0xA5 (165) Prozent ("%")-Taste.
DOM_VK_AMPERSAND 0xA6 (166) Et-Zeichen ("&")-Taste.
DOM_VK_UNDERSCORE 0xA7 (167) Unterstrich ("_")-Taste.
DOM_VK_OPEN_PAREN 0xA8 (168) Öffnende Klammer ("(")-Taste.
DOM_VK_CLOSE_PAREN 0xA9 (169) Schließende Klammer (")")-Taste.
DOM_VK_ASTERISK 0xAA (170) Stern ("*")-Taste.
DOM_VK_PLUS 0xAB (171) Plus ("+")-Taste.
DOM_VK_PIPE 0xAC (172) Röhrchen ("|")-Taste.
DOM_VK_HYPHEN_MINUS 0xAD (173) Bindestrich ("-")-Taste.
DOM_VK_OPEN_CURLY_BRACKET 0xAE (174) Öffnende geschweifte Klammer ("{")-Taste.
DOM_VK_CLOSE_CURLY_BRACKET 0xAF (175) Schließende geschweifte Klammer ("}")-Taste.
DOM_VK_TILDE 0xB0 (176) Tilde ("~")-Taste.
DOM_VK_VOLUME_MUTE 0xB5 (181) Audio-Stummtaste.
DOM_VK_VOLUME_DOWN 0xB6 (182) Audio-Leiser-Taste
DOM_VK_VOLUME_UP 0xB7 (183) Audio-Lauter-Taste
DOM_VK_COMMA 0xBC (188) Komma (",")-Taste.
DOM_VK_PERIOD 0xBE (190) Punkt (".")-Taste.
DOM_VK_SLASH 0xBF (191) Schrägstrich ("/")-Taste.
DOM_VK_BACK_QUOTE 0xC0 (192) Gravis-Akzent ("`")-Taste.
DOM_VK_OPEN_BRACKET 0xDB (219) Öffnende eckige Klammer ("[")-Taste.
DOM_VK_BACK_SLASH 0xDC (220) Rückwärtsschrägstrich ("\")-Taste.
DOM_VK_CLOSE_BRACKET 0xDD (221) Schließende eckige Klammer ("]")-Taste.
DOM_VK_QUOTE 0xDE (222) Anführungszeichen ("'")-Taste.
DOM_VK_META 0xE0 (224) Meta-Taste auf Linux, Befehlstaste auf Mac.
DOM_VK_ALTGR 0xE1 (225) AltGr-Taste (Level 3 Shift-Taste oder Level 5 Shift-Taste) auf Linux.
DOM_VK_WIN_ICO_HELP 0xE3 (227) Eine OEM-spezifische Taste auf Windows. Dies wurde (oder wird?) für die Olivetti ICO-Tastatur verwendet.
DOM_VK_WIN_ICO_00 0xE4 (228) Eine OEM-spezifische Taste auf Windows. Dies wurde (oder wird?) für die Olivetti ICO-Tastatur verwendet.
DOM_VK_WIN_ICO_CLEAR 0xE6 (230) Eine OEM-spezifische Taste auf Windows. Dies wurde (oder wird?) für die Olivetti ICO-Tastatur verwendet.
DOM_VK_WIN_OEM_RESET 0xE9 (233) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_JUMP 0xEA (234) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_PA1 0xEB (235) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_PA2 0xEC (236) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_PA3 0xED (237) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_WSCTRL 0xEE (238) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_CUSEL 0xEF (239) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_ATTN 0xF0 (240) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_FINISH 0xF1 (241) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_COPY 0xF2 (242) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_AUTO 0xF3 (243) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_ENLW 0xF4 (244) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_WIN_OEM_BACKTAB 0xF5 (245) Eine OEM-spezifische Taste auf Windows. Dies wurde für Nokia/Ericssons Gerät verwendet.
DOM_VK_ATTN 0xF6 (246) Attn (Attention)-Taste von IBM Midrange-Computern, z. B. AS/400.
DOM_VK_CRSEL 0xF7 (247) CrSel (Cursor Selection)-Taste des IBM 3270-Tastaturlayouts.
DOM_VK_EXSEL 0xF8 (248) ExSel (Extend Selection)-Taste des IBM 3270-Tastaturlayouts.
DOM_VK_EREOF 0xF9 (249) Erase EOF-Taste des IBM 3270-Tastaturlayouts.
DOM_VK_PLAY 0xFA (250) Play-Taste des IBM 3270-Tastaturlayouts.
DOM_VK_ZOOM 0xFB (251) Zoom-Taste.
DOM_VK_PA1 0xFD (253) PA1-Taste des IBM 3270-Tastaturlayouts.
DOM_VK_WIN_OEM_CLEAR 0xFE (254) Clear-Taste, aber wir sind uns nicht sicher über den Bedeutungsunterschied zu DOM_VK_CLEAR.

Beispiele

js
window.addEventListener(
  "keydown",
  (event) => {
    if (event.defaultPrevented) {
      return; // Should do nothing if the default action has been cancelled
    }

    let handled = false;
    if (event.key !== undefined) {
      // Handle the event with KeyboardEvent.key
      handled = true;
    } else if (event.keyCode !== undefined) {
      // Handle the event with KeyboardEvent.keyCode
      handled = true;
    }

    if (handled) {
      // Suppress "double action" if event handled
      event.preventDefault();
    }
  },
  true,
);

Spezifikationen

If you're able to see this, something went wrong on this page.

Browser-Kompatibilität

If you're able to see this, something went wrong on this page.

OEM-spezifische Tasten auf Windows

Unter Windows sind einige Werte des virtuellen Keycodes für OEM-spezifische Tasten definiert (reserviert). Sie sind für spezielle Tasten auf nicht standardmäßigen Tastaturen verfügbar. Mit anderen Worten, einige Werte werden von zwei oder mehr Anbietern (oder Hardware) für verschiedene Bedeutungen verwendet.

Seit Gecko 21 (und älter als 15) sind OEM-spezifische Tastenwerte nur im Attribut keyCode unter Windows verfügbar. Sie sind daher nicht nützlich für übliche Webanwendungen. Sie sind nur für Intranet-Anwendungen oder in ähnlichen Situationen nützlich.

Details finden Sie unter "Herstellerspezifische virtuelle Schlüssel-Codes (Windows CE 5.0)" in MSDN.