怎么消除键盘冲突

发布网友 发布时间:2022-04-20 06:33

我来回答

1个回答

热心网友 时间:2023-04-22 10:39

键盘冲突如何解决?

还是以这张图为例,由于工作或者游戏需要,我们同时按下了Q、2、W按键。那么键盘是怎么处理的呢?首先,芯片通过扫描后得到以下信息:A1与B2是同时开启的(Q按键点亮)、另外A2与B2也是同时开启的(W按键点亮)、A2与B1也是同时开启的(2按键点亮)。

按下同一个矩阵的四个角时便会出现键位冲突的现象
但是,由于线路采用的是串联设计,所有当我们按下这三个按键时,芯片也会得到A1与B1是处于开启状态的(1按键点亮)。

事实上,当我们按下这四个按键中的任何三个按键时,电脑得到的反馈都是相同的,而使得电脑无法处理我们刚才输入的信息。而设计矩阵的工程师也考虑到了这个问题,所以他们采用了保护处理,当我们在按下任意一个矩阵的两个交叉点时,键盘的另外两个交叉点,就会自动被锁定了,以防止电脑出现茫然的现象。根据上图也就是说,当我们按下Q、W这两个按键的同时,1、2按键已经被自动锁定了,用户即使按下去,电脑也得不到反馈,以让电脑能够正确的显示出Q、W按键信息。

这就是我们所说的键位冲突的问题。为什么不同的键盘会有不同的键位冲突呢?这因为不同品牌型号的键盘线路设计不可能是完全相同的,因此它们存在冲突的键位也不一样。只要不构成四角组合关系,大部分键都是可以随便同按的,普通的键盘,即使有这样那样的冲突,也足够日常使用了。

二极管的出现帮我们解决了很多问题
但是很多游戏对于键盘的按键冲突还是有着比较高的要求的,市场上那些无冲突键盘又是采用了什么样的设计呢?这里便要提到一个二极管的名词。

相信大家对于二极管都不会陌生,二极管有一个特性,电流只能从它的阳极流向阴极,而反向则难以通过。之前提到的键位冲突是因为当A1和B2、A2和B2、A2和B1分别连通时,程序误以为A1和B1也连通,因此当发现3个按键互相形成回路时,就屏蔽第三颗按键的设计。现在,我们在每个按键的电路中增加一个二极管,让电流只能从A端传向B端,而不能从B跑向A。

加入二极管后信号只会单项传输
回到之前的例子,同时按下Q、W、2三个键。尽管W键接通了A2和B2,但由于二极管的*,信息只能从A2到B2传导,而不能从B2到A2,这就不会使芯片检测到1按键也是接通状态,便可以正确识别我们刚才按下了Q、w、2这三个按键了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com