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 KeyboardEvent.keyCode schreibgeschützte Eigenschaft stellt einen system- und implementierungsabhängigen numerischen Code dar, der den nicht veränderten Wert der gedrückten Taste identifiziert.

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

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

Hinweis: Webentwickler sollten das keyCode-Attribut für druckbare Zeichen bei der Behandlung von keydown- und keyup-Ereignissen nicht verwenden. Wie oben beschrieben, ist das keyCode-Attribut für druckbare Zeichen nicht nützlich, insbesondere nicht für Zeichen, die mit gedrückter Shift- oder Alt-Taste eingegeben werden.

Wert von keyCode

Druckbare Tasten in Standardposition

Der Wert von Tastenereignissen, die durch Drücken oder Loslassen von druckbaren Tasten in Standardposition verursacht werden, ist nicht browserübergreifend kompatibel.

IE gibt einfach den nativen virtuellen Tastencode-Wert als KeyboardEvent.keyCode wieder.

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

Firefox ermittelt keyCode-Werte aus ASCII-Zeichen, die durch die Taste eingegeben werden können, selbst mit Shift-Modifikatoren oder einer ASCII-fähigen Tastaturanordnung. Siehe die folgenden Regeln für Einzelheiten:

  1. Wenn das System Windows ist und der native Tastencode der gedrückten Taste anzeigt, dass die Taste a-z oder 0-9 ist, verwenden Sie einen Tastencode dafür.

  2. Wenn das System Mac ist und der native Tastencode der gedrückten Taste anzeigt, dass die Taste 0-9 ist, verwenden Sie einen Tastencode dafür.

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

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

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

  6. Wenn die gedrückte Taste ein anderes ASCII-Zeichen mit einem Shift-Tastenmodifikator eingibt, verwenden Sie einen Tastencode 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 eingegeben werden können), verwenden Sie 0 oder berechnen Sie mit den folgenden zusätzlichen Regeln.

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

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

Gecko setzt keyCode-Werte von Satzzeichen-Tasten so weit wie möglich (wenn die Punkte 7.1 oder 7.2 in der obigen Liste erreicht werden) mit den folgenden Regeln:

Warnung: Der Zweck dieser neuen zusätzlichen Regeln ist es, Benutzer, deren Tastaturlayouts Unicode-Zeichen auf die Satzzeichen-Tasten eines US-Tastaturlayouts abgebildet werden können, Webanwendungen zu verwenden, die nur Firefox mit ASCII-fähigen Tastaturlayouts oder nur mit einem US-Tastaturlayout unterstützen. Andernfalls können die neu zugewiesenen keyCode-Werte mit anderen Tasten in Konflikt geraten. Zum Beispiel, wenn das aktive Tastaturlayout Russisch ist, ist der keyCode-Wert sowohl der "Period"-Taste als auch der "Slash"-Taste 190 (KeyEvent.DOM_VK_PERIOD). Wenn Sie diese Tasten unterscheiden müssen, aber nicht alle Tastaturlayouts der Welt selbst unterstützen möchten, sollten Sie wahrscheinlich KeyboardEvent.code verwenden.

  1. Wenn macOS oder Linux ausgeführt wird:

    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 durch die unmodifizierte Taste erzeugt, verwenden Sie einen keyCode für das Zeichen.
      2. Wenn das alternative ASCII-fähige Tastaturlayout ein ASCII-Zeichen mit einem Shift-Tastenmodifikator erzeugt, verwenden Sie einen keyCode für das verschobene Zeichen.
      3. Andernfalls verwenden Sie einen keyCode für ein ASCII-Zeichen, das durch die Taste erzeugt wird, wenn das US-Tastaturlayout aktiv ist.
    2. Andernfalls verwenden Sie einen keyCode für ein ASCII-Zeichen, das durch die Taste erzeugt wird, wenn das US-Tastaturlayout aktiv ist.

  2. Wenn auf Windows ausgeführt:

    1. Verwenden Sie einen keyCode-Wert für ein ASCII-Zeichen, das durch eine Taste erzeugt wird, die dem gleichen virtuellen Tastencode von Windows zugeordnet ist, wenn das US-Tastaturlayout aktiv ist.
