キーボードのチャタリングを修正する


メカニカルキーボードでチャタリングが起きた際に、ソフトウェア制御でキーの出力を修正する方法です。
いったんチャタリングが起きたらスイッチを交換する以外に根本の解決はできないので、あくまで一時的な回避方法と考えてください。

AutoHotkeyを使います。
ふだんから使っている人は、常駐させているスクリプトにコードを書き加えるだけでいいです。
使ってない人は導入後、以下を参考にスクリプトを記述して常駐させておきます。

例えばキーボードのaがチャタるようになった場合:

$a::
    Send {a down}
    Sleep 100
    Send {a up}
Return

大事なのは、ホットキーの行頭の修飾シンボル$です。これがないと出力されたaが再びホットキーを作動させて、無限ループに陥ってしまいます。その場合、エラーを吐いてスクリプトは正常に動作しません。
Sleepの間隔は、ミリ秒単位です。このタイミングをゆるめに設定することで、チャタリングを修正します。ゆるくすればするほど逆に意図的な連打で遅れを感じるようになるので、好みに合わせて調整してみてください。

対象のキーがaならa、bならbと記述すればいいですが、特殊キーを対象とする場合の記述方法はリファレンスを参照してください。

以上、AHKを使用した簡易的なチャタリングの修正方法でした。

 

人気の投稿