Cornix LP のキーマップを管理するリポジトリ。
キーマップは Vial の .vil ファイルとして keymaps/ 以下に置き、CLI ツール vitaly でキーボードへの適用・保存を行う。ファームウェアは標準(RMK / Vial 対応)のまま使う。
keymaps/main.vil— 作業用キーマップ(これを編集して育てていく。apply/save のデフォルト)keymaps/factory.vil— 初期キーマップのバックアップ(変更しない)
方針: 初期キーマップを極力維持しつつ、プログラミングがしやすいキーマップを目指す。
·— 未割り当て(KC_NO)1 !のような 2 文字表記 — 「通常時 / Shift 押下時」(US 配列)- Layer 1 / Layer 2 — 左親指の
MO(1)/ 右親指のMO(2)を押している間だけ有効 BT0〜BT2— Bluetooth 接続先の切り替え(QK_KB_0〜QK_KB_2)Tab^— Mod-Tap キー(MT(MOD_LCTL,KC_TAB))。タップで Tab、ホールドで Ctrl として働く
┌──────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬──────┐
│ Esc │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ Bksp │
├──────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼──────┤
│ Tab^ │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ \ | │ Enter│
├──────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼──────┤
│ LSft │ Z │ X │ C │ V │ B │ │ N │ M │ , < │ . > │ ↑ │ / ? │
├──────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼──────┤
│ · │ · │ Alt │MO(1)│LCmd │ Spc │ │RSft │RCmd │MO(2)│ ← │ ↓ │ → │
└──────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴──────┘
┌──────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬──────┐
│ · │ 1 ! │ 2 @ │ 3 # │ 4 $ │ 5 % │ │ 6 ^ │ 7 & │ 8 * │ 9 ( │ 0 ) │ Del │
├──────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼──────┤
│ · │ · │ · │ ` ~ │ ; : │ - _ │ │ = + │ ' " │ [ { │ ] } │ · │ · │
├──────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼──────┤
│ LSft │ · │ · │ · │ · │ · │ │ · │ · │ · │ · │ · │ · │
├──────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼──────┤
│ · │ · │ · │ · │ · │ · │ │RSft │ · │ · │ · │ · │ · │
└──────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴──────┘
┌──────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬──────┐
│ · │ · │ · │ · │ · │ · │ │ · │ · │ · │ · │ · │ · │
├──────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼──────┤
│ BT0 │ · │ · │ · │ · │ · │ │ · │ · │ · │ · │ · │ · │
├──────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼──────┤
│ BT1 │ · │ · │ · │ · │ · │ │ · │ · │ · │ · │ · │ · │
├──────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼──────┤
│ BT2 │ · │ · │ · │ · │ · │ │ · │ · │ · │ · │ · │ · │
└──────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┴──────┘
| キー | 動作 |
|---|---|
| D + F 同時押し | Opt+Space(LALT(KC_SPACE))— Raycast 起動(Raycast デフォルトのホットキー) |
| J + K 同時押し | Ctrl+Tab(LCTL(KC_TAB))— 次のタブへ。Shift を足すと前のタブへ |
| J + L 同時押し | Cmd+`(LGUI(KC_GRAVE))— 同一アプリ内のウィンドウ切り替え |
| エンコーダ | 回転 | 押し込み |
|---|---|---|
| 左 | 音量 −/+ | ミュート |
| 右 | マウスホイール ↑/↓ | マウス中ボタン |
| 右(レイヤー1) | 画面輝度 −/+ | — |
前提: mise がインストールされていること。
mise trust
mise installvitaly や rust はこのプロジェクト内でのみ PATH に乗る(グローバル環境は汚さない)。
キーボードを 有線(USB) で接続して実行する。
# 接続確認
mise run devices
# キーマップを適用(省略時は keymaps/main.vil)
mise run apply
mise run apply keymaps/foo.vil
# キーボードの現在のキーマップをファイルに保存(省略時は keymaps/main.vil)
mise run save
mise run save keymaps/foo.vil- 無線モードでは "Unknown Device (0000:0000)" として見えるため、適用時は有線接続を推奨
- macOS では HID アクセスのため、ターミナルに「入力監視(Input Monitoring)」の許可が必要な場合がある
- vial.rocks で編集して export した
.vilをコミットする運用も可能 - apply タスクは
vitaly load(一括書き込み)ではなく差分適用(scripts/apply.sh)。RMK ファームウェアは一括書き込みで HID I/O Timeout が頻発し、QMK settings 書き込みに成功コードを返さないため。現在のキーボード状態を読み出して差分だけを書き込み、適用後に再読み出しして検証する - キーコードは
vitaly saveが出力する正規名で書く(例:KC_ESCではなくKC_ESCAPE)。エイリアスでも適用はされるが、検証で表記差分として警告される - マクロは差分適用に未対応。vial.rocks か
vitaly macrosで直接編集する
