マウスボタンのチャタリングへの対処


マウスのボタンをシングルクリックしたにもかかわらず,PC側はダブルクリックしたものとして動作してしまうことがあります.マウスのボタン部分に使用されているマイクロスイッチなどの機械的接点を持つスイッチでは,スイッチオン時に,接点が高速に何度かオンオフを繰り返すチャタリングという現象が発生します(注1).PC側がこれをスイッチが何度か押されたものと誤認識することを防ぐため,PC内部にCR積分回路が用意されています(注2).しかしスイッチの接点が劣化すると,チャタリングの発生する期間が長くなり,PC内部に用意されているCR積分回路ではチャタリングを吸収し切れず,結果シングルクリックがダブルクリックとして誤検出されてしまうということが起こります(注3).
1  注1:これは機械的接点の特性であり,異常な現象ではありません.非常に短いパルスが短い間隔で続けざまに発生します.このパルスの数・持続時間・発生間隔・発生期間は一定ではなく,毎回変化します.
 注2:PC内部の積分回路の時定数の値は直接確認していませんが,PC-9801VXで,マウスのI/Oポートである7FD9Hに入力させたデューティ比0.5の矩形波パルス列の立ち上がり検出を行った場合,パルス列の周波数が333.3Hzまでは追従を確認しましたが,500Hzでは取りこぼしが生じました(どるこむの過去ログ,[8561] 旧98のマウスポートの処理速度について を参照).
 注3:ドラッグ操作(左ボタンを押したままマウスポインタを移動させること)中に,その操作が勝手に解除される(マウスを動かし続けてもマウスポインタの移動がある地点で突然止まる)という現象は,チャタリングとは異なりますが,同様にマイクロスイッチの接点の劣化に起因するものと思われます.これも下に示す対処を行うと改善します.

チャタリングへの対処にはソフトウェアを用いる方法もありますが,ハードウェア的な対処方法には次の二つがあります.いずれもハンダゴテを使った作業になりますが,この種の作業に不慣れな人でも,それほど難しくはないでしょう.

(1) スイッチの交換
根本的な対処法です.マウスのボタン部分にはOMRON製D2F-01Fおよびその互換品が使用されている場合が多いようですが,これを新しいもの(OMRON CHINA製D2FC-F-7Nが比較的入手し易いようです),あるいは他のマウスから取り外した同種のスイッチに付け替えます(注1・2).
 注1:元々のスイッチには1A対応品が使用されていますが,交換用のスイッチには0.1A定格型のものが最適といいます(PC-9821/9801スレッド Part91の935-944番の投稿を参照).
 注2:D2F-01Fタイプのものとは別なスイッチが使用されているマウスもありますので注意して下さい.下は富士通製無線マウスであるCP542399-01の内部画像です.クリック時の感じと音からマイクロスイッチが使用されているものと予想してジャンク品を購入しましたが,実際にはタクトスイッチと思われるものが使用されていました.



 ① コテ先を十分に加熱したハンダゴテを用いる
 ② スイッチを取り外す際には,スイッチの端子を基板に固定している半田にコテ先の熱が効果的に伝わるようにし,半田が素早くかつよく溶けるようにする.ハンダ吸取線を用いる場合も同様
 ③ ハンダ吸取線を使わない場合には,溶けた半田をハンダ吸取機を使って素早く一気に除去する
等が作業のポイントでしょう.

コテ先が十分に加熱されていない状態で作業したり,スイッチの端子と基板の穴の周りのパターンの一部とが半田でくっついている状態でスイッチを無理に引き抜こうとすると,パターン剥離を起こしてしまうことがあります.基板の穴の周りのパターンは,ハンダづけされることでスイッチの端子を基板に固定する役目も果たしていますので,これが剥がれてしまうとスイッチの固定に問題が出ます.

交換前のスイッチ(既に取り付けられているスイッチでも同様)の内部にパーツクリーナーを噴射しておくことで,チャタリングを起こしにくくできるとの報告があります(PC-9821/9801スレッド Part91の934番の投稿を参照).この報告は接点復活剤の使用も奨めています.接点復活剤の安易な使用に対してはかなり強い警告もなされていますが[ハマチさん@セガサターン生活のススメさんの2020年11月1日のツイート(12),じゃば@ヒミツキチさんの2020年11月2日のツイートPHILE WEB困ったときの「接点復活剤」、むやみに使うと危ないかも?(2020年9月23日の記事)などを参照],スイッチを繰り返し交換が必要な安価な消耗品と考えれば,この問題についてはさほど神経質にならなくてもよいでしょう.

(2) コンデンサの追加
根本的な解決法ではなく応急処置的な対処法ですが,マイクロスイッチの端子間に0.1μF程度のセラミックコンデンサを追加するだけですので,作業は非常に簡単です.ハンダづけの前に,コンデンサの足の部分に予備ハンダをしておくとよいでしょう.

0.1μFというコンデンサの容量は固定したものではなく,実際に取り付けた上で動作を確認し,必要であればより大きな容量のものに交換する必要があります.ただしあまり大きな容量のものは不適当です.またサイズの大きいものも,マウスの底面と干渉するため不適当です.

しかしこの対処法では,遅かれ早かれ症状が再発します.筆者のところでは0.1μFのものを取り付けて数年程度保った例がありますが,ウェブ上では,1ヶ月程度で再発したとの報告もあります.再発時には,コンデンサの追加増設,あるいは容量の大きなコンデンサへの交換でまたしばらくの間乗り切ることができますが,スペースの都合で,あまり多くの個数を取り付けることはできません.そのマウスを長く使うつもりならば,やはりスイッチ自体を交換してしまうことが一番です.

下図はPC-9801-129(MATE-X等に付属していた,LogitechのOEM品)のマイクロスイッチの端子間に,ジャンク基板からニッパで切り離した0.1μFのセラミックコンデンサを2個取り付けた状態です.



なお使用時間の長いマウスでは,マイクロスイッチの押下部分と接触するボタン裏の突起部に凹みができてしまい,そのためボタンを強く押さなければクリックがPCに検出されなくなることがあります.この場合にはボタン裏の突起部にプラスチック板を貼り付けるなどの工作が必要になります.
※Kuniさんより,この種の補修にはプラリペアが便利とのコメントをいただきました.


トップページ