elc: 走査方向の決定と追加指定をFirmware Generatorに置く

ELCは配線を保存し、どちら側のピン群を駆動してどちら側から読み取るかは
出力器が選ぶ。追加指定が必要な場合は出力設定で受け取る。
複数の適切な方法から出力器が選べるなら一意性は要らないので、配線だけから
全方式の走査手順が一意に決まることをELCの成立条件にしない。

これは責任分担の決定であり、各方式の実配線を検証した結果ではない。
P-3は方式ごとの走査設定の確認として残す。

Journal: journal/2026-09-22-elc-scan-settings.md

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DKW58HEg8zAQoLrkWByPfD
This commit is contained in:
2026-09-22 19:52:14 +09:00
co-authored by Claude Opus 5
parent 76c349fa0c
commit 66a594a378
2 changed files with 41 additions and 5 deletions
+12 -5
View File
@@ -46,6 +46,12 @@ ELCが扱う「ピン」は物理的なマイコンピンに限らない。**ピ
row / col はELCの正本に含めない。charlieplexing で便宜的に行と列の形で書くことはあるが、
それは表記の都合であって配線の事実ではない。QMKなどが要求する row / col は、出力時に割り当てる派生情報とする。
走査方向の決定と追加指定はFirmware Generatorが受け持ち、ELCには保存しない。
接点マトリクスでは、どちら側のピン群を駆動し、どちら側から読み取るかを指す。
配線・ダイオードの向きと整合する方向を出力器が選び、追加指定が必要な場合は出力設定で受け取る。
配線だけから全方式の走査手順が一意に決まることは前提にしない。
方式ごとの必要な設定は、その方式の出力に対応する際に確認し、未対応の構成は出力しない。
### ダイオード
接点キーはダイオードの向きを持つ。向きは端子名で表す(`a-to-b` はアノードがa側)。省略時はダイオードなし。
@@ -155,9 +161,10 @@ type ELC = {
どちらが一般的か確認していない。前者なら同じ `PinRef` が複数の提供者の `select` に現れる
- 格上げ条件: 複数muxを使った実在のキーボードの配線を確認し、共有の形を確かめる
### P-3 駆動側と検出側の役割をELCが明示的に持つ必要があるか
### P-3 方式ごとの走査設定の確認
- 位置づけ: 本文「配線トポロジを区分として持たない」の残り
- 現状の認識: 接点マトリクスではダイオードの向きから、directでは電源レールの参照から、
どちらを駆動しどちらを検出するかが決まりそうに見えるが、全方式で導出できるか確かめていない
- 格上げ条件: 各方式について、端子の接続先とダイオードの向きだけから走査手順が一意に決まるかを確認する
- 位置づけ: 本文「配線トポロジを区分として持たない」の残り。走査方向の決定は出力器が持つと決めた
- 現状の認識: 接点マトリクスではダイオードの向きから、directでは電源レールの参照から役割を判断できそうだが、
方式ごとに出力器が決められる範囲と、ユーザーの追加指定が必要になる範囲は確認していない
- 格上げ条件: 対象方式の配線と整合する走査方法を確認し、必要な出力設定と対応範囲を定める。
全方式で走査手順が一意に決まることの証明は求めない