map: 対応環境をQMKのコミットと使うモジュールの一覧で固定する

- 各モジュールは出所とコミットで指定し、QMK同梱のものはQMKのコミットで決まる
- VIAもモジュールの1つとして扱い、QMKリポジトリ外へ移っても同じ形で指定できるようにする
- MAP-P-6の未決事項からモジュールの指定方法を外す

Journal: journal/2026-09-24-via-module-migration.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011zrYqwC8nXQX5Kg9Fur6Td
This commit is contained in:
2026-09-24 08:21:59 +09:00
co-authored by Claude Opus 5.5
parent 1414a7d725
commit dccc5f095f
3 changed files with 20 additions and 2 deletions
+3 -1
View File
@@ -88,7 +88,9 @@ QMK本家のVIAには、VIAの管理外にある実機の保存設定(Magic設
- VIAへの対応は、Remapというアプリ全体の機能を再現することを意味しない。
- 初期の実装対象はVIAに限る。
対応するQMKは特定のコミットに固定し、更新するタイミングはユーザーが個別に判断する。
対応環境は、QMKのコミットと、使うモジュールの一覧(各モジュールの出所とコミット)で固定し、
更新するタイミングはユーザーが個別に判断する。QMKに同梱されたモジュールは、QMKのコミットで決まる。
VIAもモジュールの1つとして扱い、QMKリポジトリの外へ移った場合にも同じ形で指定できるようにするため。
MAPエディタのUIには、対応しているVIAプロトコルとキーコード体系のバージョンを明示する。
接続した実機とはこの2つのバージョンで照合し、一致しない実機には対応しない。
実機から取得できるバージョン情報がこの2つに限られるため。
+1 -1
View File
@@ -125,7 +125,7 @@
- 関連仕様: [MAPレイヤー](../MAPレイヤー.md)「DynamicとStatic」
- 未決事項: 当面非対応としたdevelopブランチの機能とCommunity Modules(VIAモジュール以外)を、DynamicとStaticの対象に含めるか。
含める場合、対応するコミットやモジュールの指定方法と、UIでの対応バージョンの示し方。
含める場合、developブランチのコミットの指定方法と、UIでの対応バージョンの示し方。
- 保留できる理由: QMK本家masterの公式機能だけで、Dynamicの読み書きとStaticの生成を実装できる。
- 再開条件: masterの機能だけでは足りない動作や設定が必要になったとき。
または、VIAのモジュール移行([qmk_firmware#26315](https://github.com/qmk/qmk_firmware/pull/26315))がdevelopに入ったとき。
@@ -28,3 +28,19 @@
- 同梱モジュールの有効化は keymap.json の `"modules": ["qmk/via"]` の形(data/schemas/keymap.jsonschema の modules、
builddefs/build_keyboard.mk の generate-community-modules-*)。対応コストは小さい見込み。
- 保守がVIAチームへ移るため、将来QMKリポジトリ外へ出る可能性はあるが未確認。
## 追記: 対応環境の指定方法
結論: 対応環境 = QMKのコミット + 使うモジュールの一覧(出所とコミット)。VIAは一覧の1項目。
QMK同梱モジュールはQMKのコミットで決まる。実機との照合は従来どおりVIAプロトコル・キーコード体系のバージョン。
| 案 | 扱い |
| --- | --- |
| QMKのコミット + モジュール一覧 | 採用。VIAが外部へ出てもMAP-P-6の他モジュールでも同じ形 |
| QMKのコミット + VIAのバージョンだけ追加 | VIAの特別扱いになるため採用しない |
| QMKのコミットだけ(現状) | VIAがリポジトリ外へ出ると実装が決まらない |
- きっかけ: ユーザーが「QMKに加えてVIAのバージョンも明記したほうがよいか」と相談。
- #26315の案ではVIAは modules/qmk/via(QMK同梱)で、qmk_module.json にバージョン欄がない。
この案のままならQMKのコミットだけで決まるが、保守移管後に外へ出る可能性に備える。
- モジュールのバージョンは実機から取得できないため、照合には使わない。