2021年04月18日

【自キ】自キのキーマップの見方

知らないキーマップを解読するのはなかなか難しい。
色々弄った経験があると「なるほどー」なんて楽しいのだが、
どこから見ていいか分からない人のために、
僕の見方を書いておく。


1. raise、lowerの位置とレイヤー構成
2. モデファイヤ(shift、ctrl、alt、win)
3. カーソル、エンター、BS
4. 文字領域、句読点、ー、「」
5. 各種記号、その他機能キー
6. マクロ

の順で見るかな。


1. raise、lowerの位置とレイヤー構成

109キーでない限り、
自作キーボードはキーが足りない。
ふつうでも60キー、
コルネなら42キー、
MiniAxeなら36キー。
これを補うのがレイヤーキーだ。

これを押しっぱなしにしてキーを打つと別のキーになる。
これによって、
単打面、raise面、lower面と、
3面のキーボードが重なり合ったキーボードになる。

ちなみにlowerの頭文字がLなので、
lowerキーは左手側に、
raiseの頭文字がRなので、
raiseキーは右手側に置くのが慣習。

だからraise、lowerの位置は重要だ。
大抵親指真ん中のキーの一つ横の、特等席だね。

レイヤーキーはたくさん増やせる。
モノによっては、layer1、2…とネーミングされているのもある。
僕は6まで見たかな。

また、raise+lowerと2キーを押しながら何か、
みたいにレイヤーキー同士を組み合わせるレイヤーもある
(慣習上adjustとよぶ)。
レイヤーキーを2個のまま3レイヤー増やせるわけだね。


自作キーボードは「キーが足りない」のではない。

「レイヤーに積むことによって、キー数を減らす」
というフィロソフィーである。

なぜ減らすのか?
「ホームポジションから指を1キーまでしか動かさない」ためである。
「全てを1キー範囲内にしてブラインドタッチする」
ことが目的なのだ。

109キーボード(フルキーボード)の全キーを
ブラインドタッチ出来る人はいないだろう。
物理的に手が届かないし、
手を動かしたら見ずにホームポジションに戻るのは難しい。

しかし範囲を狭くすれば、
手をその場から動かすことなく、
109キー全てをブラインドタッチ可能になる。

それがraise、lowerの目的なのだ。

自作キーボードは、いわば平屋からマンションへの移行である。
広大な土地をやめて、
狭い土地の代わりに上に積むわけだ。
(いうても3階〜4階がふつう)

エレベーターホールであるところの、
raise、lowerの位置は最大に重要なわけだ。


で、どの階にどういうものが集められているか?
たとえば3階はおもちゃ売り場、などのように、
階によって役割を変えるのが分かりやすいだろう。

単打面は文字と機能キー、
lowerレイヤーは数字と記号、
raiseはカーソルや機能キー、
adjustはボリューム調整キーやファンクションキー、
みたいな住み分けが、
なんとなく出来てたりするが、
これに従う必要はまるでない。


2. モデファイヤ(shift、ctrl、alt、win)

モデファイヤは、altとwinの単押しを除けば、
「これを押しながら他と組み合わせる」ためのキーであり、
単押しでは発動しない。

だから、これを他の単押しキーと組み合わせることがよくある。

単押しスペース/押しながらだとシフト(SandS)、
単押しエンター/押しながらだとctrl、
単押しBS/押しながらだとwin
などなどにして、
レイヤーとは違う「上に積む」方法である。

(altとwinの単押しは、別レイヤーに入れるか、
もう使わないと捨てることもある)

自作キーボードは親指島を持つことが多く、
ここにどんな機能キーを入れ、
かつモデファイヤをどう重ねるかが、
一番工夫のしどころだ。

狭い親指島をめぐって、
機能キー、モデファイヤ、レイヤーキーが、
しのぎを削る、一番アツイところである。

またたとえば、
単押しZで、押しながらだとシフト、
単押し/で、押しながらだとシフト、
のように、文字キーにモデファイヤやレイヤーキーを兼ねさせることも出来る。

ZAをロールオーバーさせるとシフトAになってしまうから、
ZAは離してから入力する、
という手間が発生するが、
それでも「遠くに小指を飛ばす」手間を省ける。

30%キーボードでは、
たとえば句読点にシフトやctrlを置いて、
他と連続しないキーをモデファイヤにしたりする工夫がある。


3. カーソル、エンター、BS

