diff --git a/MAPレイヤー.md b/MAPレイヤー.md index c1eb174..61d9163 100644 --- a/MAPレイヤー.md +++ b/MAPレイヤー.md @@ -61,7 +61,10 @@ MAPエディタはDynamicの読み書きを提供する。Dynamicで変更でき - 次のものには当面対応しない。 - Vial等のフォーク - 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のキーボード独自メニューを含む)には、原則として対応しない。 Staticで定義する動作(タップダンス等)をキーへ割り当てるときは、定義を名前で参照し、出力時に番号へ変換する。 diff --git a/backlog/README.md b/backlog/README.md index 8d7b997..caf41fe 100644 --- a/backlog/README.md +++ b/backlog/README.md @@ -124,10 +124,12 @@ ### MAP-P-6 QMKのdevelopブランチ・Community Modulesへの対応 - 関連仕様: [MAPレイヤー](../MAPレイヤー.md)「DynamicとStatic」 -- 未決事項: 当面非対応としたdevelopブランチの機能とCommunity Modulesを、DynamicとStaticの対象に含めるか。 +- 未決事項: 当面非対応としたdevelopブランチの機能とCommunity Modules(VIAモジュール以外)を、DynamicとStaticの対象に含めるか。 含める場合、対応するコミットやモジュールの指定方法と、UIでの対応バージョンの示し方。 - 保留できる理由: QMK本家masterの公式機能だけで、Dynamicの読み書きとStaticの生成を実装できる。 - 再開条件: 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 再ビルド時に実機の調整を失わないワークフロー diff --git a/journal/2026-09-24-via-module-migration.md b/journal/2026-09-24-via-module-migration.md new file mode 100644 index 0000000..a7c3483 --- /dev/null +++ b/journal/2026-09-24-via-module-migration.md @@ -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リポジトリ外へ出る可能性はあるが未確認。