按下任意键
按下任意键…
关于 键盘按键信息
在网页里处理键盘事件时,需要知道按下的键对应什么 key、code 和已废弃的 keyCode,但靠记忆很难一一对上。本工具在浏览器本地监听你的真实按键,实时显示该键的 event.key、event.code、keyCode、location 以及 Ctrl/Shift/Alt/Meta 修饰键状态,帮你写键盘快捷键、调试输入逻辑。所有按键只在本页捕获处理,不会被记录或发送到任何地方。 建议在日常开发中收藏本工具,遇到相关 Web 开发需求时即可快速打开使用。所有处理均在浏览器本地完成,无需安装任何软件。
使用场景
- 写快捷键 — 实测某个组合键触发的 key 与 code,照着写 keydown 监听不再猜值。
- 区分物理键 — 用 code 分辨左右 Shift、主键盘数字和小键盘数字等同名不同位的键。
- 兼容旧码 — 查到旧代码里 keyCode 数值对应的现代 key/code,平滑迁移到新 API。
- 布局排查 — 验证不同键盘布局下同一物理键产生的 key 是否符合预期。
- 游戏控制 — 为网页游戏映射 WASD 等按键时确认 code 值,避免受输入法影响。
常见问题
event.key 和 event.code 有什么区别?
key 表示按键产生的字符或含义,会随键盘布局和 Shift 变化(如 a 与 A);code 表示键的物理位置,与布局无关(如 KeyA 始终是同一个物理键)。做快捷键通常用 code 更稳。
keyCode 为什么不推荐再用?
keyCode 已被标准废弃(deprecated),不同浏览器和布局下取值不一致,仅为兼容老代码保留。新项目应改用 key 或 code。
location 字段是干什么的?
location 标识同名键的位置,比如左 Ctrl 为 1、右 Ctrl 为 2、小键盘按键为 3,可用来区分主键盘和数字小键盘上的相同符号。
为什么有些组合键抓不到?
部分组合被操作系统或浏览器优先拦截(如某些 F 键、系统快捷键),事件不会冒泡到页面;这属于平台限制,网页无法覆盖。
输入法状态下键值正常吗?
中文等输入法合成阶段会触发 isComposing 状态,此时 key 可能是 Process,应在 compositionend 后再处理,避免误判按键。
有浏览器兼容性要求吗?
本工具兼容所有现代浏览器(Chrome、Firefox、Edge、Safari),无需安装任何插件或扩展。
可以离线使用吗?
首次加载后,部分功能在离线状态下仍可使用。页面资源加载后,核心逻辑完全在浏览器本地运行,不依赖网络。