カーソルは4キーもあるため、
40%キーボードでは10%の位置を占めてしまう大物だ。

単打面に置くなら、
いつもの右下に逆T字に置く(その右上のスペースが使いづらく、デッドになる)、
右下に一列、←↓↑→の形で置く(咄嗟に使いづらい)、
親指島に2個ずつ置く、
などのやり方もあるし、
レイヤー面に置くなら、
逆T字を、たとえばJKLIに、
一列を、たとえばHJKLに、
のやり方もある。

ちなみに僕は薙刀式と合わせるために、
T字、HJKMにカーソルを入れてたりする。

シフト+カーソル、ctrl+カーソルなど、
他のモデファイヤとの組み合わせをよく使う人は、
「シフト+カーソル」という新設キーを作る手もあるよ。
(薙刀式の編集モードは選択や文節伸縮をするために単独キーを配置している)


エンターとBSは日本語を打つ上で欠かせないキーだ。
僕の一年位蓄積したタイプカウンターによれば、
それぞれ10%ずつ使っている。
日本語の2割はエンターとBSで出来てるってすごくない?
こんなに使うキーを小指で押す意味がわからない。

強い指、親指や人差し指で押すべきだろう。
日本語入力者なら、
最初に考えるべきキーかも知れない。

この2キーがデフォルトに近いのは、
「初心者がビビらないようにしてる親切設計」
だと思って差し支えない。


4. 文字領域、句読点、ー、「」

30%キーボードともなれば、26文字すらキーマップを圧迫する。
しかしQやZなんてあんまり使わないんだから、
レイヤーに積んじゃう手だってあるよね。

句読点はそれを打つ前に一拍入れるから、
レイヤーに積む手もある。
(飛鳥配列、薙刀式、JISカナなど、レイヤーに句読点が入っている配列もよくある)

ーは普通のキーボードではめんどくさい位置にいるから、
日本語入力を考えるならば、まず近くに持ってくるべきキーだ。
あと「」もね。なんで小指でこれ打たなあかんのや。
さっさとFJDKあたりの特等席の2階とかに移動だよな。


5. 各種記号、その他機能キー

記号をどう置くかは難しい。
僕のおすすめは、数字段の記号は単押し(S(KC_1)で!になる)
にしてしまい、
レイヤー+シフト+数字にするのではなく、
レイヤー+記号にしてしまうこと。
同様に、シフト側にある記号も、単押しにしてしまうこと。

最初は、単押しを中段、シフトの記号を上段、
などにして、通常のキーボードの対応関係に合わせようとしたりするけど、
使い込むにつれて、
「もっと合理的な配置あるやろ」となっていく。

カッコ系は隣同士にしたり、左右対称位置にしたり、
論理演算記号をまとめて近くに配置したり、
四則演算記号をまとめて近くに配置したり
(ctrl +/-が拡大縮小に当てられてるアプリも便利になるよ)、
JISキーボードで使うのに、USキーボードの記号配置を真似たり、
などは工夫のしどころだろう。


あるいは、補完入力のtabをたくさん使う人は、
親指島に配置するべきだろう。
vimmerはescを以下同様。

どう配置するか?という問いは、
何が大事か?を整理し直す行為である。

つまり、キーマップとは、
「私はこのようにキーボードを整理しなおした」
という思考の結果であるわけだ。


6. マクロ

メジャーなものは、
英数マクロ、カナマクロだろうか。
winでもmacでもこのボタンを押せば、IMEの切り替えが出来る様に、
マクロを設定するのだ。
(英数マクロは、capslockと英数キーの二つを発行。
Macではcapsは無視され、Winでは英数キーは無視されるので、
ワンボタンでIMEオフキーになる。
カナマクロは、ひらがなカタカナキーとかなキーの二つを発行)

他にもよく使うコンビネーションキーを作っておくと楽。
上にシフトカーソルの例を挙げたが、
alt+tab(アクティブウィンドウの切り替え)
win+カーソル(ウィンドウの整理)
などを使う人は入れといてもいいよね。
あるいは「ユーザー名tabパスワードenter」でワンボタンログイン、
はやっちゃだめよ。



キーマップは、
「このような物理で、このような使い方をするべきだ」
という、
自作キーボード製作者の、
「新しいキーボード機能の整理」である。

これらを読み込むことで、
新配列のヒントやアイデアをもらうことも出来るよね。
posted by おおおかとしひこ at 11:51| Comment(0) | カタナ式 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。