時間があったので、iris keyboardのキー配列を再考してみた。
この手の鍵盤を使って判ったのが親指の可動範囲は想像以上に狭い事である。
最下部に3個+1個の親指用鍵盤があるが、一番押し易い3個並んでいる中央のキーは良いが、残りは意外に押しづらいものである。
そこで、この一番押し易いキーには何をさせるかが悩みどころである。
色々なサイトを眺めると、IME切替「変換」「無変換」、レイヤ切替「Lower」「Raise」、入力頻度の高い「Space」「Enter」のどれか複数が陣取っている様だ。
当初の実装は「TapでSpace、HoldでLower」「TapでEnter、HoldでLower」としていたが、IME切替がどうしても欲しくなって来た。時々強制的にIME onにするアプリが増えている気もするので。
次に、上記の人気3種類をどの様に2個のキーに実装するかである。
試行錯誤と妥協の結果は次の通り。
左中央「TapでSpace、HoldでLower、このキーをHoldして右中央キーを押すとIME on」
右中央「TapでEnter、HoldでLower、このキーをHoldして左中央キーを押すとIME off」
当初はTap danceによる入力も考えたが、Tap Danceは意外に操作時間が必要と判ったので、上記の設定が一番良さそうである。
次に、レイヤロックの配置を再検討した。
従来は、10key、カーソルレイアは存在したが、「LowerまたはRaise + 右親指右端」の組み合わせで意外に使いづらいので、色々試してみた。
新配置は、「Lower Hold」+「反対側Lower Double tap or Raise Double Tap」で特定レイヤをロックする設計とした。これにより、Adjust以外の全レイヤをロック可能とした。
また、当方環境ではLEDが実装されていないので、レイヤロックの判別が難しく、レイヤ位置が判らなくなった時の為に「Lower Hold」+「ALT or GUI Double Tap」でロック解除する設計とした。
実装は以下を参考にしている。
https://okapies.hateblo.jp/entry/2019/02/02/133953
http://leopardgecko.hatenablog.com/entry/2019/01/04/131410
上記がdefault配置である。キー前面がHold時挙動。
Shiftキーは2個あるが、変則仕様。
右ShiftはTapでバックスラッシュ、+ 左Shiftでパイプ、HoldでShiftの複合としている。キー数が少ないので、JIS配列の真似である。
左ShiftはTriple tapでCaps Lockとしている。
Shiftキーは通常Tap動作が不要であり、他のキーを押下する際にHold出来れば良いので上記の設定としている。
---追加---
右手側にCTRLが少ないので、左手側対象位置の「'」にHOLD時CTLを追加した。
ブラウザのタブ切替でCTL+TABを頻繁に使用するので便利。
上記がLowerレイヤである。キー右上はTap Dance操作の挙動となる。Lowerキーは2個あるので、Lowerキーに割当されている機能は反対側のLowerをHoldして指定する。
例えば、右LowerをHoldした時に左Lowerの機能は次の通り。
Tap...F13(OS機能でIME off)
Hold...Space(余り無いが、スペースキーリピート)
Double Tap...Numpad layer lock
上記がRaiseレイヤである。主にFunction Key入力を想定。
余り美しく無いコードは以下。
https://github.com/7k2mpa/qmk_firmware/tree/master/keyboards/keebio/iris/keymaps/7k2mpa