更新时间:2021-11-15 16:01
键位冲突,键盘上的键的信号不是每个键都有一根线传递信号的,而是几个键(比如说7个键)共用一根信号线。那么这时候如果同时按下这7个键的某几个,就会产生键位冲突。有的键位冲突系统就报警,有的就会输出出这其中的某一个键。有些市面上号称的XX游戏专用键盘,就是比较好的解决了这个游戏常用键的键位冲突问题。键位冲突是不可避免的(真的想完全避免,键盘线要变成硬盘数据线那样才行)一般来说,普通的键盘3-4键不冲突,有的高档点的可以做到7键不冲突。
很久以前,键盘都是编码键盘,每一对信号线对应一个按键,这样无论多少按键一起按下,计算机都会正确识别每一个按键的,自然不会产生键位冲突的。但是我们大家所用的键盘都是经过简化而来的不完全编码式键盘,这种键盘放弃了一一对应的的信号电路,转而采用矩阵的方式来识别每一个按键,这样一来,设计生产一个键盘的信号线数量就远远小于按键的数量,而且在设计设计电路和解码芯片时的迂回空间就越大,但是不幸的是由于信号线不足,就为键位冲突埋下了祸根。
键盘主要是薄膜结构,而其原理如下:比如按下“1”键就=P1+K1。那么按下一个键时是不会产生键位冲突的。但同时按下两个键可能会出现问题。比如按下“1、A”就是P1+K1+K3,这种组合也不会出现问题。如果同时按下“1、3、Q”就是P1+P3+KA+K3,但是这个键位于“1、3、E”是一样的,这样键盘就不能够正确识别了,造成键位得冲突。但是对于不同的键盘解码芯片,冲突也会有不一样的地方:1、计算机对于按键的识别是靠时间的先后的,比如说“Q、E、A、D”的冲突,你按下的顺序是“Q、E、A、D”那么计算机就只能够识别出“Q、E、A”,如果按键顺序是“E、A、D、Q”那么只能够识别出“E、A、D”;2、还有一类是按照键盘芯片的优先级的设置来识别的,比如说“Q、E、A、D”冲突,键盘只能认出“Q、E、A”,即便按下的是“E、A、D”键盘还是只能认出“Q、E、A”,这一是大多数键盘所采用的方案。
键位冲突虽可以改善,但是是避免不了的。为了方便检查键位冲突的情况,可以使用一个名为KeyboardTest这个软件来检测键位冲突的情况。如果按下的按键全部变为红色则说明按键的操作能够被正确识别,没有产生冲突。
市场上有很多打着“7键不冲突”、“9键不冲突”的键盘,对于这一类键盘,只是做了部分优化,只是指定的某7或9个按键同时按下不会产生冲突,而其他的按键还是会产生冲突的。
对于非编码结构的键盘来说不不存在键位冲突是绝对的不可能。其中解决办法只能是游戏厂商,键盘制造商,相互协调,尽量避免键位冲突的出现。