Keyball 61にhome row modsを導入した

by
カテゴリ:
タグ:

長らくキー配列についてはKeyball61のオレオレマッピングを語るの通りでしたが、加えてhome row modsを導入しました。

home row modsは、ホームポジションのasdf(左)とjkl;(右)を押しっぱなしたときに(hold)、CtrlShiftなどの修飾キーとして機能させる方法論です。

配列やキー数が特殊なキーボードであっても、ホームポジションのキーがないことは少ないので、特定のキーボードにロックインされないところが魅力です。

Karabiner-Elementsを使えばmacbookのキーボードでも実現できて、外出時の生産性を下げずにすむのでは?と思って、まずはKeyball 61で試してみることにしました。

home row modsのページでは、GUIWin/Cmd)、AltOption/Meta)、ShiftCtrlの順に並べる方法が一般的と語っています(GASC)。しかし、私は紹介されている例のいずれにも該当しないASGCを採用することにしました。

といったことを勘案してのものです。

なお、私はSandSという、スペースキーを長押ししたらShift扱いする方法を愛用しているので、実質的にはs->Shiftはほぼ用無しです。もし、Shift+Spaceをしたくなったら活躍するかも。 Emacsを使いたくなったら、Altの出番が増えるかもしれないしSAGCの方がいいかもなとも思い始めてます。

配列の他にhome row modsを導入するにあたって、気を使う点は、どんな状況で長押しを修飾キー判定させるかです。

Keyball 61のファームウェアであるqmkの場合は、実に多様な設定を組み合わせられます(https://github.com/qmk/qmk_firmware/blob/master/docs/tap_hold.md)。代表的なものは以下です。

さらにこれらは、キー単位で設定する方法も用意されています。

私は友人のアドバイスを受けて、TAPPING_TERMを160ms、PERMISSIVE_HOLDを有効にしました。 Keyballの場合は、info.jsonに以下のような設定を追加すればOKです(https://github.com/atusy/keyball/blob/5852d1e760382d86719d29388b39d65dd91dd0cc/qmk_firmware/keyboards/keyball/keyball61/info.json?plain=1#L10-L11)。

{
  "tapping": {
    "term": 160,
    "permissive_hold": true
  }
}

今のところこれでほぼ困ることなく、このブログも書いています。 HOLD_ON_OTHER_KEY_PRESShome row modsには適用していません。

一点、これは自分の指使いの問題だと思いますが、ときどきaが意図せず長押し判定されることがあります。たぶん小指の運指能力が低くて、キー離れが悪いのだと思います。 TAPPING_TERM_BY_KEYで例外設定をしてもいいのですが、いったんはこのまま訓練を積んでみようと思います。

ENJOY