键盘测试在线

加载中…

操作按键盘上的任意键:按下变橙、松开变绿;「重置」清空,「暂停拦截」把快捷键还给浏览器

猜你喜欢

打开网页就能用的键盘测试工具:页面上画着一整块键盘,按下哪个键哪个键就变橙,松开变浅绿,一眼看出哪个键没反应。支持 104 键全尺寸、87 键与 Mac 三套布局,实时显示已测键数、当前同时按住的键数与历史最多同时按住数(测全键无冲),并给出最近一次按键的 key、code、keyCode 与按住时长。同一个键两次按下间隔不到 60 毫秒会标一个红点记作疑似连击,这是轴体老化最常见的表现。另有四组冲突自测组合。

怎么用

这一页把一整块键盘画在网页上。按下哪个键,哪个键帽就变成橙色;松开之后变成浅绿,表示「这个键的按下与松开两个事件都收到了」。整块键盘全变绿,就是全部按键都通。

一、先选一套对得上的布局

顶栏第一个下拉有三套:

  • 104 键全尺寸(默认):台式机那一整块,主区 + 编辑区 + 数字小键盘;
  • 87 键(无小键盘):也叫 TKL,把右边的小键盘整块砍掉;
  • Mac 布局:底排是 ⌃ control、⌥ option、⌘ command,右上角的 delete 就是退格。

布局只决定画出来的图和「已测过」那一格的分母,不影响事件收取:按任何键页面都会收下、都会记进按键记录,只是当前布局里没画的键不会有键帽变色,状态栏会提示一句。紧凑配列(68 键、84 键那些)选 87 键这一套就行。选过的布局记在这台设备的浏览器里,下次打开还是它。

二、从 Esc 一路按到右下角

想完整体检,从左上角的 Esc 开始一行一行按过去,一直按到右下角。顶部四个读数会跟着动:

  • 已测过:这套布局里收到过事件的键数 ÷ 总键数;
  • 当前按住:此刻按着没松的键数;
  • 最多同时按住:从打开页面到现在的历史峰值,用来测按键冲突;
  • 疑似连击:所有键加起来记了多少次(见下一节)。

下面还有两块明细:最近一次按键列出这一下的 key、code、keyCode 与按住时长;按键记录留最近 20 次,每一行是键名、code 和这一次按住了多久。

三、键盘连键(连击)检测:慢一点,有间隔地按

同一个键两次按下间隔不到 60 毫秒,页面就记一次「疑似连击」,在键帽右上角点一个红点,按键记录里那一行也标红。测法是放慢速度、一下一下地按十几下同一个键——正常键这个数应该一直是 0。长按时自动重复出来的那一串会被识别出来,不计数。

四、全键无冲测试:几个键一起按住不放

右边「冲突自测」给了四组常用组合,把一组里的键全部按住不放,那一行就变绿标「已通过」:WASD + 空格 + Shift(游戏里最常用的一把,六个键要同时认出来)、方向键三连(↑ + ← + →,很多薄膜键盘在这里丢键)、Q + W + E + R(同一行相邻四个键,最容易撞矩阵)、Ctrl + Shift + Alt(三个修饰键一起按)。按住的过程中那一行会显示「按住了几个 / 一共几个」,全部认出来就一直标着已通过,直到点「重置」。

五、两个按钮与几件小事

  • 重置:所有键帽回到未测状态,四个读数、红点与按键记录全部清零;
  • 暂停拦截:默认是「拦截中」,页面吃掉按键的默认行为,Tab 不跳焦点、空格不翻页、F5 不刷新,方便一路按下去;点一下变成「已暂停」,按键照常计数,浏览器自己的动作也照常发生。Ctrl 与 Command 组合键任何时候都放行。
  • 切走标签页或点到别的窗口时,页面会把「按住不放」的状态全部松开,免得读数一直挂着几个其实早就松了的键。
  • 手机与平板上测不了:触屏设备没有物理按键事件,页面会在顶部说明一句,键位图与全部说明照样可以看。想测键盘,换一台接了键盘的电脑打开这一页。

