Files
Beyond-KLE/journal/2026-09-20-led-index-layer.md
ewdernaandClaude Opus 5 eb96ff02d8 PHY: LEDの識別番号をELCが持つことを明記(P-11解消)
RGB効果が使うのは物理座標で、インデックスは配線で決まるアドレス。
チェーン順序を設計者が恣意的に決めてよいのは確かだが、決めた順序は
そのまま配線の指示になるため、電気的な情報としてELCが持つ。

IDXに別の論理インデックスを置くと二重管理になり、食い違えば別のLEDが
光るため、IDXはLEDの番号を持たない。

検証ではなく決めによる解消。

Journal: journal/2026-09-20-led-index-layer.md

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-20 20:24:56 +09:00

2.2 KiB

LEDの識別番号をどの層が持つか (P-11解消)

結論

ELCが持つ。IDXは持たない。

LEDの番号は「設計者が恣意的に決めてよい」が、決めた瞬間それは配線の指示になる。 そのためチェーン順序やドライバのアドレスと同じものであり、置き場はELC。 IDXに別の論理インデックスを置くと、ELCの番号と二重管理になり、食い違えばファームが別のLEDを光らせる。

なおP-11は検証で解消したのではなく、決めで解消した。ユーザーの判断「一度エイヤで入れてしまいましょう」。

案の比較

案 番号の出どころ 判定
ELCが持つ チェーン順序 / ドライバのアドレス 採用
IDXが持つ 設計者が振る論理番号 ELCの番号と二重管理になる
PHYが持つ 配置順 配線と無関係な順序になりうる

根拠: QMK RGB Matrix の g_led_config

  • matrix_co[row][col] … キーからLEDインデックスを引く
  • point{x,y} … 物理座標。左上 {0,0}、右下 {224,64}
  • flags … LED_FLAG_MODIFIER / LED_FLAG_UNDERGLOW / LED_FLAG_KEYLIGHT など

効果は主に point の座標で計算する。インデックスは座標を引くための識別子であって、 効果の意味を持たない。したがって「効果のためにIDXが番号を振る」必要がない。

インデックスはデータ線の並び順そのものとは限らず、ドライバのアドレス方式に対応する。 WS2812系ならチェーン順序、IS31FL37xx系なら (ドライバ, チャンネル)。 どちらも配線で決まる値なので、ELCが持つという結論は変わらない。

出典: https://docs.qmk.fm/features/rgb_matrix

per-key以外のLED

アンダーグロー・ロゴLEDなど、キーに紐づかないLEDがあるため「キー番号で代用する」ことはできない。 これらはPHYの部品ノードとして位置を持つので、point はPHYから、flags の区分は per-key LEDか独立した部品ノードかという種別から導ける。ここでもIDXの出番はない。