2017-09-06 QMK の Mod Tap を使う
毎週のように書いている気がするのだけど、またキー配列の話。
2017-09-01 に「押しやすいキーだけで構成すると 36 キーになる」という話を書いた。実はこの形のキーボードがあるようだ(想像しうるだいたいのものはある)。
let's split 。キー数的にかなり人を選ぶと思う。
— bouzuya (@bouzuya) September 5, 2017
minidox。キー数的にかなり人を選ぶと思う。
— kmtoki (@kmtoki) September 5, 2017
minidox はさすがにぼくには無理だな……
— bouzuya (@bouzuya) September 5, 2017
……と、こういう流れできて、「あれ 36 って」と思い出した。どうやら ErgoDox EZ の 76 キーから Let's Split の 48 キーへと向かってきた、ぼくのキー配列は minidox の 36 キーへと向かっているようだ。
36 キーは数字を含まない基本の 30 キーと親指部分の 6 キーだ。ここにぼくの必要なものを押し込めるだろうか。 modifier 4 レイヤー切り替え 2 スペースキー 1 。普通に考えると足りない。
この状況を打開するため、避けていた mod tap を導入することにした。
QMK 内で mod tap と呼ばれているこの機能 は、「窓使いの憂鬱」で SandS: Space and Shift という名称で呼ばれていたことで知った。 ErgoDox EZ のサイトでは dual-function keys として書かれている。挙動としては、押し続けると Shift などの modifier 、タップすると Space などの key として送られる。
良い点は 2 キーを 1 キーにするのでキー数を削減できることだ。良い場所に配置できることもそうかもしれない。悪い点は誤爆すること。タップのつもりが同時押しとして判定されてしまう、その逆もある。
とりあえず ErgoDox EZ で試してみた。v19 として gist に貼った 。なかなか良さそう。これで minidox (36 キー) に収まる。
A と Ctrl 、 Z と Shift 、 / と Shift を兼ねさせて節約する。 ; と Ctrl を兼ねていないのは CTL_T(OSL(L3))
のような単純な方法では動かないからだ。このあたりは余裕があればそのうちに書く。ソースコードを追えば分かるが、 QMK が特殊な処理をするキーコードをふたつ同時に指定してしまっており、動かない。
一日これを試してみたが、特に大きな問題はなさそうだ。ぼくのキー配列がまた前進 (?) したようだ。