怎么看结果

全绿=通;有键不亮,先别急着换键盘

按完一整轮之后,还留着白色的键就是浏览器一次也没收到过的。按下面的顺序排除,越靠前的原因越常见:

  1. 先确认这个键本来就收得到。Fn 与很多笔记本的音量、亮度键在固件里就被吃掉了,浏览器收不到;它们画成虚线框、不计入总数。PrintScreen 在多数浏览器里只送来「松开」,所以会直接变绿。
  2. 换一根线、换一个接口。USB 线内部断股、接口接触不良,表现常常不是整块键盘不工作,而是某一行、某一列时好时坏。
  3. 换一台电脑测一次。别的电脑上也按不出来,问题多半在键盘或线上;换台电脑就好了,那就轮到查这台电脑的驱动与系统设置。
  4. 想想是不是系统或软件层的事。Windows 的「筛选键」会让轻按被忽略;键位重映射软件、游戏的宏驱动会把某个键改成别的键——这类情况的特征是「按 A 出来的是别的 code」,看一眼「最近一次按键」里的 code 就知道。
  5. 一整排或一整片失灵,比如 zxcvbnm 一条线全没反应,通常指向矩阵的某一行或某一列断了(排线松动、进过水、焊点问题),而不是七个轴同时坏。笔记本可以先试试把排线重插;进过液体的越早断电清理越好。

这一页只记录现象,不替你下「坏了」的结论:以上都试过仍然不亮,可以带着截图去找售后,把「哪个键、在哪台电脑上、换过线和接口」说清楚,比只说「有个键不好用」省事得多。

疑似连击:出现就要复核,别只测一次

红点的判据是同一个键两次按下间隔小于 60 毫秒。人手主动按两次同一个键,即使是练过的手速,两下之间也很难短于八十几毫秒,所以这个数只要不是自己故意刷出来的就值得注意。典型表现是打字时按一下出来两个字符、点一下变成双击。

复核的做法:点「重置」,放慢速度按同一个键十几下看红点还出不出现,再换个接口、换台电脑各来一次。三次都出现,那就是这个键的触点在抖——这是机械开关最常见的老化方式,能修(换轴、清洁触点、有些固件可以调去抖时间)。另外,连点软件与键盘宏跑起来时这个数一定会涨,那不是故障,测之前先关掉。

最多同时按住:这才是「全键无冲」的实测

这个数字的意义是:在这台电脑上,浏览器最多同时认出过几个键。按住一把键不放,它涨到几就是几。

  • 涨到 6 左右就上不去:很正常。走标准键盘协议的 USB 键盘一次最多上报六个普通键,外加修饰键(Ctrl、Shift、Alt、Win 不占那六个名额),这是协议层的限制,不是键盘坏了。
  • 按到第三、第四个键就有键丢掉:多半是矩阵冲突。便宜的薄膜键盘为省成本没给每个键加隔离二极管,同一片矩阵里几个键一起按会连成回路,扫描时分不清按了哪几个,于是干脆丢掉。同一行相邻的键最容易撞,这就是 Q + W + E + R 那一组的用意。
  • 标称全键无冲的键盘:这个数能一路涨到手指不够用为止。

要提醒的是,这里测到的是浏览器看到的结果,中间隔着系统,个别远程桌面环境还会再砍一刀。所以跨设备比较意义不大,在同一台电脑上比较不同键盘才是这项读数的正经用法。

