键盘测试器

键盘诊断
ms
浏览器保留的快捷键可能无法被记录。

用这个键盘测试器检查浏览器是否能收到笔记本电脑、台式机键盘或 USB/蓝牙外接键盘上的每一个物理按键。按下按键即可看到它实时亮起,页面会在本地显示物理代码 event.code、实际产生的值 event.key、按键位置、重复事件、多键无冲峰值以及可能的卡键警告。

如何测试键盘

  1. 1

    选择键盘外形

    选择 ANSI、ISO 或紧凑布局,让屏幕上的按键网格尽量接近你正在检查的键盘。国内销售的键盘绝大多数是 ANSI 外形(104 键或 87 键),欧洲进口的机型才常见 ISO 外形。无论键帽上印的是什么,浏览器上报的都是物理按键代码。

  2. 2

    开始测试并逐个按键

    点击开始测试,保持当前标签页处于焦点状态,然后逐个按下每个键。按住时按键显示为蓝色,松开后变为绿色,如果超过卡键警告时间仍保持按下状态则变为琥珀色。

  3. 3

    解读诊断结果

    结合事件日志、多键无冲峰值、重复次数和当前按住的按键列表,找出没有事件的失灵键、自动重复输入的按键、左右修饰键位置异常,以及键盘无法同时上报的组合键。

浏览器键盘测试能查出什么

现代桌面浏览器的键盘事件提供两个有用的值。event.code 表示按键的物理位置,例如 KeyQSpaceNumpadEnterShiftLeftevent.key 则是当前键盘布局产生的值,因此同一个物理按键在 QWERTY、AZERTY、QWERTZ、Dvorak 或不同输入法下可能上报不同的字符。

这个区别正是排查问题的关键。如果 KeyQ 亮起但键值不是 q,说明物理按键已经正常送达,差异多半来自当前生效的布局或输入法。如果某个本应能被网页收到的按键完全没有事件,问题可能出在硬件、固件、操作系统驱动、浏览器,或者是被系统抢先占用的快捷键。

诊断项 含义 用途
物理代码 硬件位置代码,如 KeyANumpad5 确认到底是哪个物理开关被触发
键值 当前布局或输入法产生的字符或动作 发现布局差异或修饰键问题
位置 标准、左侧、右侧或小键盘 分别测试 Shift、Ctrl、Alt 和小键盘按键
多键无冲峰值 本次测试中同时按住的最多按键数 快速检查组合键上限或按键冲突
重复事件 按住按键时浏览器发出的 repeat 事件 找出会意外连击的按键
卡键警告 按住时间超过你设定阈值的按键 抓出松手后没有正常弹起的按键

中文输入法与按键代码的区别

屏幕上的按键网格按物理位置用拉丁字母标注,因为 event.code 描述的是位置而不是字符。开启拼音、五笔或其他输入法后,你看到的候选字并不是按键本身产生的:输入法在浏览器之上再做一层组合。在组合过程中,浏览器可能把键值上报为 Process,或者给出旧版的 keyCode 229,这属于正常现象,不是键盘故障。

物理代码 event.code 完全不受输入法影响,所以即使你正在打中文,本工具依然能忠实检测硬件。想要看清每个按键产生的字符,建议先用 Shift 或 Ctrl+Space 切换到英文状态再测试。同理,中文输入法常用的 Shift 切换、Ctrl+句号(中英标点切换)等组合,可能会被输入法拦截,不一定会出现在事件日志中。

多键无冲、按键冲突与局限

多键无冲(rollover)指键盘能够同时上报的按键数量。很多办公键盘只能可靠处理两键或三键组合,而游戏键盘常宣传 6 键无冲或全键无冲(N-key rollover)。本测试器只能显示真正送达浏览器的按键事件,无法证明键盘、操作系统或浏览器从未传递的按键。请把多键无冲峰值当作一次实用的网页检测,而不是实验室级别的硬件认证。

常见误区

  • 保持标签页处于焦点状态。切换标签页或点击地址栏会打断 keyup 事件,因此页面失去焦点时测试器会清空按住的按键列表。
  • 部分快捷键被浏览器或操作系统保留,例如 Alt+Tab、Cmd+Tab、Cmd+W、Cmd+L 和 F5。
  • 手机键盘、虚拟键盘、输入法组合、死键和无障碍工具都可能改变或延迟上报的键值。
  • 如果只有一个键失灵,请先换一个浏览器和另一个 USB 接口再试,然后才考虑是按键开关本身损坏。

常见问题

不会。按键事件只在你的浏览器中读取和显示。本工具不会把键值、物理代码、时间数据或事件历史上传到任何服务器。

这说明输入法正在组合文字。组合期间浏览器可能把键值上报为 Process,或者给出旧版的 keyCode 229。此时物理代码依然准确,硬件检测不受影响;如果想看清字符,请切换到英文状态再测试。

浏览器和操作系统会在网页读取之前保留部分按键和快捷键。Alt+Tab、Cmd+Tab、Cmd+L 或浏览器刷新等系统组合可能永远不会传递给本测试器。

event.code 是物理按键位置,event.key 是当前键盘布局或输入法产生的字符或动作。更换布局会改变键值,但不会改变物理代码。

它可以显示测试期间同时到达浏览器的最多按键数,但无法认证那些被键盘固件、操作系统或浏览器提前过滤掉的按键。

相关工具