キーボードが連続で入力されるのをなんとかする

新しいキーボードを買った。

新しいキーボードを買ったと言ったけどそれは嘘で買ったのは4ヶ月も前で、使い始めたのがつい最近だというだけの話なんだけど。しかも新しいキーボードと言ったけれどキーボードを前に買ったのはもう十年は前の話だし、US配列はこれが初だ。
まぁそれはそれとしてなんでキーボードを買って長いこと放置していたかと言うと使ってるMBPのキーのいくつかがめちゃくちゃ押しづらくなってしまい外部のキーボードを入手する必要が生じたのと、それから買ってみたらノートPCと外付けキーボードはマウスが無い限りかなり相性が悪いということに気付いたから。
というわけでかなり長い間放置していたのだけれど、ディスプレイを買ったのでちゃんと使うようにし始めた。
ら、これが死ぬほど使いづらくて結構困った。さすが2000円というか。単に入力しづらいというのはまだ許せる(オタクがこぞって高いキーボードを買う理由が少しわかった)のだけれどbluetoothのせいなのか知らないがたまにキーが一回しか押していないのに連続で押されることがある(jと打ったつもりがjjになってたりする)。これが思った以上にストレスで、特にバックスペースになると9割くらいの確率で連続打鍵がされるので連続打鍵の修正をしようとバックスペースを押すとまたしても連続で入力が起きて再度書き直しを、という死の往復運動が始まる。せっかく文章を書き始めようと思ったのにコレでは困る、と思ったのでなんとかしようと思った。
とりあえずこういうときはkarabinerを使っておけば間違いない、と思って起動して『key repeat』なるそれらしい項目があったので見てみるとmacのキーボード設定に飛ばされる。これは長押しの設定なので関係がない。よくわかんなかったのでググってみるとどうやら僕が探していた機能は以前のアップデートの際に削除されたらしい。なにー。
入力がこちらの想定しない動きになることは以前にマウスで体験したことがあり、そういうのはチャタリングと呼ばれていることを知っているのでそういう感じでググってみるとまんまな情報が出てきた。最初からコレを貼れば全部解決だった話をダラダラ書く人。

www.subthread.co.jp

起動時実行に関してはまぁいいやと思ってるので放置してるけど、とりあえず書いてある通りにgit cloneしてビルドしたら直った。
直ったけど連続入力の閾値を100msにしていたらたまに自分の意志による連続入力も受け付けなくなる事態が発生したので

ysugiyama.hatenablog.com

に書いてある通りに数値を修正してビルドしなおして実行したらそれもなんとかなった。最初は50msにしていたけどそれだとちょっと早すぎたので75msにしてみたら今のところ想定外の連続入力はほとんどなくなった。そういうわけでもし同じように困っている人がいたら(建前)と思って自分用のメモ(本音)と思うように入力が出来るようになって嬉しくなった(本音)のでブログを書いた。