Giá trị code cho sự kiện bàn phím

Các bảng sau đây cho thấy các giá trị code được sử dụng cho mỗi scancode gốc hoặc mã phím ảo trên các nền tảng chính. Lý do là một số trình duyệt chọn diễn giải các phím vật lý khác nhau, có một số khác biệt trong việc các phím ánh xạ đến code nào. Các bảng này cho thấy những biến thể đó khi đã biết.

Giá trị code trên Windows

Bảng này hiển thị các mã quét Windows đại diện cho các phím và các giá trị KeyboardEvent.code tương ứng với các phím phần cứng đó. Chỉ liệt kê các phím tạo ra mã quét trên Windows.

Trong các ô, "(❌ Missing)" có nghĩa là giá trị code này không thể được phát hiện trên trình duyệt này; "(⚠️ Not the same on xyz)" có nghĩa là chuỗi này đại diện cho giá trị code khác trên trình duyệt xyz và cần đặc biệt chú ý khi sử dụng nó.

KeyboardEvent.code value
Code Firefox Chrome
0x0000

"Unidentified"

""
0x0001 "Escape" "Escape"
0x0002 "Digit1" "Digit1"
0x0003 "Digit2" "Digit2"
0x0004 "Digit3" "Digit3"
0x0005 "Digit4" "Digit4"
0x0006 "Digit5" "Digit5"
0x0007 "Digit6" "Digit6"
0x0008 "Digit7" "Digit7"
0x0009 "Digit8" "Digit8"
0x000A "Digit9" "Digit9"
0x000B "Digit0" "Digit0"
0x000C "Minus" "Minus"
0x000D "Equal" "Equal"
0x000E "Backspace" "Backspace"
0x000F "Tab" "Tab"
0x0010 "KeyQ" "KeyQ"
0x0011 "KeyW" "KeyW"
0x0012 "KeyE" "KeyE"
0x0013 "KeyR" "KeyR"
0x0014 "KeyT" "KeyT"
0x0015 "KeyY" "KeyY"
0x0016 "KeyU" "KeyU"
0x0017 "KeyI" "KeyI"
0x0018 "KeyO" "KeyO"
0x0019 "KeyP" "KeyP"
0x001A "BracketLeft" "BracketLeft"
0x001B "BracketRight" "BracketRight"
0x001C "Enter" "Enter"
0x001D "ControlLeft" "ControlLeft"
0x001E "KeyA" "KeyA"
0x001F "KeyS" "KeyS"
0x0020 "KeyD" "KeyD"
0x0021 "KeyF" "KeyF"
0x0022 "KeyG" "KeyG"
0x0023 "KeyH" "KeyH"
0x0024 "KeyJ" "KeyJ"
0x0025 "KeyK" "KeyK"
0x0026 "KeyL" "KeyL"
0x0027 "Semicolon" "Semicolon"
0x0028 "Quote" "Quote"
0x0029 "Backquote" "Backquote"
0x002A "ShiftLeft" "ShiftLeft"
0x002B "Backslash" "Backslash"
0x002C "KeyZ" "KeyZ"
0x002D "KeyX" "KeyX"
0x002E "KeyC" "KeyC"
0x002F "KeyV" "KeyV"
0x0030 "KeyB" "KeyB"
0x0031 "KeyN" "KeyN"
0x0032 "KeyM" "KeyM"
0x0033 "Comma" "Comma"
0x0034 "Period" "Period"
0x0035 "Slash" "Slash"
0x0036 "ShiftRight" "ShiftRight"
0x0037 "NumpadMultiply" "NumpadMultiply"
0x0038 "AltLeft" "AltLeft"
0x0039 "Space" "Space"
0x003A "CapsLock" "CapsLock"
0x003B "F1" "F1"
0x003C "F2" "F2"
0x003D "F3" "F3"
0x003E "F4" "F4"
0x003F "F5" "F5"
0x0040 "F6" "F6"
0x0041 "F7" "F7"
0x0042 "F8" "F8"
0x0043 "F9" "F9"
0x0044 "F10" "F10"
0x0045 "Pause" "Pause"
0x0046 "ScrollLock" "ScrollLock"
0x0047 "Numpad7" "Numpad7"
0x0048 "Numpad8" "Numpad8"
0x0049 "Numpad9" "Numpad9"
0x004A "NumpadSubtract" "NumpadSubtract"
0x004B "Numpad4" "Numpad4"
0x004C "Numpad5" "Numpad5"
0x004D "Numpad6" "Numpad6"
0x004E "NumpadAdd" "NumpadAdd"
0x004F "Numpad1" "Numpad1"
0x0050 "Numpad2" "Numpad2"
0x0051 "Numpad3" "Numpad3"
0x0052 "Numpad0" "Numpad0"
0x0053 "NumpadDecimal" "NumpadDecimal"
0x0054 (Alt + PrintScreen) "PrintScreen" (⚠️ Not the same on Chrome) "" (❌ Missing)
0x0055 "Unidentified" ""
0x0056 "IntlBackslash" "IntlBackslash"
0x0057 "F11" "F11"
0x0058 "F12" "F12"
0x0059 "NumpadEqual" "NumpadEqual" (was "" prior to Chrome 48)
0x005A "Unidentified" ""
0x005B "Unidentified" "" (was "F13" prior to Chrome 48)
0x005C "Unidentified" "" (was "F14" prior to Chrome 48)
0x005D "Unidentified" "" (was "F15" prior to Chrome 48)
0x005E "Unidentified" ""
0x005F "Unidentified" ""
0x0060 "Unidentified" ""
0x0061 "Unidentified" ""
0x0062 "Unidentified" ""
0x0063 "Unidentified" "" (was "F16" prior to Chrome 48)
0x0064 "F13" "F13" (was "F17" prior to Chrome 48)
0x0065 "F14" "F14" (was "F18" prior to Chrome 48)
0x0066 "F15" "F15" (was "F19" prior to Chrome 48)
0x0067 "F16" "F16" (was "F20" prior to Chrome 48)
0x0068 "F17" "F17" (was "F21" prior to Chrome 48)
0x0069 "F18" "F18" (was "F22" prior to Chrome 48)
0x006A "F19" "F19" (was "F23" prior to Chrome 48)
0x006B "F20" "F20" (was "F24" prior to Chrome 48)
0x006C "F21" "F21" (was "" prior to Chrome 48)
0x006D "F22" "F22" (was "" prior to Chrome 48)
0x006E "F23" "F23" (was "" prior to Chrome 48)
0x006F "Unidentified" ""
0x0070 "KanaMode" "KanaMode" (was "" prior to Chrome 48)
0x0071 (Hanja key without Korean keyboard layout) "Lang2" "Lang2" (was "" prior to Chrome 48)
0x0072 (Han/Yeong key without Korean keyboard layout) "Lang1" "Lang1" (was "" prior to Chrome 48)
0x0073 "IntlRo" "IntlRo" (was "" prior to Chrome 48)
0x0074, 0x0075 "Unidentified" ""
0x0076 "F24" "F24" (was "" prior to Chrome 48)
0x0077 "Unidentified" (❌ Missing) "Lang4" (was "" prior to Chrome 48) (⚠️ Not the same on Firefox)
0x0078 "Unidentified" (❌ Missing) "Lang3" (was "" prior to Chrome 48) (⚠️ Not the same on Firefox)
0x0079 "Convert" "Convert" (was "" prior to Chrome 48)
0x007A "Unidentified" ""
0x007B "NonConvert" "NonConvert" (was "" prior to Chrome 48)
0x007C "Unidentified" ""
0x007D "IntlYen" "IntlYen"
0x007E "NumpadComma" "NumpadComma" (was "" prior to Chrome 48)
0x007F "Unidentified" ""
0xE0000xE007 "Unidentified" ""
0xE008 "Unidentified" (❌ Missing) "Undo" (⚠️ Not the same on Firefox)
0xE009 "Unidentified" ""
0xE00A "" (❌ Missing) "Paste" (⚠️ Not the same on Firefox)
0xE00B0xE00F "" ""
0xE010 "MediaTrackPrevious" "MediaTrackPrevious"
0xE0110xE016 "" ""
0xE017 "Unidentified" (❌ Missing) "Cut" (⚠️ Not the same on Firefox)
0xE018 "Unidentified" (❌ Missing) "Copy" (⚠️ Not the same on Firefox)
0xE019 "MediaTrackNext" "MediaTrackNext"
0xE01A, 0xE01B "Unidentified" ""
0xE01C "NumpadEnter" "NumpadEnter"
0xE01D "ControlRight" "ControlRight"
0xE01E "Unidentified" "" (was "LaunchMail" prior to Chrome 48)
0xE01F "Unidentified" ""
0xE020 "AudioVolumeMute" "AudioVolumeMute"
0xE021 "LaunchApp2" "LaunchApp2" (was "" prior to Chrome 48)
0xE022 "MediaPlayPause" "MediaPlayPause"
0xE023 "Unidentified" ""
0xE024 "MediaStop" "MediaStop"
0xE0250xE02B "Unidentified" ""
0xE02C "Unidentified" (❌ Missing) "Eject" (⚠️ Not the same on Firefox)
0xE02D "Unidentified" ""
0xE02E "VolumeDown" (⚠️ Not the same on Chrome) "AudioVolumeDown" (was "VolumeDown" prior to Chrome 52) (⚠️ Not the same on Firefox)
0xE02F "Unidentified" ""
0xE030 "VolumeUp" (⚠️ Not the same on Chrome) "AudioVolumeUp" (was "VolumeUp" prior to Chrome 52) (⚠️ Not the same on Firefox)
0xE031 "Unidentified" ""
0xE032 "BrowserHome" "BrowserHome"
0xE033, 0xE034 "Unidentified" ""
0xE035 "NumpadDivide" "NumpadDivide"
0xE036 "Unidentified" ""
0xE037 "PrintScreen" "PrintScreen"
0xE038 "AltRight" "AltRight"
0xE039, 0xE03A "Unidentified" ""
0xE03B "Unidentified" (❌ Missing) "Help" (⚠️ Not the same on Firefox)
0xE03C0xE044 "Unidentified" ""
0xE045 "NumLock" "NumLock"
0xE046 (Ctrl + Pause) "Pause" "Pause"
0xE047 "Home" "Home"
0xE048 "ArrowUp" "ArrowUp"
0xE049 "PageUp" "PageUp"
0xE04A "Unidentified" ""
0xE04B "ArrowLeft" "ArrowLeft"
0xE04C "Unidentified" ""
0xE04D "ArrowRight" "ArrowRight"
0xE04E "Unidentified" ""
0xE04F "End" "End"
0xE050 "ArrowDown" "ArrowDown"
0xE051 "PageDown" "PageDown"
0xE052 "Insert" "Insert"
0xE053 "Delete" "Delete"
0xE0540xE05A "Unidentified" ""
0xE05B "MetaLeft" (was "OSLeft" prior to Firefox 118) "MetaLeft" (was "OSLeft" prior to Chrome 52)
0xE05C "MetaRight" (was "OSRight" prior to Firefox 118) "MetaRight" (was "OSRight" prior to Chrome 52)
0xE05D "ContextMenu" "ContextMenu"
0xE05E "Power" "Power" (was "" prior to Chrome 48)
0xE05F "Unidentified" (❌ Missing) "Sleep" (was "" prior to Chrome 48) (⚠️ Not the same on Firefox)
0xE0600xE062 "Unidentified" ""
0xE063 "Unidentified" (❌ Missing) "WakeUp" (was "" prior to Chrome 48) (⚠️ Not the same on Firefox)
0xE064 "Unidentified" ""
0xE065 "BrowserSearch" "BrowserSearch"
0xE066 "BrowserFavorites" "BrowserFavorites"
0xE067 "BrowserRefresh" "BrowserRefresh"
0xE068 "BrowserStop" "BrowserStop"
0xE069 "BrowserForward" "BrowserForward"
0xE06A "BrowserBack" "BrowserBack"
0xE06B "LaunchApp1" "LaunchApp1" (was "" prior to Chrome 48)
0xE06C "LaunchMail" "LaunchMail" (was "" prior to Chrome 48)
0xE06D "MediaSelect" "MediaSelect" (was "" prior to Chrome 48)
0xE06E ~ 0xE0F0 "Unidentified" ""
0xE0F1 (Hanja key with Korean keyboard layout) "Lang2" (⚠️ Not the same on Chrome) "" (❌ Missing)
0xE0F2 (Han/Yeong key with Korean keyboard layout) "Lang1" (⚠️ Not the same on Chrome) "" (❌ Missing)

