スモールキーボードで重要な「レイヤー切り替えキーと修飾キーのホールド順」について
前回の記事の続きというか、混ぜるには長過ぎたので独立記事にした内容。
スモールキーボードではレイヤーとデュアルロール(タップとホールドで別のキーになる機能)を活用します。
初期レイヤーには多くの記号や数字がなかったりするので、「Ctrl -」とか「Cmd 1」とか入力するにもレイヤー切り替えが絡んでくることになります。
ここで問題になってくるのが、 レイヤー切り替えキーと修飾キーのどちらを先にホールドするか ということです。
基本は修飾キーが先
修飾キー→レイヤー切り替えキーの順番だと、基本的に問題は起こりません。
例えば、前回提案した汎用キーマップで、「Ctrl -」を入力するとします。
まずCtrlをホールド。
次にMO(2)をホールドし、レイヤー2に切り替え。Ctrlを離さなければ、ここでいきなり2になったりはしません。
最後に - をタップ。
これで「Ctrl -」の入力になります。
これが逆だとどうなるか。
先にMO(2)をホールドすると、レイヤー2に切り替わります。
すると、レイヤー2にはCtrlがないため、うまくいきません。
じゃあ全部のレイヤーに修飾キー置いたらよろしいやん
それがそうもいかないんですよね。
理由は、ほとんどの入手可能なスモールキーボードに採用されているQMKというファームウェアの機能的な制限です。
デュアルロールキーのタップ側に割り当てられるキーは限られており、「Shfitナントカ」とか「Ctrlナントカ」といったキーコンビネーションは割り当てられないのです。
じゃあそんなもん割り当てなければよろしいやんとなりますが、「Shiftナントカ」で入力する記号をどこかのレイヤーに割り当てておかないと、Shiftの入力頻度自体が増えてしまいます。#を入力するのに、毎回MO(2)とShift押しますかという話。
もちろん、デュアルロールではないただの修飾キーを割り当てることならできます。しかし、全レイヤー6キーとか8キーずつ消費するのはさすがにもったいない。
もうちょっとマイルドな回避策として、 修飾キーとシフト記号は重ねない という考え方はあります。JISキーボードとして使う場合は難しいのですが、USキーボードならできなくもない。例えばこんな感じ。
つまり、この2つはトレードオフの関係にあるわけです。
レイヤー切り替えキーと修飾キーのホールド順の自由
シフト記号(を含むキーコンビネーション)の割り当ての自由
このあたりはもう好みの問題ですが、個人的には修飾キー→レイヤー切り替えキーを習慣づけたほうがハッピー高いんじゃないかな……という立場です。