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 |
|
"" |
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" |
"" |
0xE000 ~ 0xE007 |
"Unidentified" |
"" |
0xE008 |
"Unidentified" (❌ Missing) |
"Undo" (⚠️ Not the same on Firefox) |
0xE009 |
"Unidentified" |
"" |
0xE00A |
"" (❌ Missing) |
"Paste" (⚠️ Not the same on Firefox) |
0xE00B ~ 0xE00F |
"" | "" |
0xE010 |
"MediaTrackPrevious" |
"MediaTrackPrevious" |
0xE011 ~ 0xE016 |
"" |
"" |
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" |
0xE025 ~ 0xE02B |
"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) |
0xE03C ~ 0xE044 |
"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" |
0xE054 ~ 0xE05A |
"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) |
0xE060 ~ 0xE062 |
"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ới0xab; - "(⚠️ 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) |
0x0099 ~ 0x00A2 |
"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) |
0x00AF ~ 0x00B2 |
"Unidentified" |
"" |
0x00B3 |
"MediaSelect" |
"MediaSelect" (was "" prior to Chromium 48) |
0x00B4 |
"BrowserHome" |
"BrowserHome" (was "" prior to Chromium 48) |
0x00B5 |
"BrowserRefresh" |
"BrowserRefresh" |
0x00B6 ~ 0x00BA |
"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 |
|
"" |
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 |
|
0x0056 |
"IntlBackslash" |
0x0057 |
"F11" |
0x0058 |
"F12" |
0x0059 |
"IntlRo" |
0x005A, 0x005B |
|
0x005C |
"Convert" |
0x005D |
"KanaMode" |
0x005E |
"NonConvert" |
0x005F |
|
0x0060 |
"NumpadEnter" |
0x0061 |
"ControlRight" |
0x0062 |
"NumpadDivide" |
0x0063 |
"PrintScreen" |
0x0064 |
"AltRight" |
0x0065 |
|
0x0066 |
"Home" |
0x0067 |
"ArrowUp" |
0x0068 |
"PageUp" |
0x0069 |
"ArrowLeft" |
0x006A |
"ArrowRight" |
0x006B |
"End" |
0x006C |
"ArrowDown" |
0x006D |
"PageDown" |
0x006E |
"Insert" |
0x006F |
"Delete" |
0x0070 |
|
0x0071 |
|
0x0072 |
|
0x0073 |
|
0x0074 |
"Power" |
0x0075 |
"NumpadEqual" |
0x0076 |
|
0x0077 |
"Pause" |
0x0078 |
|
0x0079 |
"NumpadComma" |
0x007A |
"Lang1" |
0x007B |
"Lang2" |
0x007C |
"IntlYen" |
0x007D |
|
0x007E |
|
0x007F |
"ContextMenu" |
0x0080 |
"BrowserStop" |
0x0081 |
"Again" |
0x0082 |
"Props" |
0x0083 |
"Undo" |
0x0084 |
"Select" |
0x0085 |
"Copy" |
0x0086 |
"Open" |
0x0087 |
"Paste" |
0x0088 |
"Find" |
0x0089 |
"Cut" |
0x008A |
"Help" |
0x008B ~ 0x008D |
|
0x008E |
"Sleep" |
0x008F |
"WakeUp" |
0x0090 |
"LaunchApp1" |
0x0091 ~ 0x009B |
|
0x009C |
"BrowserFavorites" |
0x009D |
|
0x009E |
"BrowserBack" |
0x009F |
"BrowserForward" |
0x00A0 |
|
0x00A1 |
"Eject" |
0x00A2 |
|
0x00A3 |
"MediaTrackNext" |
0x00A4 |
"MediaPlayPause" |
0x00A5 |
"MediaTrackPrevious" |
0x00A6 |
"MediaStop" |
0x00A7 ~ 0x00AC |
|
0x00AD |
"BrowserRefresh" |
0x00AE ~ 0x00B6 |
"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" |
0x00C3 ~ 0x00D8 |
|
0x00D9 |
"BrowserSearch" |
0x00DA ~ 0x01CF |
|
0x01D0 |
"Fn" |