按键键码查询

按下键盘上任意键,立即看到它的 key、物理 code、keyCode 与位置信息;也能按 keyCode 或 code 反查按键名称。

点击这里,然后按下任意键

使用方法

按键键码查询有两种用法,都不需要联网,按键信息只在你的浏览器里读取。

第一步:用鼠标点一下蓝色虚线框让它获得焦点,或直接用 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,也能复制成制表符文本贴进表格。

键物理 codekeyCode
AKeyA65
BKeyB66
EnterEnter13
SpaceSpace32
EscEscape27
TabTab9
BackspaceBackspace8
DeleteDelete46
ShiftShiftLeft16
CtrlControlLeft17
AltAltLeft18
ArrowLeftArrowLeft37

结果边界和舍入

按键键码查询有几个边界要分清。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 友好串。 在线对比两段文本:比较两个文本差异。