Giá trị code trên Mac

Trên macOS, rất khó để lấy scancode hoặc thứ gì đó có thể phân biệt phím vật lý với sự kiện phím. Do đó, Firefox luôn ánh xạ giá trị code từ mã phím ảo.

Trong các ô,

  • "(❌ Missing)" có nghĩa là giá trị code này không thể được phát hiện trên trình duyệt này;
  • "(⚠️ Not the same on xyz)" có nghĩa là chuỗi này đại diện cho giá trị code khác trên trình duyệt xyz và cần đặc biệt chú ý khi sử dụng nó;
  • "(⚠️ Same string for 0xab)" có nghĩa là bạn không thể phân biệt phím này với phím khớp với 0xab;
  • "(⚠️ No events fired actually)" có nghĩa là dù về mặt kỹ thuật bạn có chuỗi cụ thể cho code này, không có sự kiện nào sẽ được gửi đi;
Virtual keycode Firefox Chromium
kVK_ANSI_A (0x00) "KeyA" "KeyA"
kVK_ANSI_S (0x01) "KeyS" "KeyS"
kVK_ANSI_D (0x02) "KeyD" "KeyD"
kVK_ANSI_F (0x03) "KeyF" "KeyF"
kVK_ANSI_H (0x04) "KeyH" "KeyH"
kVK_ANSI_G (0x05) "KeyG" "KeyG"
kVK_ANSI_Z (0x06) "KeyZ" "KeyZ"
kVK_ANSI_X (0x07) "KeyX" "KeyX"
kVK_ANSI_C (0x08) "KeyC" "KeyC"
kVK_ANSI_V (0x09) "KeyV" "KeyV"
kVK_ISO_Section (0x0A) "IntlBackslash" "IntlBackslash"
kVK_ANSI_B (0x0B) "KeyB" "KeyB"
kVK_ANSI_Q (0x0C) "KeyQ" "KeyQ"
kVK_ANSI_W (0x0D) "KeyW" "KeyW"
kVK_ANSI_E (0x0E) "KeyE" "KeyE"
kVK_ANSI_R (0x0F) "KeyR" "KeyR"
kVK_ANSI_Y (0x10) "KeyY" "KeyY"
kVK_ANSI_T (0x11) "KeyT" "KeyT"
kVK_ANSI_1 (0x12) "Digit1" "Digit1"
kVK_ANSI_2 (0x13) "Digit2" "Digit2"
kVK_ANSI_3 (0x14) "Digit3" "Digit3"
kVK_ANSI_4 (0x15) "Digit4" "Digit4"
kVK_ANSI_6 (0x16) "Digit6" "Digit6"
kVK_ANSI_5 (0x17) "Digit5" "Digit5"
kVK_ANSI_Equal (0x18) "Equal" "Equal"
kVK_ANSI_9 (0x19) "Digit9" "Digit9"
kVK_ANSI_7 (0x1A) "Digit7" "Digit7"
kVK_ANSI_Minus (0x1B) "Minus" "Minus"
kVK_ANSI_8 (0x1C) "Digit8" "Digit8"
kVK_ANSI_0 (0x1D) "Digit0" "Digit0"
kVK_ANSI_RightBracket (0x1E) "BracketRight" "BracketRight"
kVK_ANSI_O (0x1F) "KeyO" "KeyO"
kVK_ANSI_U (0x20) "KeyU" "KeyU"
kVK_ANSI_LeftBracket (0x21) "BracketLeft" "BracketLeft"
kVK_ANSI_I (0x22) "KeyI" "KeyI"
kVK_ANSI_P (0x23) "KeyP" "KeyP"
kVK_Return (0x24) "Enter" "Enter"
kVK_ANSI_L (0x25) "KeyL" "KeyL"
kVK_ANSI_J (0x26) "KeyJ" "KeyJ"
kVK_ANSI_Quote (0x27) "Quote" "Quote"
kVK_ANSI_K (0x28) "KeyK" "KeyK"
kVK_ANSI_Semicolon (0x29) "Semicolon" "Semicolon"
kVK_ANSI_Backslash (0x2A) "Backslash" "Backslash"
kVK_ANSI_Comma (0x2B) "Comma" "Comma"
kVK_ANSI_Slash (0x2C) "Slash" "Slash"
kVK_ANSI_N (0x2D) "KeyN" "KeyN"
kVK_ANSI_M (0x2E) "KeyM" "KeyM"
kVK_ANSI_Period (0x2F) "Period" "Period"
kVK_Tab (0x30) "Tab" "Tab"
kVK_Space (0x31) "Space" "Space"
kVK_ANSI_Grave (0x32) "Backquote" "Backquote"
kVK_Delete (0x33) "Backspace" "Backspace"
Enter key on keypad of PowerBook (0x34) "NumpadEnter" (⚠️ Same string for 0x4C) (⚠️ Not the same on Chromium) "" (❌ Missing)
kVK_Escape (0x35) "Escape" "Escape"
right-command key (0x36) "MetaRight" (was "OSRight" prior to Firefox 118) "MetaRight" (was "OSRight" prior to Chromium 52)
kVK_Command (0x37) "MetaLeft" (was "OSLeft" prior to Firefox 118) "MetaLeft" (was "OSLeft" prior to Chromium 52)
kVK_Shift (0x38) "ShiftLeft" "ShiftLeft"
kVK_CapsLock (0x39) "CapsLock" "CapsLock"
kVK_Option (0x3A) "AltLeft" "AltLeft"
kVK_Control (0x3B) "ControlLeft" "ControlLeft"
kVK_RightShift (0x3C) "ShiftRight" "ShiftRight"
kVK_RightOption (0x3D) "AltRight" "AltRight"
kVK_RightControl (0x3E) "ControlRight" "ControlRight"
kVK_Function (0x3F) "Fn" (⚠️ No events fired actually) "" (❌ Missing) (⚠️ No events fired actually)
kVK_F17 (0x40) "F17" "F17"
kVK_ANSI_KeypadDecimal (0x41) "NumpadDecimal" "NumpadDecimal"
kVK_ANSI_KeypadMultiply (0x43) "NumpadMultiply" "NumpadMultiply"
kVK_ANSI_KeypadPlus (0x45) "NumpadAdd" "NumpadAdd"
kVK_ANSI_KeypadClear (0x47) "NumLock" "NumLock"
kVK_VolumeUp (0x48) "VolumeUp" (⚠️ Not the same on Chromium) "AudioVolumeUp" (was "VolumeUp" prior to Chromium 1) (⚠️ Not the same on Firefox)
kVK_VolumeDown (0x49) "VolumeDown" (⚠️ Not the same on Chromium) "AudioVolumeDown" (was "VolumeDown" prior to Chromium 52) (⚠️ Not the same on Firefox)
kVK_Mute (0x4A) "VolumeMute" (⚠️ Not the same on Chromium) "AudioVolumeMute" (was "VolumeMute" prior to Chromium 52) (⚠️ Not the same on Firefox)
kVK_ANSI_KeypadDivide (0x4B) "NumpadDivide" "NumpadDivide"
kVK_ANSI_KeypadEnter (0x4C) "NumpadEnter" "NumpadEnter"
kVK_ANSI_KeypadMinus (0x4E) "NumpadSubtract" "NumpadSubtract"
kVK_F18 (0x4F) "F18" "F18"
kVK_F19 (0x50) "F19" "F19"
kVK_ANSI_KeypadEquals (0x51) "NumpadEqual" "NumpadEqual"
kVK_ANSI_Keypad0 (0x52) "Numpad0" "Numpad0"
kVK_ANSI_Keypad1 (0x53) "Numpad1" "Numpad1"
kVK_ANSI_Keypad2 (0x54) "Numpad2" "Numpad2"
kVK_ANSI_Keypad3 (0x55) "Numpad3" "Numpad3"
kVK_ANSI_Keypad4 (0x56) "Numpad4" "Numpad4"
kVK_ANSI_Keypad5 (0x57) "Numpad5" "Numpad5"
kVK_ANSI_Keypad6 (0x58) "Numpad6" "Numpad6"
kVK_ANSI_Keypad7 (0x59) "Numpad7" "Numpad7"
kVK_F20 (0x5A) "F20" "F20"
kVK_ANSI_Keypad8 (0x5B) "Numpad8" "Numpad8"
kVK_ANSI_Keypad9 (0x5C) "Numpad9" "Numpad9"
kVK_JIS_Yen (0x5D) "IntlYen" "IntlYen"
kVK_JIS_Underscore (0x5E) "IntlRo" "IntlRo"
kVK_JIS_KeypadComma (0x5F) "NumpadComma" "NumpadComma"
kVK_F5 (0x60) "F5" "F5"
kVK_F6 (0x61) "F6" "F6"
kVK_F7 (0x62) "F7" "F7"
kVK_F3 (0x63) "F3" "F3"
kVK_F8 (0x64) "F8" "F8"
kVK_F9 (0x65) "F9" "F9"
kVK_JIS_Eisu (0x66) "Lang2" "Lang2" (was "" prior to Chromium 82) (⚠️ No events fired actually)
kVK_F11 (0x67) "F11" "F11"
kVK_JIS_Kana (0x68) "Lang1" "Lang1" (was "KanaMode" prior to Chromium 82) (⚠️ No events fired actually)
kVK_F13 (0x69) "F13" "F13"
kVK_F16 (0x6A) "F16" "F16"
kVK_F14 (0x6B) "F14" "F14"
kVK_F10 (0x6D) "F10" "F10"
context menu key (0x6E) "ContextMenu" "ContextMenu"
kVK_F12 (0x6F) "F12" "F12"
kVK_F15 (0x71) "F15" "F15"
kVK_Help (0x72) "Help" (⚠️ Not the same on Chromium) "Insert" (⚠️ Not the same on Firefox)
kVK_Home (0x73) "Home" "Home"
kVK_PageUp (0x74) "PageUp" "PageUp"
kVK_ForwardDelete (0x75) "Delete" "Delete"
kVK_F4 (0x76) "F4" "F4"
kVK_End (0x77) "End" "End"
kVK_F2 (0x78) "F2" "F2"
kVK_PageDown (0x79) "PageDown" "PageDown"
kVK_F1 (0x7A) "F1" "F1"
kVK_LeftArrow (0x7B) "ArrowLeft" "ArrowLeft"
kVK_RightArrow (0x7C) "ArrowRight" "ArrowRight"
kVK_DownArrow (0x7D) "ArrowDown" "ArrowDown"
kVK_UpArrow (0x7E) "ArrowUp" "ArrowUp"