按住时长、key、code、keyCode 各是什么

  • 按住时长:这一次按下到松开的毫秒数。它不是键盘延迟——网页拿到的事件已经过了固件扫描、USB 轮询、系统消息队列和浏览器事件循环,属于键盘本身的那一小部分根本分不出来。这一页测不了键盘延迟,也测不了回报率,那需要高速摄像或专门的采样硬件。
  • code:这个键在键盘上的物理位置,与输入法、大小写无关。按住 Shift 打出 !,code 仍然是 Digit1。排查硬件、判断「这个键是不是被重映射了」,看的就是它。
  • key:这一下打出来的字符或功能名,会随 Shift、CapsLock 与输入法变化。
  • keyCode:早年的数字编号,标准里已废弃,但很多硬件文档还在用,一并显示方便对照。

常见问题

键盘上某个键按了没反应,是键盘坏了吗?

不一定,按上一节那五步顺着排除:先确认这个键本来就收得到(Fn 与多媒体键收不到),再换线、换接口、换电脑,最后想想是不是系统的筛选键或重映射软件在捣鬼。

87 键和 104 键有什么区别?我该选哪个?

区别只有右边那一块数字小键盘:104 = 87 + 17 个小键盘按键(NumLock、÷ × -、7 8 9 +、4 5 6、1 2 3 Enter、0 和小数点)。有小键盘的选 104,没有的选 87,紧凑配列也选 87。选错了不影响测试,只是分母和画出来的图对不上。

笔记本键盘能测吗?Fn 键测不出来正常吗?

能测,选 87 键布局即可。Fn 测不出来完全正常:它不是普通按键,而是由键盘固件直接处理,固件把别的键合成成另一个功能再上报,Fn 本身从来不会作为按键事件送到操作系统。Mac 布局里那个 fn 画成虚线框就是这个意思,它也不计入总数。

页面会不会把我按了什么记下来?

所有统计都在你自己的浏览器里算。页面只把选的布局与拦截开关这两项设置记在本机(键名 hi8-jianpan-prefs),按键内容与按键记录一律不落盘,刷新页面就没了。顺带一提,Win 键、Alt+Tab 这类由系统抢先处理的组合,网页没有机会拦。

原理与冷知识

  • 键盘不是一百多根线,而是一张网。 内部按键排成行列矩阵,控制器逐行通电、逐列读取,扫到哪一格导通就算哪个键按下。几十根线就能管住一百多个键,代价是同时按多个键时可能分不清:三个键正好构成矩形的三个角,电流会从第四个角绕回去,凭空多出一个没按的键,这就是所谓的「鬼键」。解法是给每个键串一颗二极管挡住回路,换来的就是全键无冲;省掉它的键盘只能在发现冲突时把多出来的键丢掉——「最多同时按住」上的天花板多半就是这么来的。
  • 六个键的上限写在 USB 标准里。 标准键盘协议的上报包只有 8 个字节:一个字节放修饰键的位(左右 Ctrl、Shift、Alt、Win 共八位),一个字节保留,剩下六个字节各放一个普通键的编号。所以「六键无冲」不是偷工减料,而是这套协议本身的形状;要突破它,键盘得改用另一种上报方式,把每个键当成独立的开关位来报。
  • 去抖时间是所有机械开关都要处理的事。 金属触点闭合的瞬间会弹跳几次,固件的办法是「第一次导通之后的几毫秒内不再理会变化」,这段去抖窗口常见的量级是 5 到 20 毫秒。开关用久了簧片疲劳、触点氧化,弹跳时间变长,超出窗口就被认成第二次按下——连击就是这么来的。本页把判据放在 60 毫秒,正因为它远超正常的去抖窗口,又远短于人手能主动重复的速度。
  • code 与 key 是后来才分家的。 早年各家浏览器对同一个键给出的数字并不一致,脚本要写好几套分支;新标准把事情拆成两个属性:code 管物理位置,key 管打出来的字符。
  • PrintScreen 的怪脾气。 在不少系统与浏览器的组合下,按下那一半事件会被系统的截屏功能吃掉,网页只能收到松开。所以这一页对它单独处理:收到松开就算这个键通了,并在记录里注明「只收到松开」。

本页更新于 2026-09-25 · 分类:在线工具