provisional: IDX Editorのバリアント選択と、欠番を作らないことを決める
- 欠番は作らない(現行仕様のまま)。構成をまたいで番号をそろえる場面を挙げられないため - 複数行にまたがるキーは上端の行の位置に置く - 左ペインをVariantGroupのツリーにし、キャンバスには選択した構成だけを表示して並べ替える - 隠れたキーは同じVariantGroupで選択中のキーにくっつけ、決まらなければ手前のキーにくっつける Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TYqQUp9AZ5TqvtELdpcwC6
This commit is contained in:
@@ -45,18 +45,27 @@
|
|||||||
プリセットは走査でキーの列を作って渡す。なぞる操作や「順にクリックして番号を振る」は、後から同じ操作に乗せる。
|
プリセットは走査でキーの列を作って渡す。なぞる操作や「順にクリックして番号を振る」は、後から同じ操作に乗せる。
|
||||||
- 排他キー: `order` では既に別々の要素であり(`IDXレイヤー.md`「レイアウトバリアント」)、選択後に同時には残らない。
|
- 排他キー: `order` では既に別々の要素であり(`IDXレイヤー.md`「レイアウトバリアント」)、選択後に同時には残らない。
|
||||||
そのため排他キー同士の前後はどの出力番号にも影響せず、決め方は任意でよい(保存データの差分が安定すれば足りる)。
|
そのため排他キー同士の前後はどの出力番号にも影響せず、決め方は任意でよい(保存データの差分が安定すれば足りる)。
|
||||||
出力番号に効くのは、複数行にまたがるキー(縦2U、ISO Enter)を共通キーに対してどの行に置くか。下の「欠番」の項目と同じ問題として扱う。
|
出力番号に効くのは、複数行にまたがるキー(縦2U、ISO Enter)を共通キーに対してどの行に置くか。上端の行に置く(「欠番」の項目)。
|
||||||
|
|
||||||
## 要検討
|
### 欠番
|
||||||
|
|
||||||
- バリアント選択のドロップダウンの位置。左上に置く案。
|
- 欠番(番号の飛び)は作らない。現行仕様(`IDXレイヤー.md`「保存形式」)のままとする。
|
||||||
- 欠番(番号の飛び)を作れないこと。現行仕様では、出力番号は `order` 内の位置で表し、飛ばない(`IDXレイヤー.md`「保存形式」)。
|
構成をまたいで番号がそろっていてほしい利用場面を、今は挙げられないため。
|
||||||
- 場面: 4x4の右下(11, 15)をoption A、縦2UキーをBにする。2Uを `order` の末尾に置くと、Bでは12〜14が1つずつ前へずれる。
|
- 場面: 4x4の右下(11, 15)をoption A、縦2UキーをBにする。2Uを `order` の末尾に置くと、Bでは12〜14が1つずつ前へずれる。
|
||||||
「2Uを末尾にする」と「バリアント外のキーの番号をずらさない」を両立するには、11を欠番にするしかない。
|
2Uを11の位置に置けば12〜14はずれない(QMKのテンキーの+キーも上端の位置に置く慣習)。
|
||||||
- 番号を詰める方式は2026-09-22に決めた(`journal/2026-09-22-idx-variant-output.md`)。番号の互換性はバリアントを選んだ構成ごとに扱い、
|
- 構成をまたいで番号をそろえたい場面が出てきたら考え直す。
|
||||||
別の構成で同じ番号が同じキーを指すことは保証しない。ただし、そのときの例は1対1の排他キー(ANSI/ISO)だけだった。
|
|
||||||
- 今の仕様のままなら、2Uを11の位置に置けば12〜14はずれない(QMKのテンキーの+キーも上端の位置に置く慣習)。
|
### バリアント選択
|
||||||
- 構成をまたいで番号が揃っていてほしい利用場面(手書きのkeymap.cを共有する、など)があるかを確認してから扱いを決める。
|
|
||||||
|
- 左ペインを、VariantGroupとバリアントのツリーにする。入れ子のグループは親バリアントの下に置く。
|
||||||
|
PHY Editorの左ペインのツリーと見た目をそろえる。クラスターは出さない。
|
||||||
|
- キャンバスには選択した構成のキーだけを表示し、その上で並べ替える。
|
||||||
|
全バリアントを表示すると、排他キー(ANSI/ISOのEnterなど)が同じ場所に重なって操作できないため。
|
||||||
|
- 隠れたキー(選ばれていないバリアントのキー)は、同じVariantGroupで選択中のバリアントのキーにくっつける。
|
||||||
|
- 例: `order` が `[a, h, b]` で、hがISO Enter、aがANSI Enterとする。
|
||||||
|
aとbの間へxをドロップすると `[a, h, x, b]` になり、hが見える構成でも「xはEnterの後」という意図が保たれる。
|
||||||
|
- 両隣とも同じVariantGroupでなければ、手前のキーにくっつける。
|
||||||
|
- 表示中のキーを別の場所へ動かしても、隠れたキーはその場に残る。
|
||||||
|
|
||||||
## モックの実装上の問題
|
## モックの実装上の問題
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user