generated at
Ergodoxで親指シフト

Ergodoxで親指シフトを実現した
Windows環境で親指シフトをする場合DvorakJなどのキー書き換えソフトウェアを使うことが一般的
しかしDvorakJは
打鍵の時間差が一定以内の時に同時打鍵とみなす設計なのでわずかな打鍵の遅れで同時ではないと判定される
デフォルトでシフトキーとしてスペース、変換、無変換などが使われていて同時でないと判断されたときの被害が広範
おそらくこの設計が原因で git add -p gi tad d-p になったり "abc" "abC’ になったりする
アルファベットの後にスペースやシフトが押されたのにアルファベットが遅れて認識されている
そこでファームウェア書き換え可能なキーボードErgodox EZを用いて親指シフトを実現した
記号の配置は仕様通り再現するモチベーションがなかったのでやりたいようにやった
意外と記事がないのでここに書いておく

技術的な話
ソースはここに置いた
親指シフトのキーとして既存のキーコードを流用するのではなくマクロでシフトキー的挙動を直接実装している
なので空打ちしても害はない
修飾キーが2つ増えた状態
親指シフトではないが参考になる関連記事 Ergodoxで親指同時打鍵を実装する
サイズがシビアとのことで心配したが特に何もせずあっさり動いた
彼の実装僕の実装では1桁サイズが違うかも
キーコードの列で単純に表現できないものは1文字目KC_NOに続けて非ゼロの時特殊コマンドとして扱っている
まだ英字・記号は実装してない
矢印キーを親指シフトで修飾してHomeやPageUpにするのもよさそう