From af6ce99364a02330cc5930b7cb60d963f26f9564 Mon Sep 17 00:00:00 2001 From: EwdErna Date: Thu, 24 Sep 2026 23:00:26 +0900 Subject: [PATCH] =?UTF-8?q?plan:=20Cr0wn60=E3=81=AEVIA=E5=AE=9A=E7=BE=A9?= =?UTF-8?q?=E3=82=92charlieplexing=E3=81=AE=E6=A4=9C=E8=A8=BC=E7=94=A8?= =?UTF-8?q?=E3=82=B5=E3=83=B3=E3=83=97=E3=83=AB=E3=81=AB=E5=8A=A0=E3=81=88?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - samples/via/cr0wn60.json を追加し、テストケースにcharlieplexingを加える - ピンの割り当てとマスクの参照先としてファームウェアのコミット68d9249を記録する - CLAUDE.mdのドキュメント地図にsamples/を載せる Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017W6AsoJYTiN3bnxvSMS87f --- CLAUDE.md | 1 + implementation-plan.md | 13 ++- samples/via/cr0wn60.json | 183 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 194 insertions(+), 3 deletions(-) create mode 100644 samples/via/cr0wn60.json diff --git a/CLAUDE.md b/CLAUDE.md index 7f83092..8a2a3b2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -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へ分離済み。 全体の再編は別タスクとして行い、指示なく他の内容を移動・分割・書き直ししない。 diff --git a/implementation-plan.md b/implementation-plan.md index 24b5ecd..2425ef8 100644 --- a/implementation-plan.md +++ b/implementation-plan.md @@ -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` を取得して使う。 diff --git a/samples/via/cr0wn60.json b/samples/via/cr0wn60.json new file mode 100644 index 0000000..edca382 --- /dev/null +++ b/samples/via/cr0wn60.json @@ -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" + ] + ] + } +}