键盘拖毛与键盘遮蔽

键盘的电路属于矩阵式,也就是各个引脚之间连线相互交叉,在这些交叉点上安排按键。键盘控制器探测到闭合电路就认为是键被按了。

下图是一个简单的键盘。

 




其中A,B,C,D是4个按键,分别位于结点R1C1,R1C2,R2C1和R2C2。

实际的电路大概是这样的。

 




检测按键按下的时候,键盘控制器对所有的列逐一通电。若A,B,C,D均没有按下,则R1,R2没电。

若按下A键,则C 1通电时R 1带电,C2通电时R1,R2不带电,可知A键被按下了。如下图所示。

 




同理可知一个键被按下的情况。

若A和D两键同时按下,则C 1通电时R1带电,C2通电时R2带电。如下两图所示。


 

同理可知其他两键被按下的情况。

若同时按下A,B,D三键,则会产生键盘拖毛与键盘遮蔽。

给C 1通电时,如下图所示,R1和R2都会带电。 

因为给C1通电时R2带电,所以C键会被认为按下了,其实并没有按下,这就是传说中的键盘拖毛。

若此时按下C键,因为C键已经被认为是按下了,所以没有反应,这就是传说中的键盘遮蔽。放开B键也是一样的问题,会被认为没有放开。

在qwerty键盘上,同时按下 “e”和 “c”是再按 “u”的话大概会产生键盘遮蔽的现象。

再其他的键盘布局,如azerty或dvorak貌似没有这种问题。

解决办法:加装二极管,如图所示。 

可以使用1N4148开关二极管,每个大约两分钱。

原作者Dave Dribin

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值