
当然如果要靠自己力量,土炮出一把N-Key Rollover键盘不是难事。内部电路比较好去掌握,界面部分则较为复杂不易更动。国外有玩家自行购买二极管,然后再焊接于PCB电路板上,将键盘矩阵的电路加上跳线再加以改造,使得每个按键都能独立送出信号。这位玩家使用型号为1N4148的二极管,有兴趣你也可以试试。
国外玩家做法
图片来源网页:http://geekhack.org/
![]()
▲圆圈代表按键,此图为制作的重点。将按键独立出来,并且焊上二极管。部分按键电路可依需要另外连接线路。
![]()
▲真正电路板上的按键信号很复杂,判断上不容易。首先要将按键独立出来,所以部分电路板上需要先截断电路。
![]()
▲然后再焊上二极管,与连接跳线。
![]()
▲全部完成后就制作出一把N-Key Rollover键盘。

由N-Key Rollover的定义可以知道,N代表着「任意同时可以处理的键数」,这句话与「同时可以处理最多的键数」是完全不一样的。在早期PS/2时代时,称为N-Key Rollover的键盘代表能全键输出。而使用USB界面,就算内在使用N-Key Rollover架构设计,厂商如果没有特别处理,便会受到USB HID规范影响而无法全键输出。这时笔者认为能以6-Key Rollover来表示,事实上键盘的任意6键确实不会冲突,通常键盘在标示拥有N-Key Rollover功能时,都会标示使用界面以减少误会。

目前有许多方法可以测试键盘是否有键位冲突问题,国外有付费软件KeyboardTest,提供30天免费试用,之后如要再使用则要付24美元(约新台币768元);国内则有玩家Ivan Lin开发出的hKBTEST免费软件可供测试。
除了软件测试外,最简单的方法是开网页就能测试。微软在开发SideWinder X4时,提供了网页平台,可以让玩家利用网页测试按键信号。测试键位冲突时,建议针对游戏常用的键先测试,如QWEASD或加入方向键等,小范围比较容易注意到每个按键是否有顺利送出,也可以注意是否送出玩家没有压下的按键。最后才是大范围测试,计算键盘最多可以输出几个键。

这是许多玩家心中的疑问:「1个人只有10只手指头,怎么可能需要键盘信号全部输出呢?」把N-Key Rollover分成2种需求走向来讨论。以「按键数量」来看,确实1个人使用时不大可能同时超过10键;但如果是2个人使用同一把键盘玩游戏,全部信号输出就有可能派上用场。
近年来游戏人口逐渐增加,渐渐会注意到键位冲突。即使最佳化处理过的键盘矩阵,还是有可能会有特定的按键会出问题。N-Key Rollover的键盘,代表着无论玩家按下任何组合键都不会造成键位冲突,可以适用在任何游戏上,不需要担心键盘是否会造成游戏特定键无法发挥功能。笔者认为使用支持N-Key Rollover的键盘,就可以不用担心会产生键位冲突问题。
回复
打赏帖 | |
---|---|
汽车+汽车地线之间连接处理被打赏20分 | |
【Zephyr】使用Zephyr外设初始化过程解析被打赏30分 | |
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
赚取电动螺丝刀+电源电路理论知识分享1被打赏5分 | |
我想要一部加热台+分享常见运算放大器电路的应用被打赏5分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
我想要一部加热台+常见的MOS管驱动电路被打赏5分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录被打赏29分 |