键盘鼠标测试工具
测试输入设备并实时监控键盘/鼠标事件
事件日志
暂无事件记录。按下键盘或点击鼠标开始记录。
虚拟键盘
按下任意键进行测试,按键会高亮显示
按键信息
-
-
-
-
-
-
按键冲突测试
同时按住多个键测试全键无冲 (NKRO)
当前按住
0
最多同时
0
最近按下的按键
使用说明
本工具帮助您测试键盘和鼠标,并实时监控输入事件。它特别适合开发者调试事件处理代码,以及用户检查输入设备是否正常工作。
键盘测试
虚拟键盘实时显示您正在按下的按键。可以测试所有按键,包括功能键、修饰键和特殊按键。按键信息面板显示技术细节,如键值和扫描码。
鼠标测试
测试所有鼠标按键(左键、中键、右键、后退键、前进键)、滚轮滚动,并跟踪精确的光标位置。注意:由于浏览器限制,后退/前进键的事件会在松开时触发,而非按下时。
开发者事件日志
事件日志以精确的时间戳捕获所有键盘和鼠标事件。您可以看到 mousedown、mouseup、click 事件的精确序列,或 keydown、keypress、keyup 的触发顺序。可按类型过滤事件并导出日志进行分析。
坐标系统说明
鼠标位置通过多个坐标系统报告:
- clientX/Y - 相对于浏览器视口(可见区域)的位置
- pageX/Y - 相对于整个文档的位置(包含滚动偏移)
- screenX/Y - 相对于显示器屏幕的位置
- offsetX/Y - 相对于目标元素的位置
- movementX/Y - 相对于上次事件的移动量(适用于拖拽操作)
按键冲突与全键无冲
按键冲突是指某些按键组合在特定键盘上无法被识别。本工具帮助您检测键盘能同时处理多少个按键(N键无冲)。游戏键盘通常支持全键无冲 (NKRO)。
双击检测
支持测试所有鼠标按键(左键、中键、右键、后退键、前进键)的双击功能,可自定义延时阈值(100-2000毫秒)。帮助检测微动开关故障导致的意外双击。您可以调整延时设置以匹配自己的点击速度。
使用技巧
- 某些按键如 F1-F12 可能被浏览器或操作系统拦截。如有 Fn 键可尝试配合使用。
- 事件日志对于调试 JavaScript 输入处理代码非常有用。
- 使用坐标系统面板了解不同位置值的工作方式。
- 导出事件日志以分析输入时序和事件序列。
- 虚拟键盘支持 ANSI(美式)和 ISO(欧式)两种布局。
常见问题解答
为什么某些按键组合不被响应?
这种现象称为键盘冲突(ghosting)或按键阻塞。内置电路模式的入门键盘物理上不能同时登记某些组合中超过 2-3 个以上的按键。标刺‘N键全键无冲突’(NKRO)的游戏键盘为每个按键设计了独立电路,可同时识别所有按下的键。您可以直接在此工具中同时按下多个键,观察哪些键被成功识别来检验您键盘的滚轴上限。
keydown、keypress 和 keyup 事件有什么区别?
它们是按颜序触发的三个浏览器键盘事件。keydown 在键位被按下的瞬间触发,持续按住会重复触发;keypress 仅对可打印字符触发(已废弃);keyup 就是按键松开时触发。建议优先使用 keydown,因为它能捕获所有按键(包括 Shift、Ctrl、方向键),而 keypress 不能。
鼠标的 DPI 和报告率有什么不同?
DPI(每英寸点数)表示鼠标实际移动一英寸时屏幕指针移动的距离,DPI 越高灵敏度越高。报告率(单位 Hz)指鼠标每秒向电脑报告位置的次数,1000 Hz 表示每 1 ms 更新一次。DPI 影响精度,报告率影响流畅度和输入延迟。大多數游戏鼠标允许独立调节这两项参数。
clientX/clientY 和 pageX/pageY 坐标有什么区别?
鼠标事件会产生多种不同参照点的坐标。clientX/clientY 是相对于可视视口的坐标,无论页面滚动多远,左上角始终是原点;pageX/pageY 是相对于整个文档顶部的坐标,随页面滚动而增大。大多数 UI 交互场景都使用 clientX/clientY。
为什么在文本块或可滚动容器内滚动飞轮旹向错误?
这是浏览器的预期行为,称为滚动事件冒泡。当鼠标居于可滚动元素(如文本块或 overflow:scroll 元素)上时,局部滚动事件优先被该元素捕获;只有元素已滚到尽头时,事件才会冒泡到外层。测试时请将鼠标移至非可滚动区域,即可在事件日志中记录页面滚动事件。
键盘位置 (location) 是什么意思?
位置表示按键在键盘上的位置:标准 (0) 表示大多数按键,左侧 (1) 表示左侧修饰键,右侧 (2) 表示右侧修饰键,数字键盘 (3) 表示小键盘按键。
为什么后退/前进键在松开时才有反应?
浏览器会延迟后退/前进键事件以支持原生导航功能。本工具会显示 200 毫秒的视觉反馈以确保可见性。这是浏览器限制,不是设备问题。