plan: Cr0wn60のVIA定義をcharlieplexingの検証用サンプルに加える

- samples/via/cr0wn60.json を追加し、テストケースにcharlieplexingを加える
- ピンの割り当てとマスクの参照先としてファームウェアのコミット68d9249を記録する
- CLAUDE.mdのドキュメント地図にsamples/を載せる

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017W6AsoJYTiN3bnxvSMS87f
This commit is contained in:
2026-09-24 23:00:26 +09:00
co-authored by Claude Opus 5.5
parent 1a443c562d
commit af6ce99364
3 changed files with 194 additions and 3 deletions
+1
View File
@@ -20,6 +20,7 @@ PHY(物理配置) / ELC(電気配線) / IDX(キー識別) / MAP(キーマップ)
| `keyboard-making-workflow.md` | 既存の自作キーボード制作フローとの対応 |
| `implementation-plan.md` | 実装方針の決定事項・検証用サンプル |
| [`backlog/README.md`](backlog/README.md) | 後回しにできる問い・検証・改善候補 |
| `samples/` | 検証用サンプル(KLE JSON、VIA定義)。出典とテストケースは `implementation-plan.md` |
既存ドキュメントには下記ルールを段階的に適用する。PHY・ELC・IDXの保留課題はbacklogへ分離済み。
全体の再編は別タスクとして行い、指示なく他の内容を移動・分割・書き直ししない。
+10 -3
View File
@@ -21,11 +21,18 @@ PHYの正本は相対座標の木だが、既存エディタ(KLE, kle-ng)の移
| 分割 | crkbd、jisplit89 | 左右の分離、カラムスタッガードと回転した親指キー(crkbd)、キー数の多いJIS配列の分割(jisplit89) |
| 分割 + バリアント | Kyria、Iris Rev.7 | 回転したクラスター内のバリアント(Kyria)、部品(エンコーダ)を含む3択のバリアント(Iris Rev.7) |
| マクロパッド | 4x4 | 最小構成 |
| charlieplexing | Cr0wn60(VIA定義) | 行と列が同じピンを共有する配線を、ELCの接続先で表せるか |
リポジトリに置くサンプルは `samples/kle/` にある。
リポジトリに置くサンプルは `samples/` にある。
- `cr0wn60.json`: [EwdErna/Cr0wn60](https://github.com/EwdErna/Cr0wn60) の `keyboard-layout.json`(919cc9e、MIT)
- `macropad-4x4.json`: このリポジトリで作成
- `kle/cr0wn60.json`: [EwdErna/Cr0wn60](https://github.com/EwdErna/Cr0wn60) の `keyboard-layout.json`(919cc9e、MIT)
- `via/cr0wn60.json`: 同リポジトリの `cr0wn60-via.json`。ラベルにマトリクス位置を持つ
- `kle/macropad-4x4.json`: このリポジトリで作成
Cr0wn60はcharlieplexingで、行と列に同じ9本のピンを割り当て、使わない位置をマスクしている。
ピンの割り当ては、ファームウェア [EwdErna/qmk_firmware](https://github.com/EwdErna/qmk_firmware) の
`dev/ewderna_22` ブランチ(68d9249)の `keyboards/ewderna/cr0wn/cr0wn60/` にある
(`info.json` の `matrix_pins`、`cr0wn60.c` の `matrix_mask`)。
その他はコピーせず、[the-via/keyboards](https://github.com/the-via/keyboards)(GPL-3.0)から、コミット 9e3e9f4 の次のファイルの `layouts.keymap` を取得して使う。
+183
View File
@@ -0,0 +1,183 @@
{
"name": "cr0wn60",
"vendorId": "0xADE1",
"productId": "0x0001",
"lighting": "qmk_rgblight",
"keycodes": [],
"matrix": { "rows": 9, "cols": 9 },
"layouts": {
"keymap": [
[
{
"p": "DCS R1"
},
"1,0",
{
"x": 0.25
},
"2,0",
"3,0",
"4,0",
"5,0",
"6,0",
{
"x": 1
},
"0,1",
"2,1",
"3,1",
"4,1",
"5,1",
"6,1",
{
"x": 0.75
},
"7,1"
],
[
{
"p": "DCS R2",
"a": 0,
"w": 1.5
},
"0,2",
{
"a": 4
},
"1,2",
"3,2",
"4,2",
"5,2",
"6,2",
{
"x": 0.5
},
"0,3",
"1,3",
"2,3",
"4,3",
"5,3",
"6,3",
{
"x": 0.5,
"a": 0,
"w": 1.5
},
"7,3"
],
[
{
"p": "DCS R3",
"w": 1.75
},
"0,4",
{
"a": 4
},
"1,4",
"2,4",
"3,4",
"5,4",
"6,4",
"0,5",
"1,5",
"2,5",
"3,5",
"4,5",
"6,5",
{
"a": 0,
"w": 2.25
},
"7,5"
],
[
{
"p": "DCS R4",
"w": 1.25
},
"0,6",
{
"x": 0.25,
"a": 4
},
"1,6",
"2,6",
"3,6",
"4,6",
"5,6",
{
"x": 0.5
},
"0,7",
"1,7",
"2,7",
"3,7",
"4,7",
"5,7",
{
"x": 0.25,
"a": 0,
"w": 1.75
},
"6,7"
],
[
{
"x": 1.25,
"w": 1.25
},
"0,8",
{
"w": 1.25
},
"1,8",
{
"x": 6.5,
"w": 1.25
},
"6,8",
{
"w": 1.25
},
"7,8"
],
[
{
"r": 180,
"rx": 4.5,
"ry": 4.5,
"y": -0.5,
"x": -0.25,
"a": 4
},
"2,8"
],
[
{
"rx": 6.75,
"y": -0.5,
"x": -2.5,
"p": "DCS SPACE",
"a": 3,
"w": 2.25
},
"4,8",
{
"w": 2.25
},
"3,8"
],
[
{
"rx": 9.5,
"y": -0.5,
"x": -0.75,
"p": "DCS R4",
"a": 4
},
"5,8"
]
]
}
}