回答受付が終了しました

マウスでチャタリングを発生させたいです。 新しいマウスを買うのでこの機種であるというのは決まっていませんがチャタリングが発生しないようにするマウスを選ぶと思います。

周辺機器 | パソコン1,823閲覧

回答(1件)

昔制御系のファームウェアを作っていた人です。 マウスには最低でも3つのスイッチが入っていますが、スイッチというのは必ずチャタリングを起こすので、マウスの基板上にあるコントローラーと呼ばれるLSIの中で動作するファームウェアが、マウスのスイッチがONになったとかOFFになったときに、それがチャタリングなのかユーザーの押下なのかを判断して、上位のコンピューターにマウスボタン押下、マウスボタン解放を通知するようになっています。 細かい話をするなら、1ms程度で周期的に起動するタイマー1があり、タイマー1起動時にマウスのスイッチの状態を読み込んで、左ボタンのスイッチがONになっていたら「左ボタンがONになった」というイベントを生成します。このイベントが発生したとき、数msで通知するタイマー2を起動し、タイマー2が完了したというイベントが発生したときにも左ボタンがONのままなら、マウスボタンが押し続けられていると判断しマウスボタン押下を上位コンピューターに通知、タイマー2のイベントが完了する前に左ボタンがOFFになっていたら「チャタリング」と判断しタイマー2をキャンセルして左ボタンがONになるのを待つ、というような処理を内部で行っているはず(実際にはもっと細かいこともしているかもしれません)です。 ですので、マウスの基板上のコントローラーのファームウェアを改造する必要があると考えますが、・・・普通の人にはちょっと無理なんじゃないかな。ファームウェアはマスクROMになっていて書き換えは不可能だろうなぁ。

この回答はいかがでしたか? リアクションしてみよう

そうなんですか、、 チャタリングを制御した結果を上位コンピューター送ってるわけだからOSにソフトを入れても変えることは出来ないと。 出来ても擬似的に再現する程度くらいかな、、