博客
简体中文

键盘测试 — 在线检测按键和键盘冲突

逐键检测键盘,显示正在按住的键和最多同时按下的键数

在浏览器中处理 · 不上传任何内容

键盘布局

点击这里,然后按下按键

key
–
code
–
keyCode(旧式)
–
location
–
repeat
–
组合键
–

正在按住的键

–

最多同时按下的键数

0

已测试的键

0 / 104

最近的输入

还没有按键输入。

使用中文等输入法时,key 可能显示为 Process。请通过 code 确认物理按键。

浏览器保留的组合键(Ctrl+W、Ctrl+T、Ctrl+N、Alt+F4、Ctrl+Tab)和操作系统按键(Win、Fn、部分多媒体键)无法拦截,或者根本不会传到网页。

如果同时按住多个键时有些键没有反应,可能是键盘硬件的同时按键上限(键盘冲突)。本工具只显示浏览器实际收到的输入。

按下的键只显示在当前屏幕上,不会保存,也不会发送到服务器。

这是什么工具

键盘测试工具会在你按下按键的瞬间,让屏幕键盘上对应的键亮起,并显示浏览器收到的 key、code、keyCode、location 和 repeat 值。可以用它检查新键盘有没有失灵的键,找出旧键盘上不再响应的键,或者测试游戏键盘能同时识别多少个键。按过一次的键会一直保持绿色,从头到尾按一遍,就能看出漏掉了哪些键。

使用方法

  1. 点击虚线框的测试区域,让它获得焦点。边框变深、提示显示正在等待输入时,就可以开始了。
  2. 按下按键。按住时该键高亮,松开后保持绿色。
  3. 下方的卡片会显示最后一个键的 key、code、keyCode、location(左、右或小键盘)、是否重复以及组合键。
  4. 同时按住几个键,观察“正在按住的键”列表和最大同时按键数。建议测试自己真正常用的组合。
  5. 结束测试时,点击区域外,或快速连按三次 Esc 键。如果关闭“阻止默认操作”,Tab 键和空格键会恢复正常功能。
  6. “清除记录”会清掉绿色标记和最大按键数。

各项数值的含义

  • code:按键的物理位置,例如 A 键是 KeyA。切换键盘布局或输入语言时不会变,屏幕键盘就是根据它来点亮的。
  • key:按键产生的字符或键名,例如 a、A、Enter。会随 Shift 和输入语言变化,输入法正在处理时显示为 Process。
  • keyCode:旧式的数字编码,已不推荐使用,显示出来方便与旧代码对照。
  • location:区分重复的键:0 普通,1 左侧,2 右侧,3 小键盘。
  • 正在按住的键:浏览器收到 keydown 之后、收到 keyup 之前,视为按住。测试区域失去焦点时,所有键都视为已松开。
  • 无法拦截的键:Ctrl+W、Ctrl+T、Ctrl+N、Alt+F4、Ctrl+Tab、Windows 键和 Fn 键由浏览器或操作系统处理,无法阻止,或者根本传不到网页。
  • 屏幕键盘布局:提供“英文(104键)”和“韩文(106键)”两种。国内常见的键盘就是美式排列,选英文布局即可。其他排列(例如 AZERTY、QWERTZ 或日文 JIS 键盘)也会按物理位置在美式布局上亮起,但键帽上的字符以美式为准;美式布局中没有的额外按键不会出现在屏幕键盘上,不过在下方卡片中仍能看到它的 code。

示例

按下的键 key code location
左 Shift Shift ShiftLeft 1(左侧)
右 Shift Shift ShiftRight 2(右侧)
小键盘 5 5 Numpad5 3(小键盘)
主键区数字 5 5 Digit5 0(普通)
空格键 (空格) Space 0(普通)

小键盘的 5 和主键区的 5 key 值相同,但 code 和 location 不同,可以分辨是哪一个在响应。在 Mac 上按住 Command 时,其他键的 keyup 可能收不到,看起来像是卡住了,这时点击“清除记录”即可。

常见问题

有些键不亮,是坏了吗?

请先点击测试区域,让它获得焦点。Fn 键、很多多媒体键,以及 Windows 键、截图键等由操作系统优先处理的键,往往根本传不到浏览器。如果普通字母键一直不亮,可能是脏了或有故障,可以在其他程序里也试一下。

什么是键盘冲突(鬼键),怎么检测?

这是键盘硬件的限制:同时按下多个键时,有些按键没有反应,或者没按的键却显示被按下。请按住实际会用到的组合,例如游戏里的移动键加跳跃键,然后对比“正在按住的键”列表和最大同时按键数是否等于你按下的键数。如果数字更小,说明键盘或其连接方式无法识别这个组合。

为什么无法拦截 Ctrl+W 或 Alt+F4?

关闭标签页或窗口的组合键会在网页处理之前被浏览器或操作系统拿走,任何网页都拦不住。Ctrl+Tab 和 Windows 键的快捷键也是如此。本工具会阻止 Tab、F5、方向键、空格键等引起的滚动和焦点切换,但有意保留 F12 等开发者工具快捷键。

用中文输入法时,key 为什么显示 Process?

当输入法先处理按键时,浏览器会把 key 报告为 Process。物理按键仍然可以通过 code(例如 KeyA)识别,所以屏幕键盘照常工作。测试时也可以先切换到英文输入状态。

我的按键会被上传吗?

不会。按键只显示在当前屏幕上,不会保存或发送。只有本页的测试区域获得焦点时,工具才会读取按键。

没找到想要的工具?