大家好
讲到鼠标连点大部分人应该直接联想到罗技XD
我们今天来探讨一下连点的成因 跟一些解决方法
连点的发生是因为两个触点快速接触(或说撞击)后又互相弹开 然后又再度接合
所以导致两次判定触发
在微动开关使用久了之后内部弹力减弱
所以这个抑制弹开的力量变小了 进而产生
简单的说就是开关的弹跳
在进入正题之前有一点我想先让一些非电子领域的人理解
那就是这种弹跳是非常常见的 很正常的
要全然归罪于微动开关并不合理
所以因应此现象 自然有对应的作为
也就是debounce(去抖动)
方法基本上分为两种
1.软件(包含韧体)
2.硬件
那为什么明明有解决方法
在鼠标界却还是遍地双击呢?
我必须怀疑这是一个阴谋 (或是说一种生态)
长久以来大部分人都把鼠标看作是消耗品
这或许是硬件厂商刻意塑造的
举个例子 同是周边的机械键盘就不这么像消耗品了不是吗?
以下是软件(韧体)的解法:
以机械键盘的轴来说好了
如青轴绿轴这种有声段落轴来说
其过段落点后所发出的click声响
其实来自于内部白色塑胶零件弹开
造成两边触点以极快速度撞击而发出声音(并不是塑胶发出的声音)
这种速度(与重量 键盘轴的动片重量比鼠标微动大得多)下 弹跳是可预期的
那为什么没有发生"双击"?
原因在于在键盘的韧体内有做debounce
近期ducky不是有推出一个可以让使用者自行修改debounce time的功能吗?
就是那个东西
debounce time的意义是
例如debounce time设为5ms
那个同一个按键在5ms内如果触发了两次或以上
除第一次之外其他都会被视为弹跳 进而忽略掉
同理 鼠标也是可以做的 且不会增加硬件成本
(只是不做而已)
所以常看到有些人质疑罗技应该用更好的微动开关
其实放错重点
罗技连不花钱的方案都不采用了...
我们不是硬件制造商 没办法决定要做或是不做
所以无法从软件下手
接下来介绍硬件的解法
不是要说换新微动开关喔XD
这方法非常简单
就只是在微动开关上有作用的两只脚之间加上滤波电容
(就是比较靠近微动上白点点的那两只脚 或是蓝点点 红点点 黄金点点)
电容的大小 0.1uF(104) ~ 1uF(105)都OK
形式的话 有脚的陶瓷电容 或是 SMD 1206贴片陶瓷电容 都很合适
(罗技的话推荐有脚的陶瓷电容
因为罗技鼠标在微动开关下 电路板后 塑胶底壳下通常都设计有支撑柱 必须要闪过)
以下是M585作为范例
https://imgur.com/53ygcIy
(上图的M585我另外有把中键轻触开关 改微动开关,有机会再另外分享 :)
就这样 完工
有兴趣的人可以拿一只连点的鼠标作实验
没意外的话可以撑到下一次换换病发作为止...
加上滤波电容是很常见debounce的方式
以下自问自答一些问题:
Q1:加上电容后鼠标的按键触发时机会不会受影响?
A1:按下时(MouseDown)不会 ,放开(MouseUp)的时间会延后特定时间(Q2)
Q2:会影响多少时间?
A2:以电容充电至1/2电压的时间约为0.7RC来计算
鼠标内MCU内部的上拉电阻以30K欧姆计算
电容以0.1uF来说
0.7*30*0.1= 2.1 ms = 每秒点击上限470次
电容以1uF来说
0.7*30*1 = 21 ms = 每秒点击上限47次
(注:以平凡人的手速都没问题的 你如果超越加藤鹰 或是高桥名人的话就当我没说...)
加电容的方式只对"连点"这种现象有效
其他例如点击没反应
或是持续按住鼠标 却会中断
这种因接点本身所产生的问题都没效
大概就分享到这边
台北市如果有想做试验可以拿来帮你免费加电容
(但不帮换微动喔XD)
鼠标构造太复杂的请自行先拆好XD
站内信~