plan: 検証用サンプルを実在のキーボードのKLE JSONで定める

- 60%はCr0wn60、分割はcrkbdとjisplit89、分割+バリアントはKyriaとIris Rev.7、マクロパッドは自作の4x4
- Cr0wn60(MIT、作者本人)と4x4は samples/kle/ に置く
- the-via/keyboardsのもの(GPL-3.0)はコピーせず、コミット9e3e9f4とパスだけを記録する
- 旧リストのErgonomic layoutはcrkbdとKyriaで扱う

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 22:56:12 +09:00
co-authored by Claude Opus 5.5
parent 73e913e776
commit 1a443c562d
3 changed files with 203 additions and 4 deletions
+24 -4
View File
@@ -13,10 +13,30 @@ PHYの正本は相対座標の木だが、既存エディタ(KLE, kle-ng)の移
### テストケース
1. **60% ANSI** - 標準的なレイアウト
2. **Split keyboard** - 左右分離型
3. **Ergonomic layout** - カラムスタッガード + 回転
4. **Macro pad** - シンプルな4x4
入力はKLE JSONとし、取り込みを通してPHYへ変換する。
| ケース | サンプル | 主に確かめること |
|---|---|---|
| 60% | Cr0wn60 | 行スタッガード、幅の違うキー、左右対称配列の中央の隙間 |
| 分割 | crkbd、jisplit89 | 左右の分離、カラムスタッガードと回転した親指キー(crkbd)、キー数の多いJIS配列の分割(jisplit89) |
| 分割 + バリアント | Kyria、Iris Rev.7 | 回転したクラスター内のバリアント(Kyria)、部品(エンコーダ)を含む3択のバリアント(Iris Rev.7) |
| マクロパッド | 4x4 | 最小構成 |
リポジトリに置くサンプルは `samples/kle/` にある。
- `cr0wn60.json`: [EwdErna/Cr0wn60](https://github.com/EwdErna/Cr0wn60) の `keyboard-layout.json`(919cc9e、MIT)
- `macropad-4x4.json`: このリポジトリで作成
その他はコピーせず、[the-via/keyboards](https://github.com/the-via/keyboards)(GPL-3.0)から、コミット 9e3e9f4 の次のファイルの `layouts.keymap` を取得して使う。
- crkbd: `src/crkbd/crkbd.json`
- jisplit89: `src/jisplit89/jisplit89.json`
- Kyria: `src/splitkb/kyria.json`
- Iris Rev.7: `src/keebio/iris/iris-rev7.json`
VIAの定義に含まれるKLE JSONは、ラベルにキー名ではなくマトリクス位置(`行,列`)を持つ。
バリアントは、ラベルの別の欄に `選択肢の番号,候補の番号` の形で示す。
キー名のラベルによる照合の検証には使えない。ELCの接続先とバリアントの検証に使う。
### データ例
+173
View File
@@ -0,0 +1,173 @@
[
[
{
"p": "DCS R1"
},
"Esc",
{
"x": 0.25
},
"!\n1",
"@\n2",
"#\n3",
"$\n4",
"%\n5",
{
"x": 1
},
"^\n6",
"&\n7",
"*\n8",
"(\n9",
")\n0",
"_\n-",
{
"x": 0.75
},
"+\n="
],
[
{
"p": "DCS R2",
"a": 0,
"w": 1.5
},
"Tab\n\n\n\n\n1.5",
{
"a": 4
},
"Q",
"W",
"E",
"R",
"T",
{
"x": 0.5
},
"Y",
"U",
"I",
"O",
"P",
"{\n[",
{
"x": 0.5,
"a": 0,
"w": 1.5
},
"Backspace\n\n\n\n\n1.5"
],
[
{
"p": "DCS R3",
"w": 1.75
},
"Ctrl\n\n\n\n\n1.75",
{
"a": 4
},
"A",
"S",
"D",
"F",
"G",
"H",
"J",
"K",
"L",
":\n;",
"\"\n'",
{
"a": 0,
"w": 2.25
},
"Enter\n\n\n\n\n2.25"
],
[
{
"p": "DCS R4",
"w": 1.25
},
"Shift\n\n\n\n\n1.25",
{
"x": 0.25,
"a": 4
},
"Z",
"X",
"C",
"V",
"B",
{
"x": 0.5
},
"N",
"M",
"<\n,",
">\n.",
"?\n/",
"|\n\\",
{
"x": 0.25,
"a": 0,
"w": 1.75
},
"Shift\n\n\n\n\n1.75"
],
[
{
"x": 1.25,
"w": 1.25
},
"Win\n\n\n\n\n1.25",
{
"w": 1.25
},
"Alt\n\n\n\n\n1.25",
{
"x": 6.5,
"w": 1.25
},
"Alt\n\n\n\n\n1.25",
{
"w": 1.25
},
"Ctrl\n\n\n\n\n1.25"
],
[
{
"r": 180,
"rx": 4.5,
"ry": 4.5,
"y": -0.5,
"x": -0.25,
"a": 4
},
"\n\n\nFn"
],
[
{
"rx": 6.75,
"y": -0.5,
"x": -2.5,
"p": "DCS SPACE",
"a": 3,
"w": 2.25
},
"\n\n\n\n\n2.25",
{
"w": 2.25
},
"\n\n\n\n\n2.25"
],
[
{
"rx": 9.5,
"y": -0.5,
"x": -0.75,
"p": "DCS R4",
"a": 4
},
"\n\n\nCode"
]
]
+6
View File
@@ -0,0 +1,6 @@
[
["7", "8", "9", "/"],
["4", "5", "6", "*"],
["1", "2", "3", "-"],
["0", ".", "Enter", "+"]
]