買ったキーボードをすぐにぶっ壊す
早速誤解を招く見出しで恐縮です。
"ぶっ壊す"と言うのは物理的に破損させると言う意味ではないです。
デフォルトの設定を"ぶっ壊す"という意味で使っています。
前のブログでお話しした「Keychron K11 MAX」ですが、お話しした通り、カスタマイズをしてこそ輝く代物です。
デフォルトの設定のままでは勿体無いのですぐに"ぶっ壊し"ましょう!!
私の例で言うと画像の通りです

まず左上から見ていきますが、Escは`に変更しています。そして CapslockはEsc はに変更しています。
理由は私が vimmerだからです。それ以上でもそれ以外でもありません。
次は左下です。本来は LCtlのキーを LCmdにしています。
理由は私が vimmerだからです。と言うのも、 Ctlを最も押しやすい位置で使用したかったため移動しています。
右の Spaceだった部分が RCtlに変わっています。
Vimでよく使う場面としては、 Ctl + Dで下方向スクロール、 Ctl + Uで上方向スクロール、 Ctl + Oでジャンプする前の位置の戻るときです。
また、 Ctl + Nで下方向キー、 Ctl + Pで上方向キーの代替にもなります。
あとはLinuxのショートカットなどなど。。
続いて一番左から2番目のキーが Capslockです。行き場がなくなったのでここにしてるだけです。
その右が LOptです。なぜこの位置かは、次の章のレイヤー2の時にも説明する予定ですが、 方向キーと組み合わせるためです。
ご存知の方もいらっしゃると思いますが、 opt + 方向キーで単語ごとの移動ができます。
こちらの方が、一文字ごとに動くよりも大きく動けて便利です。(ターミナル上でも使えます)
その右は Spaceです。自分は右でスペース打つ派です。
その右は MO(2)です。特殊なキーですが、こちらはデフォルトのままです。
このキーを押している間はレイヤー2が有効になります。
"MO"と言う特殊な記法ですが、こちらはQMKやVIAで出てくる特殊なキーです。
詳細はサリチル酸さんのこちらのページをご参考にしてみてください。。
その右は MO(4)です。こちらもデフォルトです。
その右は右手で押すようの Spaceでしたが、 Ctrlに変えています。(なぜならVim。。)
さらに右が HYPR(KC_NO)です。これはデフォルトには存在しないキーで、カスタムから入力して作りました。
こちらの意味は Shift + Cmd + Ctrlと言うことです。まさにハイパー。
なぜこのキーがここにあるのかというと、 Raycastと言うランチャーアプリで使用しているためです。
ここで詳細は説明しませんが、 HYPR + 何かのキーでRaycastで設定しているショートカットキーを呼び出せるようにしています。
いつか書ける時があれば書きます。。
この設定が すごく便利で、例えば HYPR + Wはターミナルを指定しているので、マウスを触らなくても瞬時にターミナルを開くことができます!
そのほかにも便利機能がRaycastに詰まっているので、自分はこのハイパーキーを含めて重宝しています。
もっと右にいくとF15とか設定していますが、そこまで使用頻度は高くないので省きます。
「修飾キー以外はあんまり変わらないかな?」と思った方、よーくみてください。
そもそもキー配列が QWERTY配列ではありません。Dの位置とか全然違います。
それもそのはず。こちらは世にも珍しい Workman配列です
Workman配列の説明は別サイト(公式?)をご参照いただければと思います
https://workmanlayout.org/
qwerty以外にもdvorak配列やcolmak配列などがありますが、workman配列の特徴を簡単に説明すると、 「片手だけで連続した文字を入力しやすい配列」です。
例えば"person"と言う単語を入力する場合、6文字中5文字を右手で入力します。
もちろん同じ指を繰り返し使わないように工夫されています。
この思想はdvorak配列の「連続で同じ手の指を使わないようにする配列」と言う思想とほぼ真逆です。
疲れやすそうに思うかもしれませんが、慣れると非常に快適です。
qwertyのように不要な指移動が少ない上、"through"などの文字を入力するとき(ほぼ左手)はピアノを弾いてるような感覚です。
と言うことで、私のK11はレイヤー1でさえデフォルトのキーがほぼない状態なのです
ちなみに、本来のWorkman配列なら"P"の右は ;なのですが、後述するレイヤー2で補っているため、ぶっ壊して RCmdに変身しています。
ここは改善の余地ありですね。
レイヤー2はさらに魔境
続いてはレイヤー2です。
なぜレイヤー1がないのかというと、Keychronの設定でMac→レイヤー0, 2, 4 / Windows→レイヤー1, 3, 4が基本になっているからです。
別にこのレイヤーの概念をぶっ壊しても問題ないと思うのですが、Workman配列を使用している背景から、Windowsモードにすれば通常のqwerty配列に戻せるようにしています。

はい。記号用のレイヤーです。
一応プログラマーなので、 =とかは押しやすい位置におきたいなと思いこんな形になっています。
そして左上の !キーから右にいくと Shift + 1~9の記号が打てるように大雑把に置いています。
考慮した点としては、 押しにくいキーにはよく使うものを置かないようにしています。
押しにくいキーで言うと、例えばqwerty配列で言うところの t, y, qあたりです。
その位置にはスクリーンショットのショートカットなど、よく使うけど入力中に必要になることがほとんどないシリーズを置いています。
あと特筆すべきは M1と M2ですね。こちらはシンプルにそれぞれ「コピー」、「ペースト」のショートカットを置いています。
Workman配列だとこの位置がそれぞれ「C」、「V」にあたるのでこのようになってます。
あとはカッコが全て右手の中指or薬指に集中しています。意外に打ちやすくて良いですよ!
今までのが嘘のようにシンプルなレイヤー4
最後のレイヤー4。
とんでもないものが待っているのではと期待されている方には申し訳ないくらいシンプルです。

詰まっているのはfnキー、方向キー、数字キーがけです。
一番上のfnキーシリーズは、あまり触れることがないのでそのままにしています。
いざという時にしか使いません(極力Excelとか触りたくない。。)
次に方向キー。 Vimmerだからです。
これが意外と便利です。
まずこうなった背景はWorkman配列がvimユーザ必須の「h、j、k、l」キーを殺しているからです。
一時期頑張って使いこなそうとしましたが無理でした🤷
それならと言うことで別レイヤーの方向キーを置いたのですが、かなり優秀です。
まずVimに関わらずどのアプリケーションでもVimと同じ方向操作ができます。
また、前述した Opt + 方向キーの操作が可能なため、ホームポジションを崩さずに大きく移動することができます。
しかももっとすごいのが、Vimのinsertモードでも移動ができることです!
プログラムを書いていて、IDEが気を使って (を入力すると、 )も一緒に入力してくれませんか?
すごくありがたい。でももしその )の後ろに文字をさらに入力したい場合、Vimユーザはinsertからnormalモードに戻して移動する人が多いでしょう。
(ガチ勢はinsertモードで Ctrl + O(一度だけnormalモードのコマンド受付)、 l(左に1文字動く)を駆使しているかもしれませんが。。)
レイヤー4を活用すれば、insertモードでも上下左右の移動が簡単に行えます。
なぜならシンプルに方向キーを入力しているのと同じだから!素晴らしい!
最後に数字キーですね。
自分は遠いキーを入力したくないです。
数字キーは遠いです。
もっと手の近くに来てほしいです。
そんな気持ちで設定しました。
最初は左手テンキースタイルで設定していたのですが、入力がおぼつかなくて結局この形に落ち着いています。
慣れるとVimで 数字 + 上下キーを使って、現在行から数字行分移動なども同じレイヤーで入力できるのでなかなか有用です。
結論
長々とお話ししていましたが、上記の設定は前の自作キーボード"miniaxe"で設定していた内容をほぼ一緒です。
しかし、既製品でここまで自分に合ったキーマップ変更できるのはK11くらいしかないですね!
もしEmacs派がいたら全然違う設定になるかもしれませんね。
色々カスタムしたい方、ぜひK11をよろしく!
https://keychron.co.jp/products/keychron-k11-max-qmk-via-wireless-custom-mechanical-keyboard-us-ansi