使用方法
- 点击灰色区域,使它获得焦点。
- 逐个按下每个按键。按住时按键会亮起,按过之后会保留着色。
- 同时按住三个键,例如 Q、A 和 W,然后阅读 同时按住的最多按键数 和 多键同按检测。
- 查看表格中的 event.key 和 event.code。点击 重置 可以重新开始。
测试显示什么
event.code 指出实际的按键。字母 A 所在的位置在每种布局上都是 KeyA,并且切换键盘语言时这个名称不变。event.key 是当前布局下系统产生的字符或名称,因此它会随语言而变化。
- event.code:实际的按键,例如 KeyA 或 Digit2。
- event.key:按键产生的内容,例如 a 或 A,取决于 Shift 和布局。
- 位置:按键在键盘的左侧、右侧,还是在数字键盘上。
- 重复:按键仍被按住、系统再次发送时为“是”。
图中的布局
ANSI(美式)的 Enter 键较短,右上角是反斜杠键。ISO(欧式)的 Enter 键较高,Z 的左侧多一个键。土耳其语 Q 采用 ISO 的形状,并使用土耳其字母:ı 位于美式键盘 I 的位置,ğ、ü、ş、i、ö、ç 分别位于 P、Ğ、L、Ş、M 和 Ö 之后。AZERTY(法式)采用 ISO 的形状,字母位置有所调整:A 位于美式键盘 Q 的位置,Z 位于 W 的位置,Q 位于 A 的位置,W 位于 Z 的位置,M 位于 L 之后。它的数字需要按 Shift。QWERTZ(德式)采用 ISO 的形状,Y 和 Z 互换,Ü、Ö、Ä 和 ß 分别位于 P、L、Ö 和0之后。ABNT2(巴西式)采用 ISO 的形状,Ç 位于 L 之后,1的左侧是撇号键,右侧 Shift 旁边多一个键,可输入 / 和 ?。图中印的字母是常见的标注,您键盘上的键帽可能不同。
键位代码不随布局而变。代码表示美式键盘上按键的位置,因此在 AZERTY 上印着 A 的键,代码仍是 KeyQ,而 event.key 显示 A。
多键同按与幽灵键
多键同按是键盘同时能报告多少次按键。全键同按的键盘会报告您按住的每一个键。便宜的键盘在按下某些组合时,可能会丢掉一个键,这叫做幽灵键(ghosting)。检查时,请同时按住三个或更多键,例如 Q、A 和 W,并确认它们都亮起。
示例:土耳其语 Q 键盘上的 I 键
在土耳其语 Q 键盘上,美式键盘 I 位置的键印着 ı。按下它,event.code 为 KeyI,event.key 为 ı。按住 Shift 时,event.key 变为 I。键位和代码保持不变,只有字符随布局而变。
常见问题
测试会记录我输入的内容吗?
不会。页面只在测试区域获得焦点时读取按键事件,把它们显示在屏幕上,并在您重置测试或离开页面时丢弃。内容不会被发送到我们的服务器,也不会保存在浏览器中。
为什么某个键不亮?
有些按键在页面看到之前,已被系统或浏览器使用,例如 Ctrl+W、Alt+Tab 或 Windows 键。请在其他应用中试一下这个键:如果它在那里亮起,说明网页在浏览器中看不到它。
多键同按检测显示什么?
它显示在本次测试中,是否有三个或更多按键同时被报告。如果同时按住构成一个角或一个矩形的三个键时,某个键不再亮起,键盘可能存在幽灵键。
切换键盘语言时,为什么 event.key 会变化?
event.key 是当前布局产生的字符,因此同一个 I 位置的键在土耳其语布局下产生 ı,在英文布局下产生 i。event.code 保持不变,因为它表示实际的按键。
这个测试能在手机上用吗?
在手机上作用很小:屏幕键盘不会以同样的方式发送实体按键代码。完整的测试请使用连接了实体键盘的电脑。
资料来源
- UI Events KeyboardEvent code 值,W3C 规范(英文)
- UI Events KeyboardEvent key 值,W3C 规范(英文)
- KeyboardEvent,MDN Web Docs(英文)
- Microsoft Learn:法语(Legacy,AZERTY)键盘(英文)
- Microsoft Learn:德语键盘(英文)
- Microsoft Learn:葡萄牙语(巴西 ABNT2)键盘(英文)
- Keyboard Layout Info:KBDBR 的 shift 状态,Shift 右侧的键(英文)
数据和文字最近核对于2026年11月12日星期四。