初の自作キーボードでCorne Cherryを作りました。
自作というだけあって、自分で部品をはんだ付けして作るわけですが、
最も時間がかかったのはキーマップの設計です。
すべてのキーを自由に設定できる自作キーボードでは、
キーマップの設計が醍醐味のひとつとなっています。
今日は、私のCorne Cherryのキーマップを紹介したいと思います。
目次
Corne Cherryとは
まず、今回私が選んだキットを軽く紹介します。
Corne Cherry(コルネ チェリーと読みます)
作者は@foostanさんで、今は遊舎工房で販売されています。
公式GitHubはこちら。
左右分離型で、キーの数は42キー。
日本語の一般的なキーボードが108キー、英字のHHKBですら60キーですから、
最小限に近い構成であることがわかります。
前提条件
キー配置は使用するOSや用途によって大きく変わります。
私の場合、使用OSはMac OSX、
仕事がエンジニアなので、主な用途はプログラミングです。
その他の用途に比べ、記号をタイプすることが多いのが特徴でしょうか。
普段MacBook Proを使っているので、MacBook Proと親和性のあるキー配置になるよう心がけました。

Macでプログラミングするためのキーマップです
レイヤについて
ここからキーマップの紹介です。
今回はデフォルト、Raise、Lowerの3レイヤとしました。

ん? レイヤってなに?
特定のキーを押しているあいだ、キーマップが変わる考え方のことをレイヤといいます。
たとえばShiftキーを押している時、
小文字が大文字に変わったり、数字が記号に変わったりしますよね。
あれがレイヤです。
自作キーボードはキーの数が少ないものが多いため、レイヤキーを駆使して複合入力する手法がよく使われます。

Shiftもレイヤの一種です
デフォルトレイヤ
まずは通常のデフォルトレイヤ。
アルファベット配置は一般的なQWERTYにしています。
ここでのポイントは以下の3つです。
- BackSpaceはCtrl+hで代用
- レイヤキーは単独入力で英/かなキーに
- Enterは右親指
BackSpaceはCtrl+hで代用
一般的なキーボードだと、BackSpace(またはdelete)は右上キーに設定されていますよね。
ですが今回は思い切ってBackSpaceをなくしました。
理由は2つ。
- Macは Ctrl + h でバックスペースになる
- 右上にはハイフンを置きたい
Ctrl + h という比較的入力しやすい組合せでバックスペースが使えるなら、わざわざ専用キーを作らずとも運用できます。
また、日本語入力を考えた時に、バックスペースよりもハイフンが右上にある方がメリットが大きい判断しました。

ハイフンが複合入力だと、文章を書くのが大変…
レイヤキーは単独入力で英/かなキーに
デフォルトレイヤの2つ目のポイントです。
レイヤ切り替えに使うRAISEキー、LOWERキー。
これらは単独で入力されたとき、それぞれ英字キー、かなキーになるようにします。

Windowsみたいに、1つのキーで切り替えちゃだめなの?
もちろん、1つのキーのON/OFFで切り替える方法もあります。
ですがその場合、今どちらの状態なのかを気にする必要があるため、思考への負担がかかります。
英字にするキー、日本語にするキーが独立していれば、
現在の状態を気にする必要がありません。
さて、webで検索するとLT(layer, kc)というキーコードで、RAISEとLOWERの単独入力を実現している記事がいくつかヒットします。
しかしながらこれでは実運用には耐えられません。
素早くレイヤキーを押して離したとき、意図しない動作になってしまうためです。
解決法は以下の記事に詳しく載っていますので、困っている方は読んでみてください。
こちらの記事に書かれているとおりに修正を行うことで、
RAISEとLOWERキーを英/かな切り替えキーとして設定することができました。

LT(_LOWER, KC_MHEN) じゃダメだよ
Enterは右親指
最後のポイント。
これは左右分離型の自作キーボードだとよくあるパターンです。
一般のキーボードだとEnterは右端の小指でタイプする位置にありますが、
今回は右手親指の一番外側のキーに設定しました。

やりにくそう・・・
コロン/セミコロン、ダブルクォート/クォートの配置をMacBook Proと合わせたかったため、このような配置にしています。
小指でEnterを押す癖がどうしてもついていますが、数日経てば慣れるので問題ありません。

親指Enterは慣れればどうってことないよ
Raiseレイヤ
続いてRaiseレイヤの説明です。
Raiseレイヤは主に記号入力に使用します。
プログラミングでは日常的にたくさんの記号を入力するため、極めて重要なレイヤと言えます。
ここでのポイントも3つです。
- 最上段はMacの配置に合わせた
- 一部のキーをShiftレイヤに合わせた
- 記号は右手側に寄せた
最上段はMacの配置に合わせた
最上段の記号はMacBook Proの数字キーに合わせました。
職場ではMBPだけで作業するときもあるため、記号の配置が大きく変わると思考の負担が大きいと考えたのが理由です。

体が覚えてる配置は、無理に変えなくても良いかな
一部のキーをShiftレイヤに合わせた
これが最後まで悩んだポイントです。
一部のキーというのは、以下の赤枠で囲った右側の4つです。
これらのキーは、デフォルトレイヤでShiftを押した時と同じキーに設定しました。
できることなら最上段以外の記号はRaiseレイヤ右側に集約させたかったのですが、
<と>が収まらず、Shiftレイヤに置くことになりました。
<と>に限ってはShiftとの同時押しになるため、誤って他の記号の際にもShiftを押してしまう恐れがあります。
そこでミスタッチの保険として、RAISEレイヤとなるべく記号を合わせるようにしました。

記号はRAISE という思考になるのが一番ラク
記号は右手に比重を置いた
これも思考への負担を減らす目的です。
記号入力をRAISEと右手の組合せを基本にすることで、
あれこれ考えずに済むのではと考えました。

<、>が惜しいなー
{と}、[と]など、対になっている記号は、配置を合わせるようにも意識しました。
Lowerレイヤ
最後はLowerレイヤ。
主な構成は数字キー、カーソルキー、ファンクションキーです。
ポイントは2つ。
- 数字キーは横一列
- カーソルキーはVim準拠
数字キーは横一列にした
数字キーの配置を考える時、選択肢は大きく分けて次の2つでしょう。
- 横一列
- テンキー
これらは、それぞれ得意なポイントが異なります。
横一列配置は文書作成やプログラミングなど、文字入力と数字入力が混在する用途に向いています。
一方テンキーであれば、金額入力などの桁数の多い数字入力を素早く行えます。
職業や普段の用途によって、テンキーか横一列かが分かれますね。

私だったらテンキーかな。

プログラミングなら横一列の方がやりやすい。
テンキー配置にするとレイヤキーが左手側になるため、大幅に構成が変わることになると思います。
カーソルキーはVim準拠にした
カーソルキーは、H J K Lをそれぞれ← ↓ ↑ →に対応させています。
馴染みのない方も多いかと思いますが、Vim(※)というソフトで使われているキー配置です。※Windowsのメモ帳のようなソフト。エンジニアがよく使ってる
普段仕事で使っているソフトなので、慣れを重視して決めました。
ちなみに、他のカーソル配置だと以下の3種類が代表的です。
- 一般的な凸型配置
- HHKB配置
- WASD配置

カーソルキーは慣れた配置を選べばOK!
さいごに
Corne Cherryのキーマップを紹介してみました。
参考になりましたでしょうか。
現状に満足せず、より使いやすい配置を今後も追求していきたいですね。
それではまた。