peng-zhihui / HelloWord-Keyboard

GNU General Public License v3.0
6.03k stars 986 forks source link

关于按键滤波方案的一个想法 #173

Open Huffer342-WSH opened 8 months ago

Huffer342-WSH commented 8 months ago

假如键盘没有按下或者松开,电平无缘无故发生变化,那肯定是轴坏了或者键盘摔地上了。

N:认为键盘长时间没有变化的门限,比如按下按键触发时间一般都有几十毫秒,N=50差不多 M: M次扫描结果相同,认为按键稳定。客制化轴体水平参差不齐,这个M不好说,段落轴由于弹片震动,更加不稳定。 状态A:前N次扫描电平无抖动 状态B:前N次扫描电平发生变化 电平L,扫描输入K,上一次扫描输入Kp 状态A———电平不变 L==Kp==K————> 状态A
状态A———电平发生变化 L==Kp!=K————> 状态B 直接修改电平状态L=K 状态B———电平发生变化 Kp!=K————> 状态B cnt=0 状态B———电平不发生变化 Kp==K,cnt<N————> 状态B cnt++;cnt>=M : L=K ; 状态B———电平不发生变化 Kp==K,cnt>=N————> 状态A