Files
Beyond-KLE/journal/2026-09-24-via-read-write-scope.md
T
ewdernaandClaude Opus 5.5 a37fdd4abd 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
2026-09-24 08:32:03 +09:00

2.5 KiB
Raw Blame History

VIAで読み書きする項目と機能・容量の確認方法

結論

  • 対応: バージョン読み出し、レイヤー数、キーコード割り当て(まとめ読み書き含む)、マクロ
  • 別課題: エンコーダ(MAP-P-4)、layout option(P-3)
  • 当面非対応: リセット系・ブートローダ移行、デバイスの識別表示、キーテスター、custom channel
  • 有効な機能: 新規キーボードはGeneratorのビルド設定を正とする。既存キーボードは利用者の申告を信用する(ユーザー案)。 申告はGeneratorの設定と同じ形式にし、新規と既存を1つのモデルで扱う。
  • 容量(レイヤー数・マクロ個数・容量)は実機から読んで照合する。
  • P-2は判断が済んだので、実機で未検証という推測(P-2)に置き換えた。

案の比較(VIA 0x000D, QMK 0.34.4 quantum/via.c)

項目 コマンド 扱い 理由
プロトコル・キーコード体系バージョン 0x01, 0x02 id 0x06 対応 実機照合に必須
レイヤー数 0x11 対応 容量確認
キーコード 0x04/0x05, 0x12/0x13 対応 MAPの本体
マクロ 0x0C–0x10 対応 P-1で内容をMAPが持つとした
エンコーダ 0x14/0x15 別課題 MAP-P-4
layout options 0x02/0x03 id 0x02 別課題 P-3の排他キーの読み戻しと一体
リセット・ブートローダ 0x06, 0x0A, 0x0B 当面非対応 操作でありMAPのデータではない。0x0Aは VIA_EEPROM_ALLOW_RESET 時のみ
デバイスの識別表示 0x03 id 0x05 当面非対応 任意の補助機能
キーテスター 0x02 id 0x03 非対応 既定で全0(#25414)。ユーザーも不要と判断
custom channel 0x07–0x09 非対応 照明・オーディオはMAP所有外、channel 0は固有コード

機能・容量の確認

  • VIAから読めるのは容量(レイヤー数、マクロ個数、マクロバッファサイズ)とバージョンだけ。 どの機能を有効にしてビルドしたか(タップダンス、コンボ等)は読めない。キーボード固有のVIA定義JSONにも含まれない。
  • 無効な機能のキーコードを書いてもエラーにならず、実機で何もしないだけ。申告の誤りは壊れる方向には働かない。
  • 既存キーボードは初期対応の前提ではない(MAPレイヤー.md「概要」)が、申告方式ならモデルを増やさずに扱える。