Giá trị code trên Linux (X11)

Lưu ý rằng X có quá nhiều phím và một số trong đó không thể kiểm tra bằng bàn phím thông thường. Vì vậy, bảng sau được tạo từ mã nguồn ánh xạ từ scancode đến giá trị code.

Trong các ô, "(❌ Missing)" có nghĩa là giá trị code này không thể được phát hiện trên trình duyệt này.

scancode (hardware_keycode) Firefox Chromium
0x0009 "Escape" "Escape"
0x000A "Digit1" "Digit1"
0x000B "Digit2" "Digit2"
0x000C "Digit3" "Digit3"
0x000D "Digit4" "Digit4"
0x000E "Digit5" "Digit5"
0x000F "Digit6" "Digit6"
0x0010 "Digit7" "Digit7"
0x0011 "Digit8" "Digit8"
0x0012 "Digit9" "Digit9"
0x0013 "Digit0" "Digit0"
0x0014 "Minus" "Minus"
0x0015 "Equal" "Equal"
0x0016 "Backspace" "Backspace"
0x0017 "Tab" "Tab"
0x0018 "KeyQ" "KeyQ"
0x0019 "KeyW" "KeyW"
0x001A "KeyE" "KeyE"
0x001B "KeyR" "KeyR"
0x001C "KeyT" "KeyT"
0x001D "KeyY" "KeyY"
0x001E "KeyU" "KeyU"
0x001F "KeyI" "KeyI"
0x0020 "KeyO" "KeyO"
0x0021 "KeyP" "KeyP"
0x0022 "BracketLeft" "BracketLeft"
0x0023 "BracketRight" "BracketRight"
0x0024 "Enter" "Enter"
0x0025 "ControlLeft" "ControlLeft"
0x0026 "KeyA" "KeyA"
0x0027 "KeyS" "KeyS"
0x0028 "KeyD" "KeyD"
0x0029 "KeyF" "KeyF"
0x002A "KeyG" "KeyG"
0x002B "KeyH" "KeyH"
0x002C "KeyJ" "KeyJ"
0x002D "KeyK" "KeyK"
0x002E "KeyL" "KeyL"
0x002F "Semicolon" "Semicolon"
0x0030 "Quote" "Quote"
0x0031 "Backquote" "Backquote"
0x0032 "ShiftLeft" "ShiftLeft"
0x0033 "Backslash" "Backslash"
0x0034 "KeyZ" "KeyZ"
0x0035 "KeyX" "KeyX"
0x0036 "KeyC" "KeyC"
0x0037 "KeyV" "KeyV"
0x0038 "KeyB" "KeyB"
0x0039 "KeyN" "KeyN"
0x003A "KeyM" "KeyM"
0x003B "Comma" "Comma"
0x003C "Period" "Period"
0x003D "Slash" "Slash"
0x003E "ShiftRight" "ShiftRight"
0x003F "NumpadMultiply" "NumpadMultiply"
0x0040 "AltLeft" "AltLeft"
0x0041 "Space" "Space"
0x0042 "CapsLock" "CapsLock"
0x0043 "F1" "F1"
0x0044 "F2" "F2"
0x0045 "F3" "F3"
0x0046 "F4" "F4"
0x0047 "F5" "F5"
0x0048 "F6" "F6"
0x0049 "F7" "F7"
0x004A "F8" "F8"
0x004B "F9" "F9"
0x004C "F10" "F10"
0x004D "NumLock" "NumLock"
0x004E "ScrollLock" "ScrollLock"
0x004F "Numpad7" "Numpad7"
0x0050 "Numpad8" "Numpad8"
0x0051 "Numpad9" "Numpad9"
0x0052 "NumpadSubtract" "NumpadSubtract"
0x0053 "Numpad4" "Numpad4"
0x0054 "Numpad5" "Numpad5"
0x0055 "Numpad6" "Numpad6"
0x0056 "NumpadAdd" "NumpadAdd"
0x0057 "Numpad1" "Numpad1"
0x0058 "Numpad2" "Numpad2"
0x0059 "Numpad3" "Numpad3"
0x005A "Numpad0" "Numpad0"
0x005B "NumpadDecimal" "NumpadDecimal"
0x005C "Unidentified" ""
0x005D "Unidentified" (❌ Missing) "Lang5" (was "" prior to Chromium 48) (⚠️ Not the same on Firefox)
0x005E "IntlBackslash" "IntlBackslash"
0x005F "F11" "F11"
0x0060 "F12" "F12"
0x0061 "IntlRo" "IntlRo"
0x0062 "Unidentified" (❌ Missing) "Lang3" (⚠️ Not the same on Firefox)
0x0063 "Unidentified" (❌ Missing) "Lang4" (⚠️ Not the same on Firefox)
0x0064 "Convert" "Convert"
0x0065 "KanaMode" "KanaMode"
0x0066 "NonConvert" "NonConvert"
0x0067 "Unidentified" ""
0x0068 "NumpadEnter" "NumpadEnter"
0x0069 "ControlRight" "ControlRight"
0x006A "NumpadDivide" "NumpadDivide"
0x006B "PrintScreen" "PrintScreen"
0x006C "AltRight" "AltRight"
0x006D "Unidentified" ""
0x006E "Home" "Home"
0x006F "ArrowUp" "ArrowUp"
0x0070 "PageUp" "PageUp"
0x0071 "ArrowLeft" "ArrowLeft"
0x0072 "ArrowRight" "ArrowRight"
0x0073 "End" "End"
0x0074 "ArrowDown" "ArrowDown"
0x0075 "PageDown" "PageDown"
0x0076 "Insert" "Insert"
0x0077 "Delete" "Delete"
0x0078 "Unidentified" ""
0x0079 "VolumeMute" (⚠️ Not the same on Chromium) "AudioVolumeMute" (was "VolumeMute" prior to Chromium 52) (⚠️ Not the same on Firefox)
0x007A "VolumeDown" (⚠️ Not the same on Chromium) "AudioVolumeDown" (was "VolumeDown" prior to Chromium 52) (⚠️ Not the same on Firefox)
0x007B "VolumeUp" (⚠️ Not the same on Chromium) "AudioVolumeUp" (was "VolumeUp" prior to Chromium 52) (⚠️ Not the same on Firefox)
0x007C "Unidentified" (❌ Missing) "Power" (⚠️ Not the same on Firefox)
0x007D "NumpadEqual" "NumpadEqual"
0x007E "Unidentified" ""
0x007F "Pause" "Pause"
0x0080 "Unidentified" ""
0x0081 "NumpadComma" "NumpadComma"
0x0082 "Lang1" "Lang1"
0x0083 "Lang2" "Lang2"
0x0084 "IntlYen" "IntlYen"
0x0085 "MetaLeft" (was "OSLeft" prior to Firefox 118) "MetaLeft" (was "OSLeft" prior to Chromium 52)
0x0086 "MetaRight" (was "OSRight" prior to Firefox 118) "MetaRight" (was "OSRight" prior to Chromium 52)
0x0087 "ContextMenu" "ContextMenu"
0x0088 "BrowserStop" "BrowserStop" (was "Abort" prior to Chromium 48)
0x0089 "Again" "Again"
0x008A "Props" (⚠️ Not the same on Chromium) "" (❌ Missing)
0x008B "Undo" "Undo"
0x008C "Select" "Select" (was "" prior to Chromium 48)
0x008D "Copy" "Copy"
0x008E "Open" "Open" (was "" prior to Chromium 48)
0x008F "Paste" "Paste"
0x0090 "Find" "Find"
0x0091 "Cut" "Cut"
0x0092 "Help" "Help"
0x0093 "Unidentified" ""
0x0094 "LaunchApp2" "LaunchApp2"
0x0095 "Unidentified" ""
0x0096 "Unidentified" (❌ Missing) "Sleep" (⚠️ Not the same on Firefox)
0x0097 "WakeUp" "WakeUp"
0x0098 "LaunchApp1" "LaunchApp1" (was "" prior to Chromium 48)
0x00990x00A2 "Unidentified" ""
0x00A3 "LaunchMail" "LaunchMail" (was "" prior to Chromium 51)
0x00A4 "BrowserFavorites" "BrowserFavorites"
0x00A5 "Unidentified" ""
0x00A6 "BrowserBack" "BrowserBack"
0x00A7 "BrowserForward" "BrowserForward"
0x00A8 "Unidentified" ""
0x00A9 "Eject" "Eject" (was "" prior to Chromium 48)
0x00AA "Unidentified" ""
0x00AB "MediaTrackNext" "MediaTrackNext" (was "" prior to Chromium 48)
0x00AC "MediaPlayPause" "MediaPlayPause" (was "" prior to Chromium 48)
0x00AD "MediaTrackPrevious" "MediaTrackPrevious" (was "" prior to Chromium 48)
0x00AE "MediaStop" "MediaStop" (was "" prior to Chromium 48)
0x00AF0x00B2 "Unidentified" ""
0x00B3 "MediaSelect" "MediaSelect" (was "" prior to Chromium 48)
0x00B4 "BrowserHome" "BrowserHome" (was "" prior to Chromium 48)
0x00B5 "BrowserRefresh" "BrowserRefresh"
0x00B60x00BA "Unidentified" ""
0x00BB "Unidentified" (❌ Missing) "NumpadParenLeft" (⚠️ Not the same on Firefox)
0x00BC "Unidentified" (❌ Missing) "NumpadParenRight" (⚠️ Not the same on Firefox)
0x00BD, 0x00BE "Unidentified" ""
0x00BF "F13" "F13"
0x00C0 "F14" "F14"
0x00C1 "F15" "F15"
0x00C2 "F16" "F16"
0x00C3 "F17" "F17"
0x00C4 "F18" "F18"
0x00C5 "F19" "F19"
0x00C6 "F20" "F20"
0x00C7 "F21" "F21"
0x00C8 "F22" "F22"
0x00C9 "F23" "F23"
0x00CA "F24" "F24"
0x00CB ~ 0x00E0

