当然如果要靠自己力量,土炮出一把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或加入方向键等,小范围比较容易注意到每个按键是否有顺利送出,也可以注意是否送出玩家没有压下的按键。最后才是大范围测试,计算键盘最多可以输出几个键。
▲微软提供在线测试键位冲突问题,直接在网页上就能即时测试出来。(测试网页:http://www.microsoft.com/appliedsciences/KeyboardGhostingDemo.mspx)
这是许多玩家心中的疑问:「1个人只有10只手指头,怎么可能需要键盘信号全部输出呢?」把N-Key Rollover分成2种需求走向来讨论。以「按键数量」来看,确实1个人使用时不大可能同时超过10键;但如果是2个人使用同一把键盘玩游戏,全部信号输出就有可能派上用场。
近年来游戏人口逐渐增加,渐渐会注意到键位冲突。即使最佳化处理过的键盘矩阵,还是有可能会有特定的按键会出问题。N-Key Rollover的键盘,代表着无论玩家按下任何组合键都不会造成键位冲突,可以适用在任何游戏上,不需要担心键盘是否会造成游戏特定键无法发挥功能。笔者认为使用支持N-Key Rollover的键盘,就可以不用担心会产生键位冲突问题。
▲i-rocks 6820E由于有注明特别优化的键位图,在国外颇受好评。
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |