键盘按键信息
按下任意按键,查看 key、code、keyCode、which、修饰键状态与按键位置,附原始事件信息表与常见按键速查表。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
按键捕获
点击下面的区域后按下任意按键(也可以直接按,监听挂在窗口上)。
按键信息
尚未捕获按键
原始事件信息
按下按键后这里会列出原始属性。
常见按键速查表
按 keyCode 排序的常用按键,覆盖字母、数字、功能键、方向键、小键盘、修饰键与符号键。
| 按键 | code | keyCode | 分类 |
|---|---|---|---|
| A | KeyA | 65 | 字母 |
| B | KeyB | 66 | 字母 |
| C | KeyC | 67 | 字母 |
| D | KeyD | 68 | 字母 |
| E | KeyE | 69 | 字母 |
| F | KeyF | 70 | 字母 |
| G | KeyG | 71 | 字母 |
| H | KeyH | 72 | 字母 |
| I | KeyI | 73 | 字母 |
| J | KeyJ | 74 | 字母 |
| K | KeyK | 75 | 字母 |
| L | KeyL | 76 | 字母 |
| M | KeyM | 77 | 字母 |
| N | KeyN | 78 | 字母 |
| O | KeyO | 79 | 字母 |
| P | KeyP | 80 | 字母 |
| Q | KeyQ | 81 | 字母 |
| R | KeyR | 82 | 字母 |
| S | KeyS | 83 | 字母 |
| T | KeyT | 84 | 字母 |
| U | KeyU | 85 | 字母 |
| V | KeyV | 86 | 字母 |
| W | KeyW | 87 | 字母 |
| X | KeyX | 88 | 字母 |
| Y | KeyY | 89 | 字母 |
| Z | KeyZ | 90 | 字母 |
| 0 | Digit0 | 48 | 数字 |
| 1 | Digit1 | 49 | 数字 |
| 2 | Digit2 | 50 | 数字 |
| 3 | Digit3 | 51 | 数字 |
| 4 | Digit4 | 52 | 数字 |
| 5 | Digit5 | 53 | 数字 |
| 6 | Digit6 | 54 | 数字 |
| 7 | Digit7 | 55 | 数字 |
| 8 | Digit8 | 56 | 数字 |
| 9 | Digit9 | 57 | 数字 |
| F1 | F1 | 112 | 功能键 |
| F2 | F2 | 113 | 功能键 |
| F3 | F3 | 114 | 功能键 |
| F4 | F4 | 115 | 功能键 |
| F5 | F5 | 116 | 功能键 |
| F6 | F6 | 117 | 功能键 |
| F7 | F7 | 118 | 功能键 |
| F8 | F8 | 119 | 功能键 |
| F9 | F9 | 120 | 功能键 |
| F10 | F10 | 121 | 功能键 |
| F11 | F11 | 122 | 功能键 |
| F12 | F12 | 123 | 功能键 |
| ArrowLeft | ArrowLeft | 37 | 导航键 |
| ArrowUp | ArrowUp | 38 | 导航键 |
| ArrowRight | ArrowRight | 39 | 导航键 |
| ArrowDown | ArrowDown | 40 | 导航键 |
| Escape | Escape | 27 | 导航键 |
| Tab | Tab | 9 | 导航键 |
| CapsLock | CapsLock | 20 | 导航键 |
| Enter | Enter | 13 | 导航键 |
| Space | Space | 32 | 导航键 |
| Backspace | Backspace | 8 | 导航键 |
| Delete | Delete | 46 | 导航键 |
| Insert | Insert | 45 | 导航键 |
| Home | Home | 36 | 导航键 |
| End | End | 35 | 导航键 |
| PageUp | PageUp | 33 | 导航键 |
| PageDown | PageDown | 34 | 导航键 |
| PrintScreen | PrintScreen | 44 | 导航键 |
| ScrollLock | ScrollLock | 145 | 导航键 |
| Pause | Pause | 19 | 导航键 |
| NumLock | NumLock | 144 | 导航键 |
| 0 | Numpad0 | 96 | 小键盘 |
| 1 | Numpad1 | 97 | 小键盘 |
| 2 | Numpad2 | 98 | 小键盘 |
| 3 | Numpad3 | 99 | 小键盘 |
| 4 | Numpad4 | 100 | 小键盘 |
| 5 | Numpad5 | 101 | 小键盘 |
| 6 | Numpad6 | 102 | 小键盘 |
| 7 | Numpad7 | 103 | 小键盘 |
| 8 | Numpad8 | 104 | 小键盘 |
| 9 | Numpad9 | 105 | 小键盘 |
| Enter | NumpadEnter | 13 | 小键盘 |
| * | NumpadMultiply | 106 | 小键盘 |
| + | NumpadAdd | 107 | 小键盘 |
| - | NumpadSubtract | 109 | 小键盘 |
| . | NumpadDecimal | 110 | 小键盘 |
| / | NumpadDivide | 111 | 小键盘 |
| Shift | ShiftLeft | 16 | 修饰键 |
| Shift | ShiftRight | 16 | 修饰键 |
| Control | ControlLeft | 17 | 修饰键 |
| Control | ControlRight | 17 | 修饰键 |
| Alt | AltLeft | 18 | 修饰键 |
| Alt | AltRight | 18 | 修饰键 |
| Meta | MetaLeft | 91 | 修饰键 |
| Meta | MetaRight | 92 | 修饰键 |
| ContextMenu | ContextMenu | 93 | 修饰键 |
| ; | Semicolon | 186 | 符号键 |
| = | Equal | 187 | 符号键 |
| , | Comma | 188 | 符号键 |
| - | Minus | 189 | 符号键 |
| . | Period | 190 | 符号键 |
| / | Slash | 191 | 符号键 |
| ` | Backquote | 192 | 符号键 |
| [ | BracketLeft | 219 | 符号键 |
| \ | Backslash | 220 | 符号键 |
| ] | BracketRight | 221 | 符号键 |
| ' | Quote | 222 | 符号键 |
这个工具能做什么
- 写键盘快捷键时确认浏览器给的到底是哪个值:key 是字符内容、code 是物理按键位置,做游戏或跨键盘布局的快捷键必须用 code。
- 排查「同一个键在不同键盘上行为不同」:Shift 左右的 code 分别是 ShiftLeft / ShiftRight,location 也会标出左侧、右侧还是小键盘。
- 判断组合键有没有被正确识别:Ctrl / Alt / Shift / Meta 的状态会拼成「Ctrl + Shift」这样的组合串,长按触发的 repeat 也能看到。
- 查常见按键的 keyCode:内置了按 keyCode 排序的速查表,覆盖字母、数字、功能键、方向键、小键盘、修饰键与符号键。
示例
输入
在页面上按下 Shift + A(大写 A)
输出
key: A code: KeyA keyCode: 65 which: 65 location: 0 · 标准位 modifiers: Shift repeat: 否
key 会随 Shift 变成大写 A,code 永远是 KeyA。keyCode / which 已废弃但很多老代码还在用,所以这里一并显示。
常见问题
key 和 code 到底该用哪个?
key 是「用户按出来的字符」,会受 Shift、输入法和键盘布局影响;code 是「键盘上的物理位置」,同一台键盘永远不变。做游戏操作、快捷键系统用 code(KeyA、Digit1、NumpadEnter);处理文本输入用 key。
keyCode 和 which 已经废弃了,为什么还显示?
因为它们没有按标准被移除,Chrome、Safari 仍然会填值,大量遗留代码和第三方库还在读 event.keyCode。写新代码请用 key 和 code,这里显示只是方便你对照排查老代码。
为什么数字键和字母键的 keyCode 是连续的?
keyCode 沿用早期的 Windows 虚拟键码:A–Z 是 65–90,主键盘数字 0–9 是 48–57,小键盘数字是 96–105。所以同一个「1」,主键盘是 49、小键盘是 97,位置不同编码就不同。
组合键和输入法状态下会有什么不同?
按下 Ctrl / Alt / Meta 组合键时浏览器一般不会产生字符输入,key 可能是 "a" 或空;输入法组合中(中文输入、日文假名)会先触发 composition 事件,这里监听的是 keydown,看到的是原始按键。
按下的键会被记录或上传吗?
不会。按键信息只在你当前页面内存里用于渲染结果,不发任何网络请求,也不会写入本地存储。刷新页面即清空。
关键词:keycode按键信息keycodewhichkeyboard event键盘修饰键速查表