滑鼠連點的成因與解決方式 - 鍵盤

Table of Contents

大家好
講到滑鼠連點大部分人應該直接聯想到羅技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

站內信~


--

All Comments

Poppy avatarPoppy2020-07-09
Skylar Davis avatarSkylar Davis2020-07-09
好文,推一個,請受我一拜
Zora avatarZora2020-07-14
推 觀念正確 解說淺白
Frederica avatarFrederica2020-07-18
推!學習了
John avatarJohn2020-07-21
推 雖然我還是一樣手殘不會換
Zora avatarZora2020-07-24
大師
Jacky avatarJacky2020-07-29
推推推 學到很多知識!!
Anthony avatarAnthony2020-07-31
濾波電容是橘色的嗎?
Callum avatarCallum2020-08-05
0.7RC是指數函數的ln(2)*RC=0.693嗎,電路學忘一半了
,另外記得數位電路防彈跳我印象中記得最簡單的方式
是用Flip flop
Ida avatarIda2020-08-08
回xbg大,像樓主橘色那個常見的大部分都是陶瓷電容,
電子材料行買就有了很便宜
Quintina avatarQuintina2020-08-11
Edith avatarEdith2020-08-12
推 手邊剛好有一個可以換
Franklin avatarFranklin2020-08-16
強 推個~
Mason avatarMason2020-08-17
那ASUS換微動開關是多餘的?只需要加電容就好了?
Barb Cronin avatarBarb Cronin2020-08-19
請問羅技 G PRO WIRELESS 做微動或電容 是不是不好拆換
謝謝 先推大神
Mia avatarMia2020-08-20
不在產業界 不過通常開關debounce都是做在MCU上用程式寫
Mason avatarMason2020-08-21
硬體要後續調整太麻煩了
Adele avatarAdele2020-08-25
gpw一根螺絲起子就搞定
Charlotte avatarCharlotte2020-08-27
從沒想過用濾波電容這招XD
Andrew avatarAndrew2020-08-29
GPW某次的韌體更新,就屬於辦法一?
Franklin avatarFranklin2020-08-31
主要是好奇,它這個韌體更新的說明是:改善點按防彈跳演算法
;看到樓主的文,才猜想是不是和辦法一是同一種?
Odelette avatarOdelette2020-08-31
推推 學習新知
Lydia avatarLydia2020-09-02
連點我還以為首推蛇蛇... 改來研究怎麼加工我的DA了
John avatarJohn2020-09-05
Poppy avatarPoppy2020-09-08
蛇蛇拿去換了微動多撐了好久
Olive avatarOlive2020-09-13
最好的方法就是不要買羅技
Suhail Hany avatarSuhail Hany2020-09-17
可我覺得鍵盤也是消秏品耶...
Belly avatarBelly2020-09-21
debounce當然是滑鼠MCU的標配
Elma avatarElma2020-09-25
不然今天碰到的就不會是2連點,是5到10連點
會認為鍵盤壽命較長也會包含開關數量分攤壽命的影響
George avatarGeorge2020-09-29
也有可能是interval設得比較短,來換取更好的操作性
另外usb的1ms polling rate也能濾掉一些過快的連發
在這種狀況下發生雙擊,微動的狀態真的已經不太好了
Hedwig avatarHedwig2020-10-03
查了國外官網的原文說明:Improves Click Debouncing
Algorithm
,看起來和樓主的辦法一好像是類似,推測是羅技在高階有這麼
做?
James avatarJames2020-10-04
舉個例子,我最近拆過的便宜軌跡球,主控是EM84510
datasheet直接記載了debounce interval 12ms
Tom avatarTom2020-10-07
如果用光微動或光磁微動的滑鼠應該就不用除跳了吧
Charlie avatarCharlie2020-10-10
解彈跳MCU一定是有處理過啦
Daniel avatarDaniel2020-10-15
原來還有這招,之前為了換微動麻煩還自己改插拔ww
Irma avatarIrma2020-10-19
長姿勢
Elma avatarElma2020-10-19
期待中鍵改微動開關教學 以前都沒想過這問題
Anonymous avatarAnonymous2020-10-20
壞掉都直接丟給原廠~~
Michael avatarMichael2020-10-24
ㄏㄠˇㄇㄥˇㄛ
James avatarJames2020-10-26
抓0.5個vdd是少了點 通常是0.7個vdd, 用0.85RC時間比較精確
Poppy avatarPoppy2020-10-28
先推 下次連點時 再來看看
Charlotte avatarCharlotte2020-10-31
不對 應該1.1RC左右就到0.7個Vdd了 因為1RC~=0.63Vdd
Yedda avatarYedda2020-11-03
謝謝 學到觀念了
Anthony avatarAnthony2020-11-06
推,謝分享!
Heather avatarHeather2020-11-11
微動真的出事 並電容也沒用啦 乖乖換微動吧
Tracy avatarTracy2020-11-14
Sandy avatarSandy2020-11-16
Gilbert avatarGilbert2020-11-19
MCU作debounce會有精確度限制,sample rate又要解析度兩倍
Delia avatarDelia2020-11-21
如果要精確不誤報,又要提升效率,MCU就要更快的版本..
Ivy avatarIvy2020-11-23
Erin avatarErin2020-11-25
長知識了
Anthony avatarAnthony2020-11-26
快推 不然人家以為我們看不懂!
Carolina Franco avatarCarolina Franco2020-11-29
深度文,推
Linda avatarLinda2020-11-30
這篇應該入精華XD
Sarah avatarSarah2020-12-03
下次加看看 直接焊在微動的兩腳上囉?
Emily avatarEmily2020-12-05
比較靠近白鍵的兩隻腳