map: VIAで読み書きする項目と、機能はビルド設定を正とする確認方法を定める

- バージョン、レイヤー数、キーコード割り当て、マクロに対応。エンコーダはMAP-P-4、layout optionはP-3
- リセット系、デバイスの識別表示、キーテスター、custom channelは当面非対応
- 有効な機能は新規キーボードではGeneratorのビルド設定、既存キーボードでは利用者の申告を正とし、容量は実機から読んで照合する
- P-2を実機で未検証という推測に置き換える

Journal: journal/2026-09-24-via-read-write-scope.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:32:03 +09:00
co-authored by Claude Opus 5.5
parent 333c651491
commit a37fdd4abd
3 changed files with 56 additions and 6 deletions
+22 -5
View File
@@ -98,7 +98,25 @@ MAPエディタのUIには、対応しているVIAプロトコルとキーコー
最初に対応する環境は、QMK 0.34.4(commit `08c662f`)とする。このときキーコード体系は0.0.9、VIAプロトコルは0x000D。
VIAは同梱の従来実装(`quantum/via.c`)で、追加のモジュールは使わない。
レイヤー別の割り当て以外に読み書きする項目は、[P-2](#p-2-viaの初期対応範囲)で扱う。
## VIAで読み書きする項目
VIAプロトコル0x000Dのコマンドのうち、MAPエディタが扱うものを次のように分ける[推測:P-2]。
- 対応する:
- VIAプロトコルとキーコード体系のバージョンの読み出し(実機との照合に使う)
- レイヤー数の読み出し
- レイヤー別のキーコード割り当ての読み書き
- マクロの読み書き(個数・容量の読み出しとリセットを含む)
- 別の課題で扱う:
- エンコーダの割り当て([MAP-P-4](backlog/README.md#map-p-4-onoff以外の入力への割り当て))
- layout option([P-3](#p-3-プロジェクトと実機の対応状態管理))
- 当面対応しない: キーマップ・EEPROMのリセット、ブートローダへの移行、デバイスの識別表示、
マトリクス状態の読み出し(キーテスター)、custom channel(照明・オーディオ・キーボード独自メニュー)
実機のファームウェアでどの機能が有効かは、VIAでは読み出せない。
新規キーボードではFirmware Generatorのビルド設定を正とする。既存キーボードでは、利用者が同じ形式で申告した内容を信用する。
レイヤー数、マクロの個数と容量は実機から読み出し、書き込む前にMAPの内容が収まるかを確認する。
## 持たないもの
@@ -128,11 +146,10 @@ MAPエディタは、キーコードを当面US配列の文字で表示する。
- キーごとに上書きする設定を、PHYのキー、キーとレイヤーの組、キーコードのどれに付けるか。
- 完了条件: 動作定義とキーごとの設定の保存形式をユーザーが決める。
### P-2 VIAの初期対応範囲
### P-2 VIAのコマンドはQMK 0.34.4のソースどおりに動作する
- 位置づけ: VIA通信と編集UIの実装に必要な対応範囲の判断。
- 未決事項: レイヤー別割り当て以外に読み書きする項目、対象ファームウェアの機能・容量制約の確認方法。
- 完了条件: 読み書きする項目を定め、対応する新規キーボードの構成で必要なコマンドと制約を確認する。
- 位置づけ: 本文「VIAで読み書きする項目」が前提にしている。コマンドの内容はソース(`quantum/via.c`)と公式文書から確認したもので、実機では検証していない。
- 格上げ条件: QMK 0.34.4でビルドした新規キーボードの構成で、対応するコマンドの読み書きと、レイヤー数・マクロの個数と容量の読み出しを実機で確認する。
### P-3 プロジェクトと実機の対応・状態管理