map: VIAがCommunity Modulesへ移ってもVIAモジュールで追従する

- QMKはVIAをモジュールへ移し、旧実装を将来削除すると告知している(0.34.4 ChangeLog)
- QMKとVIAの両方に追従する方針は変えず、Community Modules非対応の例外としてVIAモジュールに対応する
- 移行がmasterに入る前に対応するため、MAP-P-6の再開条件に#26315のdevelop取り込みを加える

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:45 +09:00
co-authored by Claude Opus 5.5
parent 49b023ceaa
commit 1414a7d725
3 changed files with 37 additions and 2 deletions
+4 -1
View File
@@ -61,7 +61,10 @@ MAPエディタはDynamicの読み書きを提供する。Dynamicで変更でき
- 次のものには当面対応しない。 - 次のものには当面対応しない。
- Vial等のフォーク - Vial等のフォーク
- XAP、developブランチ等、master以外にある機能 - XAP、developブランチ等、master以外にある機能
- Community Modules - Community Modules(VIAモジュールを除く)
QMKはVIAをCommunity Modulesの形式へ移し、従来の実装を将来のリリースで削除すると告知している(QMK 0.34.4のChangeLog「VIA Feature Migration」)。
VIAがモジュールへ移っても、QMKとVIAの両方に追従する。そのため、移行がmasterに入る前に、VIAモジュールを有効にした出力と読み書きに対応する。
- キーボード・キーマップ固有のコード(VIAのキーボード独自メニューを含む)には、原則として対応しない。 - キーボード・キーマップ固有のコード(VIAのキーボード独自メニューを含む)には、原則として対応しない。
Staticで定義する動作(タップダンス等)をキーへ割り当てるときは、定義を名前で参照し、出力時に番号へ変換する。 Staticで定義する動作(タップダンス等)をキーへ割り当てるときは、定義を名前で参照し、出力時に番号へ変換する。
+3 -1
View File
@@ -124,10 +124,12 @@
### MAP-P-6 QMKのdevelopブランチ・Community Modulesへの対応 ### MAP-P-6 QMKのdevelopブランチ・Community Modulesへの対応
- 関連仕様: [MAPレイヤー](../MAPレイヤー.md)「DynamicとStatic」 - 関連仕様: [MAPレイヤー](../MAPレイヤー.md)「DynamicとStatic」
- 未決事項: 当面非対応としたdevelopブランチの機能とCommunity Modulesを、DynamicとStaticの対象に含めるか。 - 未決事項: 当面非対応としたdevelopブランチの機能とCommunity Modules(VIAモジュール以外)を、DynamicとStaticの対象に含めるか。
含める場合、対応するコミットやモジュールの指定方法と、UIでの対応バージョンの示し方。 含める場合、対応するコミットやモジュールの指定方法と、UIでの対応バージョンの示し方。
- 保留できる理由: QMK本家masterの公式機能だけで、Dynamicの読み書きとStaticの生成を実装できる。 - 保留できる理由: QMK本家masterの公式機能だけで、Dynamicの読み書きとStaticの生成を実装できる。
- 再開条件: masterの機能だけでは足りない動作や設定が必要になったとき。 - 再開条件: masterの機能だけでは足りない動作や設定が必要になったとき。
または、VIAのモジュール移行([qmk_firmware#26315](https://github.com/qmk/qmk_firmware/pull/26315))がdevelopに入ったとき。
VIAモジュールへの対応はmasterに入る前に済ませる([MAPレイヤー「DynamicとStatic」](../MAPレイヤー.md#dynamicとstatic))。
- 完了条件: 対象に含める範囲と、対応バージョンの管理方法をユーザーが決める。 - 完了条件: 対象に含める範囲と、対応バージョンの管理方法をユーザーが決める。
### MAP-P-7 再ビルド時に実機の調整を失わないワークフロー ### MAP-P-7 再ビルド時に実機の調整を失わないワークフロー
@@ -0,0 +1,30 @@
# VIAのモジュール化への追従
## 結論
- QMKはVIA統合をCommunity Modules形式へ移し、旧実装を将来削除すると告知(20260830 ChangeLog「VIA Feature Migration」#26315)。
- 方針「QMKとVIAの両方に追従する」は変えない(ユーザー判断)。
→ Community Modulesは当面非対応のままだが、VIAモジュールだけは例外として、移行がmasterに入る前に対応する。
最悪、Community Modulesへの対応はVIAだけでもよい(ユーザー発言)。
- キーテスター(switch_matrix_state)が既定で動かない件は気にしない(ユーザー判断)。
## 案の比較
| 案 | 扱い |
| --- | --- |
| VIAモジュールだけCommunity Modules非対応の例外にする | 採用 |
| Community Modules全般に対応を広げる | MAP-P-6のまま保留 |
| 旧VIA実装が残るQMKに固定し続ける | 追従方針に反するので採用しない |
## 根拠(2026-09-24時点)
- docs/ChangeLog/20260830.md(QMK 0.34.4):
"upkeep of the VIA integration will transition to the VIA team" /
"in a future release, the old VIA feature-based implementation is expected to be removed."
- PR https://github.com/qmk/qmk_firmware/pull/26315 : develop向けDraft。追加ファイルは
modules/qmk/via/{qmk_module.json, via.c, via.h, post_config.h, post_rules.mk}。
qmk_module.json にバージョン欄なし。VIA_EEPROM_MAGIC_ADDR 以外は後方互換を維持すると記載。
- 0.34.4時点のVIAは従来どおり quantum/via.c、VIA_PROTOCOL_VERSION 0x000D。
- 同梱モジュールの有効化は keymap.json の `"modules": ["qmk/via"]` の形(data/schemas/keymap.jsonschema の modules、
builddefs/build_keyboard.mk の generate-community-modules-*)。対応コストは小さい見込み。
- 保守がVIAチームへ移るため、将来QMKリポジトリ外へ出る可能性はあるが未確認。