使用方法
按键键码查询有两种用法,都不需要联网,按键信息只在你的浏览器里读取。
第一步:用鼠标点一下蓝色虚线框让它获得焦点,或直接用 Tab 键切到框上。第二步:按下你想查的键,比如回车键,框里会立刻显示 key、code、keyCode、location 以及是否按住了 Shift、Ctrl、Alt。第三步:如果是反查,在「按 keyCode 反查」里填 13,或在「按 code 反查」里填 Enter,点「反查按键」即可看到对应的键名。第四步:结果区可以一键复制,下方常用键对照表还能导出 CSV、JSON 或复制成制表符文本。
能解决什么
这个按键键码查询工具在写前端、查文档、对快捷键时很有用。第一,调试键盘事件:代码里拿到的 e.key、e.code、e.keyCode 到底对应哪个物理键,按一下就清楚。第二,核对修饰键状态:判断用户是否同时按了 Shift、Ctrl、Alt、Meta,做快捷键组合时不会再猜。第三,确认键位 location:区分左 Shift 和右 Shift、主键盘数字与小键盘数字,绑定组合键时避免冲突。第四,反查:看到日志里一个 keyCode 88,反查一下就知道是字母 A。
本页只读取浏览器标准 KeyboardEvent 的字段,不做宏录制、不做按键连点、不记录你按过哪些键,也不上传任何键盘信息;连续按键统计之类的需求请用专门的输入法或游戏工具。
原理和变量
按键键码查询完全基于浏览器原生的 KeyboardEvent,不依赖任何脚本库,核心有四点。
第一,event.key 是「按键代表什么字符」,比如字母 A 得到 "A"、回车得到 "Enter"、空格得到 " "(一个空格)。第二,event.code 是「物理位置」,与按键上的字无关,比如无论开大写锁定与否,A 键的 code 都是 "KeyA",这一点在判断是否按了某个物理位置时有用。第三,event.keyCode 是早期 IE 遗留的 0 到 255 整数,现在浏览器仍保留但已被标准标记为过时,本工具照常显示方便对照老代码。第四,event.location 取值 0 标准键、1 左修饰键、2 右修饰键、3 小键盘,用来区分左右 Shift 与数字小键盘。
完整示例
用页面默认操作演示,结果和上方工具一致(数值仅作演示)。
按下回车键:key = Enter,code = Enter,keyCode = 13,location = 0,修饰键全为 false。按住 Shift 再按 A:key = A,code = KeyA,keyCode = 65,shiftKey = true。方向键左:key = ArrowLeft,code = ArrowLeft,keyCode = 37。反查 keyCode 13 → 键名「Enter」;反查 code "KeyA" → 键名「A」。
输入范围与对照表
keyCode 的取值范围是 0 到 255(早期扫描码体系的单字节遗留),功能键 F1-F12 对应 112-123,字母键 A-Z 对应 65-90,数字行 0-9 对应 48-57。下面是常用键对照表,前 12 行直接展开,点「加载更多」看剩余行;可导出 CSV 或 JSON,也能复制成制表符文本贴进表格。
| 键 | 物理 code | keyCode |
|---|---|---|
| A | KeyA | 65 |
| B | KeyB | 66 |
| Enter | Enter | 13 |
| Space | Space | 32 |
| Esc | Escape | 27 |
| Tab | Tab | 9 |
| Backspace | Backspace | 8 |
| Delete | Delete | 46 |
| Shift | ShiftLeft | 16 |
| Ctrl | ControlLeft | 17 |
| Alt | AltLeft | 18 |
| ArrowLeft | ArrowLeft | 37 |
| ArrowUp | ArrowUp | 38 |
| ArrowRight | ArrowRight | 39 |
| ArrowDown | ArrowDown | 40 |
| F1 | F1 | 112 |
| F5 | F5 | 116 |
| F12 | F12 | 123 |
| 0 | Digit0 | 48 |
| 1 | Digit1 | 49 |
| . | Period | 190 |
结果边界和舍入
按键键码查询有几个边界要分清。keyCode 只覆盖 0-255,超过这个范围的值在现代浏览器里基本不再出现,所以反查时输入非整数或大于 255 都会提示范围错误。code 是物理位置,和键盘布局无关——同一把 A 键在英文、中文、俄文布局下 code 都是 KeyA,而 key 会随着布局变化(中文布局下某些键的 key 会是汉字或符号)。
有些键的 keyCode 会重复或为空:比如小键盘的回车 keyCode 也是 13,但 code 是 "NumpadEnter" 可区分;单独按修饰键时 key 就是 "Shift" 这类名字。方向键 37/38/39/40 与字母键 65-90 互不重叠,可同时判定。本工具不把 keyCode 当权威,仅作老代码对照,新代码应优先用 code 和 key。
常见问题
key 和 code 到底该用哪个?
要判断「用户想输入什么字符」用 key;要判断「按的是哪个物理位置」用 code。做快捷键组合建议用 code,因为它不受输入法和大写锁定影响。
为什么 keyCode 显示但文档说它过时了?
keyCode 是早期浏览器遗留字段,标准已标记为废弃,但所有现代浏览器仍保留它以保证老脚本可运行。本工具照常显示方便你对照旧代码,新项目请用 code 和 key。
左右 Shift 怎么区分?
看 location:左修饰键 location 为 1,右修饰键为 2。或用 code,左是 ShiftLeft、右是 ShiftRight,这是最可靠的区分方式。
反查提示找不到怎么办?
说明该 keyCode 或 code 不在常用键表里。常用键表只收录了最常用的一批,其它键请直接按一下键,工具会实时显示它的真实 keyCode 与 code。
小键盘的回车和主键盘回车一样吗?
keyCode 都是 13,但 code 不同:主键盘是 "Enter"、小键盘是 "NumpadEnter"。需要区分时请用 code 而非 keyCode。
中文输入法下按键能查到吗?
在输入框激活输入法时,按键会被输入法拦截,KeyboardEvent 可能只收到 "Process" 且 keyCode 为 229。先点本工具的虚线框让其获得焦点、关闭输入法再按,才能读到真实键码。
会不会记录我按过的键?
不会。所有读取都在当前页面内存里完成,刷新即清空,不写本地存储、不上传任何服务器,你可以在开发者工具 Network 面板自查。
结果能导出吗?
可以。常用键对照表支持导出 CSV(带 BOM,Excel 不乱码)、导出 JSON(不带 BOM),以及复制制表符文本直接贴进电子表格;单次按键结果可点「复制结果」。
相关工具
ASCII 表格生成器:字符与 ASCII 码对照。 ASCII 转文本转换器:码值还原成字符。 文本转 ASCII 转换器:字符转码值。 Unicode 转义反转义工具:看字符的码点。 字符串长度统计:统计字符与字节数。 Slugify 字符串工具:把文本转成 URL 友好串。 在线对比两段文本:比较两个文本差异。