昨年の8月ごろから自作キーボードに手を出して、最初はlily58 Pro、その後しばらくはKeyball44を使い、今はcocot38mini(cocot38mini – cocotkeebs)を主に使っている。
cocot38miniは30%と呼ばれるサイズのキーボードで、数字キーに加えてShiftやTabなどのモディファイアキーも配置する余裕がないので、キーマップをどうするかが特に問題になる。しばらくの試行錯誤を経てだいぶ使えるようになってきたので設定を公開しておく。
キーボード構成

- ケース
- cocot38miniは公開されているデータを用いて自分でケースをプリントする必要があるので、JLC3DPで8001 Resinで発注した。トップが19.50$、ボトムが7.85$だった。
- 精度は問題なさそうだったが、結構バリがあって気になった。
- キースイッチ
- Kailh Deep Sea Silent Pro Box
- キーキャップ
- Moa-小さな文字のキーキャップセット、メカニカルキーボード、pbt、かわいい子猫、124キー、60、84、98、108のフォント - AliExpress 7
- アリエクで適当に買ったやつ。MOAプロファイルと名付けられているプロファイルで丸みがあってややくぼみが深めな印象。案外打鍵感が良い。
- ロータリーエンコーダ
- 遊舎工房でノブと一緒に購入した高さ20mmのもの。
- 回すときのクリック感が気になったので以下の記事を参考にクリック感を無くす改造をした。これをやっておくと指一本で回せる。
キーマップ
標準で8レイヤー使うことができ、7つ使用している。 レイヤーは多めに使っているが基本的には標準的なキー配列から極端に逸脱しないような方針で設定している。
レイヤー0

- 基本的にモディファイアキーは標準のキーのホールドに割り当てるような形。
- Aに割り当ててあるレイヤー3はcontrolに近い役割をするように設定してある。
- TabはQとWを同時押しすると発火するようにComboで設定してある。
- 中央のキーと親指右下のキーは余ったのでDevtools起動とスクリーンショット撮影用のショートカット、マクロを割り当ててある。
レイヤー1

- 基本的にはCmd+何らかのキーを発火するようなレイヤーとしてある。
- あまり用途がない部分は記号を割り当ててある。
- JYENは\、|を入力する。
- Z部分のTap DanceはHoldをShift、TapをCmd+Zに割り当ててある。
- こうしないとレイヤーに入ってからShiftを入力する方法がない。
- 素早く入力してしまうとShiftにならないのが若干課題。Taping Termを短くすれば素早い入力には対応できるが、今度はCmd+Zが入力しづらくなる。
- 標準レイヤー以外のロータリーエンコーダはブラウザなどの拡大縮小、押し込みで倍率リセットに設定している。
レイヤー2

- 数字、ファンクションキー、カーソル移動用。
- カーソルはVimでの操作が馴染んでいるのでhjklに割り当て。
- :を置いてあるのは時刻入力の際に便利なので。
レイヤー3

- Control+何らかのキーを発火するようなレイヤーとしてある。
- Controlと組み合わせての操作をするのは基本的にEmacsキーバインドで操作をしたい場合なので、標準のキーバインドで代替できる場合は標準のキーバインドを設定している。
- ControlをAと共存させる場合、Control+A(行頭に移動)をどう入力するかが課題になるが、運指が似ているA+Sを割り当てることで対応した。
- この場合Control+Sが入力できないが、Control+SをEmacsのように検索のショートカットとして受け付けてくれるアプリはそれほど多くなく、自分もほとんど使用していなかったので今のところ不便はない。
レイヤー4

- デフォルトでAuto mouse layerに割り当てられているので、トラックボールを操作すると自動的にこのレイヤーになる。
- 基本的にはマウスボタンを割り当ててあるが、右手部分には多少ショートカットを配置している。一部はOS側の設定も組み合わせている。
- Ctrl+]はSpotlight起動用。
- Ctrl+Cmd+Iは通知センター起動用。
- 0xc1はmacOSの場合Misson Controlを起動するキーコードになっている。
- LとHはブラウザ拡張(Surfingkeys)でブラウザの進むと戻るに割り当てているもの。
- スクロールに対応するボタンは割り当てていないが、これは別途Hammerspoonのスクリプトにより右クリック押しっぱなしでスクロールできるような設定をしてある
- 参考: [Macで右クリック+トラックボール操作で画面スクロールしたい!→ それ Hammerspoon でできます! #Karabiner - Qiita https://qiita.com/zyyx-matsushita/items/070f7e9d021ac099b5e2]
- これだと他のマウス、トラックボールなどでもそのまま使える上、標準のスクロール機能よりなめらかに操作できる。
- 左手側はトラックボール操作時には使わないので、設定変更用のキーなどを適当に置いてある。
レイヤー5、6


- 配置しきれない記号を置いてある。
- 標準的なキーボードで置いてある場所をイメージして置いたつもりだがまだちょっと覚えきれておらず探してしまうことが多い。
その他の設定
- Auto mouse layerは有効なままで使用している。
- keyball44では暴発が多くてOFFにしていたが、cocot38miniだと意図せずトラックボールに触れてしまうことは少なく、あまり困っていない。
- Tap Holdの設定
- Ignore Mod Tap InterruptのみONにしている。
- Mod Tap Keyと通常キーを高速で押下した場合に両方をTapとして扱う設定。
- これをONにしておかないと「a」を含む文字列がまともに入力できない。
- Ignore Mod Tap InterruptのみONにしている。