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:
+24
-4
@@ -13,10 +13,30 @@ PHYの正本は相対座標の木だが、既存エディタ(KLE, kle-ng)の移
|
|||||||
|
|
||||||
### テストケース
|
### テストケース
|
||||||
|
|
||||||
1. **60% ANSI** - 標準的なレイアウト
|
入力はKLE JSONとし、取り込みを通してPHYへ変換する。
|
||||||
2. **Split keyboard** - 左右分離型
|
|
||||||
3. **Ergonomic layout** - カラムスタッガード + 回転
|
| ケース | サンプル | 主に確かめること |
|
||||||
4. **Macro pad** - シンプルな4x4
|
|---|---|---|
|
||||||
|
| 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の接続先とバリアントの検証に使う。
|
||||||
|
|
||||||
### データ例
|
### データ例
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
]
|
||||||
|
]
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
[
|
||||||
|
["7", "8", "9", "/"],
|
||||||
|
["4", "5", "6", "*"],
|
||||||
|
["1", "2", "3", "-"],
|
||||||
|
["0", ".", "Enter", "+"]
|
||||||
|
]
|
||||||
Reference in New Issue
Block a user