kbigwheelのプログラミング・ソフトウェア技術系ブログ

プログラミング・ソフトウェア技術系のことを書きます

最近自作キーボードのキーマップについて考えていること

一時期キーマップのことばかり考えていた時期がある。

kbigwheel.hateblo.jp

ただ、完全に煮詰まってしまってそれが自作キーボードからちょっと離れる理由の一つになってしまった。

最近、またキーマップを考えたいと思い始めたのだけど、

kbigwheel.hateblo.jp

のように如何に自動キー入力や配置変更で楽を使用かと考えていた1年以上前から少し考え方が変わった。

背景は、mimic keymapなどで思った以上にトラブルが多かったことから。 うまく使えば便利ではあるのだけど、Ctrl+Shif+なにかなど、組み合わせのときに何かと問題を引き起こしがちだった。また、複雑なキー配置も忘れやすく問題が起こったときに即座に解決できないことも多かった。 決め手となったのは会社で使っているMacを英字に変えたことで、これで日本語キーボードと英字キーボードの間を行ったり来たりせずに良くなった(すべて英字キーボードに統一できるようになった)。 こうなると切り替えが必要なのはPC / Macのキー配置間ぐらいになる。

次のcon4t4ble v2は、やるとしても長時間放置したときのIME無効化(auto_disable_ime)ぐらいでよさそうだ(記号押したときの自動ME無効化(disable_ime)や記号入力の配列を擬似的に書き換える機能(mimic_keymap)もいらない)。

qmk_firmwareにswap alt/gui ボタンがあるので、これでmacとpc用を切り替えられるならいっそIMEの自動無効化も切ってもいいかもしれない。 そこまでやれば、あとはカスタムしたい要素は

#define PERMISSIVE_HOLD
#define RETRO_TAPPING

ぐらいになる(http://oookaworks.seesaa.net/article/465349890.html)。

一通りキーボード側でいろいろ入力を工夫できないか試してみて思ったのは、ファームウェアだけで行うことには限界がある、ということだった。 mimic_keymapも自動IME OFFも言ってしまえばIME側でうまく制御できればもっとよくできる話だった。ハードウェア(ファームウェア)側でやることには、OSが切り替わったりPCを複数つないでもそれぞれで設定が不要という利点はあるものの、OS側の状態がどうやっても取得できないためいつ部不器用にならざるを得ず、それがmimic_keymapやdisable_imeで自動的にIMEをOFFにするところで問題を発生させがちだった。むしろ、その複雑さからくる問題がポータビリティや可用性を下げてしまい、本末転倒なことになりがちだった。

幸い、会社と自宅のキーボードを英字配列に統一できたため、これからはOS側の設定を英字に統一して見ようと思う。その上でmaclinuxの設定差は吸収する必要があるが、それは英字/日本語よりだいぶ小さな差分で済む。 もし、IME領域含めてまで開発する動機ができたらまたソフトウェアによる入力改善のテーマへ挑んでみようと思う。