- ① 多彩な自作キーボードを使う上でのキーマップの問題
- ② 分割型40%キーボード(など)のキーマップを列挙してみる
- ③ 自作キーボードの Raise / Lower / Adjust レイヤーの起源と推奨される使い方があるかの調査
- ④ 分割型40%キーボード(など)のキーマップを比較してみる (レイヤー0編)
- ⑤ 分割型40%キーボード(など)のキーマップを比較してみる (レイヤー1,2編)
- ⑥ 分割型40%キーボード(など)のキーマップを比較してみる (レイヤー3編)
- ⑦ 13個のキーマップから分割型40%キーボードの最大公約数的キーマップを設計する
- ⑧ 分割型40%キーボード用のsensibleキーマップを設計する
- ⑨ Sensibleキーマップを横展開する - kbigwheelのプログラミング・ソフトウェア技術系ブログ
今回は 前回作成した最大公約数的キーマップ に ① 多彩な自作キーボードを使う上でのキーマップの問題 で上げた要件を組み込んで万人が受け入れられるsensibleキーマップを設計していきます。
目次
できたもの
レイヤー | 最大公約数的キーマップ | sensibleキーマップ |
---|---|---|
BASE | BASE PC BASE Mac |
|
LOWER | ||
RAISE | ||
ADJUST |
qmk configurator用JSON定義ファイル: crkbd_rev1_common_layout_split_3x6_3_sensible.json · GitHub
変更点
1. 日本語入力系キーの追加
① 多彩な自作キーボードを使う上でのキーマップの問題で述べた通り、MO
に変えて LT
を使うことで 無変換
変換
英数
かな
キーを配置しています。この2キーの余裕というのは他の言語用としても調べる限り十分ですので日本語以外のキーボードにも対応できます。
2. BASEレイヤーをBASE PCとBASE Macの2種類用意
Mac用のキーボードはPC(Windows/Linux)用のキーボードとは一部のキーの配置が異なります。
Swap GUI/Alt
キーはそれに対応するためのキーで、これにより配置の違いの一つである Alt
キーと GUI
キーの違いに対応できます。
英字(ANSI)キーボードであればこれだけで対応できるのですが、日本語キーボードの場合この違いに加えて 変換
無変換
と かな
英数
キーの違いがあります。そのためこのSwapキーだけでは対応できません。
これら3キーを切り替えるのに一番簡単な方法は複数のデフォルトレイヤーを用意してDF
で切り替えることです。そのため2種類のデフォルトレイヤー(BASEにあるレイヤー0, レイヤー1)を用意してADJUSTレイヤーの DF(0)
と DF(1)
で切り替えられるようにしました。
3. LOWER / RAISE / ADJUSTレイヤーの親指周辺を透過(KC_TRANS)化
上記の変更により親指周辺の GUI
Alt
のキーのどちらが右か/左かはデフォルトレイヤーによるようになりました。
しかし、以前のキーマップですとBASEレイヤー以外でも左手側に GUI
右手側に Alt
と固定されています。
このままだとデフォルトレイヤーをBASE Macに切り替えたあとで更にレイヤーを切り替えると GUI
と Alt
がまたswapしてしまうので混乱します。そこでBASEレイヤー以外の親指付近は透過(KC_TRANS)にすることでBASEレイヤーの GUI
Alt
配置を尊重するようにしました。
4. 使用頻度は極めて低いが使用する可能性がありそうなキーをADJUSTレイヤーに追加
PrintScreen
Scroll Lock
Pause
半角/全角
カタカナひらがな
Insert
Menu
などのキーです。
これらのキーは通常の利用ですとまったく使用しないか使用頻度が極めて低いキーたちですが、まったく使わないというわけではなく例えば PrintScreen
や Insert
などは一部のショートカットキーなどに割り当てられることもあります。
これらがいざ必要となったとき、別のキーボードを用意したりバーチャルキーボード機能を呼び出すことも手間ですし、幸いqmk firmwareを使用すればレイヤーの数だけキーを割り当てられるので比較的空いていたADJUSTレイヤーの右手へ追加しました。
性質上もっとも使用頻度が低く配置もどうでもよいキー群ですのでニーズによって位置をずらしたり更に別のレイヤーへ割り当てても良いと思います。
(ちなみにNumLockキーは流石に使わないだろうと思って割り当てていませんが、これらと一緒に並べても良いと思います)。
(オプション) ユーザビリティの改善
以上で基本的に完了ですが、追加で以下の改善があります。
- set_single_persistent_default_layer(layer)を使用してUSB給電が切れてもデフォルトレイヤーの変更が保存されるようにする
LT(X)
キーの挙動改善(QMK Firmware で Raise/Lower と変換/無変換を同じキーに割り当てる - Okapies' Archive)
NEXT ACTION
以上により、当初目標としていたsensibleキーマップのCorne Cherry用設計例ができました。 しかし、sensibleキーマップの主目的は様々なキーボードに最小の変更で対応できることです。 1つのキーボードのみではその効果はあまりありません。
そこで、次はCorne Cherry以外のキーボードでSensibleキーマップを設計してみようと思います。