键盘的七键、九键不冲突是如何实现的

时间:2022-05-26 05:10:39

随着游戏文化的普及,键位冲突也就成为了当前键盘无法回避的问题。可以这么说,几乎所有的键盘都存在键位冲突,区别仅仅在于冲突的多与少而已。不过,市面上所谓的七键或九键不冲突键盘是如何实现的呢?要清楚地解释这个问题,我们了解什么是键位冲突和键位"编码"。

什么是键位冲突

相信所有的玩家都有这样的遭遇:在《CS》中不能蹲着斜走,斜走时不能换枪("A+S+W")、右前移动中换手枪("W+D+2")、在《KOF》中走路的同时不能爆气;等等。其实,在一些早期的键盘产品上也出现过同时按下"Ctrl+Alt+Del",系统只识别按下了"Ctrl+Alt",而识别不了"Del",这就叫做键位冲突。

我们可以这样给键位冲突下一个定义:当在操作键盘的过程中,当按下多个键的时候,键盘不能识别所有的按键,或者当按住某几个按键后,再按下其他的按键,键盘没有信号响应。

键位冲突是如何产生的

所谓的键盘"编码",其实就是将特定的电信号与按键一一对应地进行绑定,当敲下该按键时就触发该电信号,然后计算机通过该信号识别该按键。如果对每一个信号都只对应一个按键,这样无论多少个按键同时按下,计算机都是可以正确不同的按键,这样自然就不会产生键位冲突的问题了。

我们都知道,标准的键盘上至少有104个按键,如果全部给所有键位进行编码,那么键盘电路将变得非常的复杂,在设计上就必须花费更多的成本,设计难度也将更高。为此,目前的键盘产品放弃了一一对应的信号设计,而采用了矩阵的方式对键位进行不完全编码,这种设计让信号线数量远远少于按键数量,从而简化的设计,我们称之为非编码或不完全编码设计。

然而,非编码设计在简化了信号线路的同时,也带了键位冲突的问题。也就是计算机可以识别单独了任何一按键,但当多个按键同时有信号请求时,就会出现不能识别。我们以薄膜电路为例,这种电路通常分为上中下三层,上下两层为电路板层,中间为绝缘层。

根据上层薄膜和下层薄膜所经过的按键,就可以排出一个类似下面的表格:

如表所示,如果我们按下单个按键,比如"Q"键,那么上层导线""和下层导线""同时触发,那么计算机接收到""信号就表示"Q"被按下,其他按键依此类推。

当按下两个组合按键,比如"Q"+"W",计算机则可得到"",而按下"A"+"Z"则可得到"■",其它依此类推,同时按下两个按键也不会出现重复的电信号,故不会出现键位冲突。

然而,当同时按下"Q+A+D"和"Q+E+D"时,都得到"",不仅如此,其实同时按下"Q+A+D+E"四个按键中的任意三个都会得到相同的电信号,这样一来电信号就失去了唯一性,计算机自然不能识别用户到底输入了什么命令。类似的情况还有很多,比如ASW、AQW和ASQW,WSE、WDE和WESD等,这些都是由于组合按键的信号失去唯一性所致。

根据上述分析,我们可以得出以下两个结论:

1.对于非编码结构的键盘来说,不存在键位冲突是绝对的不可能的。

2.键盘的键位冲突是根据设计者设计芯片数据的巧妙性所挂钩的,即键盘的编码芯片不同,键位所冲突的地方也会不一样。

七键或九键不冲突是如何实现的

理解了键盘键位冲突的原理之后,这个问题就很容易理解了。多按键不冲突,这是设计师根据人们常用的组合键位和具体的键位冲突,通过调整内部电路的走线让原本冲突的按键不再冲突。不过,整体的设计思路还是矩阵编码方式,不同的只是在某些特殊键位上作了调整,比如"SDFJKL+空格"七键或者再加上"A"和";"九键就是这样实现的,但如果换作其他的七键或九键,键位冲突依然存在。

上一篇:年轻的亿万富翁们 下一篇:单核新旗舰 GeForce 9800GTX抢先体验