"Unidentified"

""
0x00E1 "BrowserSearch" (⚠️ Not the same on Chromium) "BrowserSearch" (was "BrightnessUp" prior to Chromium 48)

Giá trị code trên Firefox cho Android

scancode Firefox
0x0001 "Escape"
0x0002 "Digit1"
0x0003 "Digit2"
0x0004 "Digit3"
0x0005 "Digit4"
0x0006 "Digit5"
0x0007 "Digit6"
0x0008 "Digit7"
0x0009 "Digit8"
0x000A "Digit9"
0x000B "Digit0"
0x000C "Minus"
0x000D "Equal"
0x000E "Backspace"
0x000F "Tab"
0x0010 "KeyQ"
0x0011 "KeyW"
0x0012 "KeyE"
0x0013 "KeyR"
0x0014 "KeyT"
0x0015 "KeyY"
0x0016 "KeyU"
0x0017 "KeyI"
0x0018 "KeyO"
0x0019 "KeyP"
0x001A "BracketLeft"
0x001B "BracketRight"
0x001C "Enter"
0x001D "ControlLeft"
0x001E "KeyA"
0x001F "KeyS"
0x0020 "KeyD"
0x0021 "KeyF"
0x0022 "KeyG"
0x0023 "KeyH"
0x0024 "KeyJ"
0x0025 "KeyK"
0x0026 "KeyL"
0x0027 "Semicolon"
0x0028 "Quote"
0x0029 "Backquote"
0x002A "ShiftLeft"
0x002B "Backslash"
0x002C "KeyZ"
0x002D "KeyX"
0x002E "KeyC"
0x002F "KeyV"
0x0030 "KeyB"
0x0031 "KeyN"
0x0032 "KeyM"
0x0033 "Comma"
0x0034 "Period"
0x0035 "Slash"
0x0036 "ShiftRight"
0x0037 "NumpadMultiply"
0x0038 "AltLeft"
0x0039 "Space"
0x003A "CapsLock"
0x003B "F1"
0x003C "F2"
0x003D "F3"
0x003E "F4"
0x003F "F5"
0x0040 "F6"
0x0041 "F7"
0x0042 "F8"
0x0043 "F9"
0x0044 "F10"
0x0045 "NumLock"
0x0046 "ScrollLock"
0x0047 "Numpad7"
0x0048 "Numpad8"
0x0049 "Numpad9"
0x004A "NumpadSubtract"
0x004B "Numpad4"
0x004C "Numpad5"
0x004D "Numpad6"
0x004E "NumpadAdd"
0x004F "Numpad1"
0x0050 "Numpad2"
0x0051 "Numpad3"
0x0052 "Numpad0"
0x0053 "NumpadDecimal"
0x0054, 0x0055

"Unidentified"

0x0056 "IntlBackslash"
0x0057 "F11"
0x0058 "F12"
0x0059 "IntlRo"
0x005A, 0x005B

"Unidentified"

0x005C "Convert"
0x005D "KanaMode"
0x005E "NonConvert"
0x005F

"Unidentified"

0x0060 "NumpadEnter"
0x0061 "ControlRight"
0x0062 "NumpadDivide"
0x0063 "PrintScreen"
0x0064 "AltRight"
0x0065

"Unidentified"

0x0066 "Home"
0x0067 "ArrowUp"
0x0068 "PageUp"
0x0069 "ArrowLeft"
0x006A "ArrowRight"
0x006B "End"
0x006C "ArrowDown"
0x006D "PageDown"
0x006E "Insert"
0x006F "Delete"
0x0070

"Unidentified"

0x0071

"VolumeMute"

0x0072

"VolumeDown"

0x0073

"VolumeUp"

0x0074 "Power"
0x0075 "NumpadEqual"
0x0076

"Unidentified"

0x0077 "Pause"
0x0078

"Unidentified"

0x0079 "NumpadComma"
0x007A "Lang1"
0x007B "Lang2"
0x007C "IntlYen"
0x007D

"MetaLeft" (was "OSLeft" prior to Firefox 118)

