kbigwheelのプログラミング・ソフトウェア技術系ブログ

プログラミング・ソフトウェア技術系のことを書きます

Universal Keymapシリーズ⑦ 13個のキーマップから分割型40%キーボードの最大公約数的キーマップを設計する

というわけで、やっとキーマップの設計にたどり着きました。ここまで長かったですねー。

目次

設計対象

今回設計する対象としてCorne Cherryを選びました。

Corne Cherryを選択した理由は以下です。

  • おそらく国内では最も普及している40%分割型キーボードのため
  • 物理的なキー配置に癖がなく、他の40%分割型キーボードにもキーマップを応用しやすい

具体的なキー配置考

レイヤー0

④ 分割型40%キーボード(など)のキーマップを比較してみる (レイヤー0編)より、40%分割型キーボード向けの標準的なキーマップには以下の特徴があります。

  • アルファベット部分は通常通り
  • 右手 ; , . / も通常通り
  • 左手小指外側3キーは上から Tab Ctrl Shift
  • 右手小指外側3キーは上から BackSpace ' (") Shift
  • 親指部分は左から GUI MO(1) Space Enter MO(2) Alt

レイヤー1 / 2

⑤ 分割型40%キーボード(など)のキーマップを比較してみる (レイヤー1,2編)より、40%分割型キーボード向けの標準的なキーマップには以下の特徴があります。

  • vimスタイル矢印キーは鉄板
  • 数字キーをQWERTY行、数字キーに対応する記号キーを他方のレイヤーのQWERTY行 へ配置するのも定番
  • vimスタイル矢印キーと数字キーはレイヤー2へ配置する派が僅差で多い
  • ファンクションキーはなしまたはレイヤー1の左手中段下段へ割り当てているものが多い
    • はみ出し2キーはキーボードによるものの、Planckに習い H N に逃がすか左手外側を変えるのが良さそう
  • モディファイヤキーは変更・追加しない
  • Escape Tab BackSpace Delete ` (~) はレイヤー0で足りないものを補完する
  • Home End PageUp PageDown はなしまたは使用する場合は矢印キーと相関性をもたせる
  • その他記号キーを配置する場合は次の2点を考慮する
    1. 対応する記号キー([ ] ( ) { } < > / \)を近くに置く
    2. 101キーボードの左上に近いキーほど、キーマップでも左側に配置する

レイヤー3

⑥ 分割型40%キーボード(など)のキーマップを比較してみる (レイヤー3編)より、40%分割型キーボード向けの標準的なキーマップには以下の特徴があります。

  • RESETキーの配置は鉄板 (Qが多い)
  • RGB系キーを使う場合は 2行左手中段下段
  • バックライト系キー、オーディオキー、Rev Alt/GUI Swap Alt/GUITO(X) キーはあまり割り振られていない

結果

以上を踏まえてCorne Cherry向けに作成したキーマップが以下です。

レイヤー デフォルト 今回作成したキーマップ
0 f:id:den8:20201011163632p:plain:w360 f:id:den8:20201011163616p:plain:w360
レイヤー1
f:id:den8:20201011163628p:plain:w360
レイヤー2
f:id:den8:20201011163608p:plain:w360
レイヤー2
f:id:den8:20201011163624p:plain:w360
レイヤー1
f:id:den8:20201011163612p:plain:w360
3 f:id:den8:20201011163620p:plain:w360 f:id:den8:20201011163604p:plain:w360

今回作成したキーマップのqmk configurator用JSON定義ファイル: crkbd_rev1_common_layout_split_3x6_3_mine.json

デフォルトキーマップと今回作成したキーマップの相違点

まず前提としてデフォルトキーマップではレイヤー1にあった矢印キーや数字キーが今回作成したキーマップではレイヤー2に移っています。 以下それを踏まえての比較です。

  • レイヤー0
    • 完全に一緒
  • レイヤー1(2)
    • 左手中段下段および右手下段外側にファンクションキーを設定
    • 矢印キーの下に Home PageDown PageUp End を設定
    • BackSpace キーを Delete キーに入れ替え
  • レイヤー2(1)
    • 記号の並びで ` (~) を最右から最左へ移動
    • Shift を押したときの記号を下段および上段へ集約 (デフォルトキーマップは素押しとShift同時押しのキー配置が上下バラバラです)
    • BackSpace キーを Delete キーに入れ替え
  • レイヤー3
    • RESET キーおよびRGB系キーをすべて右へ一列移動

概ねうまく配置できたと思いますが、2点ほど疑問な点があります。

疑問点1. F11F12 の配置

F11F12 が他のファンクションキーから大きく離れています。しかし、vimスタイル矢印キーのため移動させることが難しく Home の直下固定なため H N M などの位置が使えませんでした。 他方 Left CtrlLeft Shift を使う手も考えましたが CtrlShift は矢印キーやファンクションキーともコンビネーションで使用する可能性があり、またそれらを使用すると数字キーの 1 ~ 5F1 ~ F5 がずれてしまうという点もあって断念しました。 また、多くの分割型キーボードでは G H B N の間に追加のキーが存在したり ZXCVB 行の更に下の行があったりで多くの場合 F11 F12 を左手に配置できることもあり Corneのためだけに Ctrl Shift をファンクションキーで上書きするのは問題が多いと判断したことも一因です。

疑問点2. レイヤー1と2について

レイヤー2を有効にするキーが右手親指で、レイヤー2の矢印キーもまた右手にあるため矢印で移動するときに右手で2キーを押すことになります。 この手の2キー押しを両手に分けるべきかそれとも片方の手に寄せるべきかがよくわかっていません。素直に考えると両手に分かれていたほうが良い気がします。 ⑤ 分割型40%キーボード(など)のキーマップを比較してみる (レイヤー1,2編)で分析した結果矢印キーをレイヤー2に配置しているキーマップが多かったためそれに習いましたが、矢印キーはレイヤー1に配置したほうが良いかもしれません。

NEXT ACTION

これで一つのキーマップができましたが、このキーマップは

で調べたキーボードのキーマップの最大公約数に過ぎません。 ① 多彩な自作キーボードを使う上でのキーマップの問題で求めているキーマップへ到達するにはもう少し修正する必要があります。

そこで、次は上記の条件を満たすCorne Cherry用のキーマップを作成します。