JavaScript 键盘事件测试器

聚焦测试区域后按键,实时查看浏览器收到的 keydown、keyup、key、code、location、repeat、修饰键、输入法组合状态和事件时间关系。

事件捕获与日志控制

筛选只影响表格显示,不会删除内存中的完整日志。

等待键盘事件 Tab保留焦点导航;暂停、失焦或页面隐藏会清空活动键和时间基线,但历史日志保留。
保留日志
0
活动按键
0
keydown / keyup
0 / 0
已移除最早记录
0

当前活动按键

  • 当前没有保持按下的键。
请先聚焦测试区域,再按键查看事件。
当前事件摘要 等待事件
当前 key 等待浏览器事件
code
location
repeat
事件间隔

聚焦捕获区后按键;当前页只记录该区域收到的事件,不监听系统全局键盘。

键盘事件日志

内存最多保留500条;表格显示当前筛选后的最近100条,下载文件包含当前内存中的全部日志。

当前显示 0 条;内存保留 0 条。
#typekeycodelocationrepeatisComposingmodifiersΔ mshold ms
尚未记录符合当前筛选条件的事件。

事件类型与时间间隔

事件类型数量

比较当前内存日志中的 keydown、keyup、自动重复和输入法组合事件数量。

连续事件间隔分布

直方图只使用同一连续记录阶段内大于0的事件间隔;暂停、失焦和页面隐藏会重置时间基线。

了解更多

事件字段与时间计算

key描述当前布局下的字符或语义,code描述相对稳定的物理键位,location用于区分标准区、左右侧和数字小键盘。事件间隔使用连续记录的Event.timeStamp差值;同一code的首次非repeat keydown与后续keyup可配对计算按住时长。

内部保留未舍入毫秒值,页面通常显示2位小数;暂停、失焦和页面隐藏后不跨阶段计算事件间隔或按住时长。

事件类型必须为keydown或keyup,时间戳必须为非负有限值;逆序、非法或超过10分钟的时间差不会进入间隔和按住时长统计。

浏览器边界与日志限制

本工具只分析当前页面测试区域实际收到的KeyboardEvent。Tab保留原生导航而不记录;浏览器或系统保留快捷键、Fn和部分媒体键可能无法捕获。key会受布局和输入法影响,code不能替代字符语义。日志只在当前页面内存中保存,最多500条,刷新或关闭页面后消失。

KeyboardEvent 的 key 和 code 有什么区别?

key描述当前布局和修饰状态下的字符或语义,code描述相对稳定的物理键位。排查布局或字符问题时看key,排查固定键位或游戏控制时通常同时记录code。

如何查看 keydown 和 keyup 事件?

点击或Tab聚焦测试区域后按键。页面会按到达顺序记录keydown和keyup,并显示repeat、修饰键、组合状态、事件间隔以及能够配对时的按住时长。

KeyboardEvent location 有什么用?

location通常用0表示标准区、1表示左侧、2表示右侧、3表示数字小键盘,可用于区分左右Shift、Ctrl、Alt、Meta以及主键区和小键盘按键。

隐私、来源与许可

所有事件和日志只在当前浏览器页面内存中处理,不上传,不调用第三方API,不写入URL或本地存储。下载和复制只在用户主动点击后执行。

本工具未复用第三方运行代码或资源,算法和界面为独立实现;外部链接仅用于说明浏览器事件标准。

规范与方法来源