ファーム上げたらErgoDox EZのチャタリングが直った話
2017-07-13
Techyhara [4:39 PM]
ergodoxの調子が悪くてやばい
Oが1/3くらいの確率でしか入らない
tも怪しい
ということは物理レイヤの問題ではない??
Lもだめだな
という感じだったのだけど、久しぶりにファームウェアをgit pullして更新したら現象が直った。
キースイッチというものは経年劣化で電圧の変化が不安定になるものらしい。
DEBOUNCEというキーワードで検索してみると、4月のこのコミットが見つかった。
検索する前はDEBOUNCE定数の値を大きくしたのかな?と想像していたが、そうではなく、debounceのアルゴリズム自体を調整したようだ。
- ErgoDox EZのキー状態スキャンは他のキーボードに比べて遅いので、「状態がN回連続して同じだったら〜」という判定方法はうまく動かないことがある
- そのため、変化が発生した瞬間に「押された」と判定するようにした。その代わり、続くN回のスキャンの間は変化していてもレポートしない
- 各キーごとに状態をもつよう修正
- DEBOUNCE定数を大きくしてもレイテンシは増えない。ただしkeypress(キーを押し続けている)の判定には影響がある