keyCode-Werte jedes Browsers `keydown`-Ereignis, verursacht durch druckbare Tasten in Standardposition
[`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 jedes Browsers `keydown`-Ereignis, verursacht durch druckbare Tasten in Standardposition (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)
"Komma" mit Umschalt
"Period" 0xBE (190) 0xBE (190) 0xBE (190) 0xBE (190) 0xBE (190) 0xBE (190) 0xBE (190) 0xBE (190)
"Punkt" mit Umschalt
"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)⚠️
"Strichpunkt" mit Umschalt 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 Umschalt 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 Umschalt 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 Umschalt
"Backquote" 0xC0 (192) ❌ N/A 0xC0 (192) 0xC0 (192) ❌ N/A 0xC0 (192) 0xC0 (192) 0xC0 (192) 0xF4 (244)⚠️ 0xC0 (192) 0xC0 (192) 0xC0 (192) ❌ N/A 0xC0 (192) 0xC0 (192) 0xC0 (192) 0x00 (0) 0xC0 (192)
"Backquote" mit Umschalt
"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 Umschalt
"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 Umschalt 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 Umschalt 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 Umschalt
"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 Umschalt 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 einer JIS-Tastatur eingegeben. Wenn Sie eine ANSI-Tastatur verwenden, sind der keyCode-Wert und das eingegebene Zeichen das, was Sie aus dem US-Tastaturlayout auswählen.

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

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

[4] Es werden keine Tastenereignisse 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 jedes Browsers `keydown`-Ereignis, verursacht durch Modifikatortasten:
[`KeyboardEvent.code`](/de/docs/Web/API/KeyboardEvent/code) IE 11 Google

Konstanten für den keyCode-Wert

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

Konstante Wert Beschreibung
DOM_VK_CANCEL 0x03 (3) Abbrechen-Taste.
DOM_VK_HELP 0x06 (6) Hilfe-Taste.
DOM_VK_BACK_SPACE 0x08 (8) Rücktaste.
DOM_VK_TAB 0x09 (9) Tabulator-Taste.
DOM_VK_CLEAR 0x0C (12) "5"-Taste auf dem Nummernblock, wenn NumLock nicht aktiviert ist. Oder auf Mac die Löschtaste, die sich an der Position der NumLock-Taste befindet.
DOM_VK_RETURN 0x0D (13) Eingabetaste auf der Haupttastatur.
DOM_VK_ENTER 0x0E (14) Reserviert, aber nicht verwendet. Veraltet (Entfernt, siehe Firefox Bug 969247.)
DOM_VK_SHIFT 0x10 (16) Shift-Taste.
DOM_VK_CONTROL 0x11 (17) Strg-Taste.
DOM_VK_ALT 0x12 (18) Alt-Taste (Option auf Mac).
DOM_VK_PAUSE 0x13 (19) Pausentaste.
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 0x16 (22) "英数"-Taste auf japanischer 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-aufwärts-Taste.
DOM_VK_PAGE_DOWN 0x22 (34) Bild-abwärts-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ügen-Taste.
DOM_VK_DELETE 0x2E (46) Entfernen-Taste.
DOM_VK_0 0x30 (48) "0"-Taste an der Standard-Tastenposition.
DOM_VK_1 0x31 (49) "1"-Taste an der Standard-Tastenposition.
DOM_VK_2 0x32 (50) "2"-Taste an der Standard-Tastenposition.
DOM_VK_3 0x33 (51) "3"-Taste an der Standard-Tastenposition.
DOM_VK_4 0x34 (52) "4"-Taste an der Standard-Tastenposition.
DOM_VK_5 0x35 (53) "5"-Taste an der Standard-Tastenposition.
DOM_VK_6 0x36 (54) "6"-Taste an der Standard-Tastenposition.
DOM_VK_7 0x37 (55) "7"-Taste an der Standard-Tastenposition.
DOM_VK_8 0x38 (56) "8"-Taste an der Standard-Tastenposition.
DOM_VK_9 0x39 (57) "9"-Taste an der Standard-Tastenposition.
DOM_VK_COLON 0x3A (58) Doppeltpunkt (":")-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) At-Zeichen ("@")-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) Taste zum Öffnen des Kontextmenüs.
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 Nummernblock.
DOM_VK_NUMPAD1 0x61 (97) "1" auf dem Nummernblock.
DOM_VK_NUMPAD2 0x62 (98) "2" auf dem Nummernblock.
DOM_VK_NUMPAD3 0x63 (99) "3" auf dem Nummernblock.
DOM_VK_NUMPAD4 0x64 (100) "4" auf dem Nummernblock.
DOM_VK_NUMPAD5 0x65 (101) "5" auf dem Nummernblock.
DOM_VK_NUMPAD6 0x66 (102) "6" auf dem Nummernblock.
DOM_VK_NUMPAD7 0x67 (103) "7" auf dem Nummernblock.
DOM_VK_NUMPAD8 0x68 (104) "8" auf dem Nummernblock.
DOM_VK_NUMPAD9 0x69 (105) "9" auf dem Nummernblock.
DOM_VK_MULTIPLY 0x6A (106) "*" auf dem Nummernblock.
DOM_VK_ADD 0x6B (107) "+" auf dem Nummernblock.
DOM_VK_SEPARATOR 0x6C (108)
DOM_VK_SUBTRACT 0x6D (109) "-" auf dem Nummernblock.
DOM_VK_DECIMAL 0x6E (110) Dezimalpunkt auf dem Nummernblock.
DOM_VK_DIVIDE 0x6F (111) "/" auf dem Nummernblock.
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 Lock-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 abmelden"-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) Anführungszeichen (""")-Taste.
DOM_VK_HASH 0xA3 (163) Raute ("#")-Taste.
DOM_VK_DOLLAR 0xA4 (164) Dollarzeichen ("$")-Taste.
DOM_VK_PERCENT 0xA5 (165) Prozentzeichen ("%")-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) Senkrechter Strich ("|")-Taste.
DOM_VK_HYPHEN_MINUS 0xAD (173) Bindestrich/Minus ("-")-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) Ton aus-Taste.
DOM_VK_VOLUME_DOWN 0xB6 (182) Lautstärke leiser-Taste
DOM_VK_VOLUME_UP 0xB7 (183) Lautstärke 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-Zeichen ("`")-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) Hochkomma ('')-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. Diese wurde (oder wird?) für die Olivetti ICO-Tastatur verwendet.
DOM_VK_WIN_ICO_00 0xE4 (228) Eine OEM-spezifische Taste auf Windows. Diese wurde (oder wird?) für die Olivetti ICO-Tastatur verwendet.
DOM_VK_WIN_ICO_CLEAR 0xE6 (230) Eine OEM-spezifische Taste auf Windows. Diese wurde (oder wird?) für die Olivetti ICO-Tastatur verwendet.
DOM_VK_WIN_OEM_RESET 0xE9 (233) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_JUMP 0xEA (234) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_PA1 0xEB (235) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_PA2 0xEC (236) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_PA3 0xED (237) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_WSCTRL 0xEE (238) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_CUSEL 0xEF (239) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_ATTN 0xF0 (240) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_FINISH 0xF1 (241) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_COPY 0xF2 (242) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_AUTO 0xF3 (243) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_ENLW 0xF4 (244) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_WIN_OEM_BACKTAB 0xF5 (245) Eine OEM-spezifische Taste auf Windows. Diese wurde für Geräte von Nokia/Ericsson verwendet.
DOM_VK_ATTN 0xF6 (246) Attn (Attention)-Taste von IBM-Mittelrechnern, 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) Lösch-Taste, jedoch sind wir uns über den Bedeutungsunterschied zu DOM_VK_CLEAR nicht sicher.

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

Auf Windows sind einige Werte des virtuellen Tastencodes für OEM-spezifische Tasten (reserviert) definiert. 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 unterschiedliche Bedeutungen verwendet.

Ab Gecko 21 (und älter als 15) sind OEM-spezifische Tastencodes nur auf dem keyCode-Attribut unter Windows verfügbar. Daher sind sie nicht nützlich für übliche Webanwendungen. Sie sind nur für Intranet-Anwendungen oder in ähnlichen Situationen nützlich.

Siehe "Herstellerspezifische virtuelle-Tastencodes (Windows CE 5.0)" in MSDN für weitere Details.