0x007E

"MetaRight" (was "OSRight" prior to Firefox 118)

0x007F "ContextMenu"
0x0080 "BrowserStop"
0x0081 "Again"
0x0082 "Props"
0x0083 "Undo"
0x0084 "Select"
0x0085 "Copy"
0x0086 "Open"
0x0087 "Paste"
0x0088 "Find"
0x0089 "Cut"
0x008A "Help"
0x008B0x008D

"Unidentified"

0x008E "Sleep"
0x008F "WakeUp"
0x0090 "LaunchApp1"
0x00910x009B

"Unidentified"

0x009C "BrowserFavorites"
0x009D

"Unidentified"

0x009E "BrowserBack"
0x009F "BrowserForward"
0x00A0

"Unidentified"

0x00A1 "Eject"
0x00A2

"Unidentified"

0x00A3 "MediaTrackNext"
0x00A4 "MediaPlayPause"
0x00A5 "MediaTrackPrevious"
0x00A6 "MediaStop"
0x00A70x00AC

"Unidentified"

0x00AD "BrowserRefresh"
0x00AE0x00B6 "Unidentified"
0x00B7 "F13"
0x00B8 "F14"
0x00B9 "F15"
0x00BA "F16"
0x00BB "F17"
0x00BC "F18"
0x00BD "F19"
0x00BE "F20"
0x00BF "F21"
0x00C0 "F22"
0x00C1 "F23"
0x00C2 "F24"
0x00C30x00D8

"Unidentified"

0x00D9 "BrowserSearch"
0x00DA0x01CF

"Unidentified"

0x01D0 "Fn"