Files
Beyond-KLE/provisional/phy-editor-keybindings.md
T
ewdernaandClaude Opus 5.5 3894df8069 provisional: PHY Editorのキー割り当ての叩き台を置く
KLEから移ってくる利用者を想定し、KLEの割り当てを土台にした。
Shift+矢印はサイズ変更(KLEと同じ)。移動の刻みは修飾キーでなくグリッドの状態で持ち、ドラッグと共有する。
回転はPgUp/PgDnでPgUpが正方向。4方向で隣のキーへ移る操作は当面作らず、Tabの順送りで試す。
キーの判定は記号・文字をevent.key、Shift+数字をevent.codeで行う基準を足した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ABrbf2SmjALke8YHxqeLuC
2026-10-04 18:47:26 +09:00

7.5 KiB

PHY Editor のキー操作(検討用)

キー割り当ての叩き台と、モディファイアを振るときの基準。仕様ではない。 phy-editor-feedback.md の要検討を詰めるための材料。

決めた方針

  • KLE の割り当てを土台にする。主な利用者は KLE から移ってくるため。KLE の割り当ては末尾の「参考」。
  • Shift+矢印はサイズ変更(KLE と同じ)。キーのサイズは 0.25U 刻みで足りるので、サイズ変更に刻みの切り替えは要らない。
  • 移動の刻みはグリッドの状態として持ち、矢印キーとドラッグが同じ刻みに従う。修飾キーで刻みを変えない。
  • 画面上で隣にあるキーへ4方向で移る操作は当面作らない。Tab の順送りで足りるか試す。

割り当て案

Mac では Ctrl を Cmd に読み替える。1文字のキー(R・G・V など)は、キャンバスにフォーカスがあり入力欄にいないときだけ効く。

A. 選択を動かす(データは変わらない)

操作 キー メモ
選択を外す Esc 合意済み
親へ上がる / 子へ降りる Alt+↑ / Alt+↓ エクスプローラーの Alt+↑ と揃う。降りる先は、上がる前に選んでいた子
兄弟へ順に移る Tab / Shift+Tab 親のローカル座標で行ごとに並べた順。MAP Editor の入力ループと揃う
同じ親を持つノードをすべて選ぶ Ctrl+A 選択がなければ、フォーカス先(フォーカス中でなければ最上位)の直下をすべて選ぶ。全選択を兼ねる

B. 配置を変える(データが変わる。方向があり、繰り返し押す)

操作 キー メモ
移動 ←↑↓→ グリッドの刻み。方向は直近の親の軸方向(合意済み)
サイズ(w/h) Shift+←↑↓→ 0.25U 刻み。右と下が伸びる向き
回転 PgUp / PgDn ±15°。PgUp が正方向。細かい角度は数値で入れる
スイッチの向き R / Shift+R 90° ずつ。KiCad の R(回転)と揃う
スイッチ位置のオフセット なし 数値入力で足りる

C. 構造を変える(データが変わる。1回で完結する)

操作 キー メモ
クラスターにする / 解除する Ctrl+G / Ctrl+Shift+G 慣例
1つ上の親へ出す なし 階層パネル・メニューから
VariantGroup にする / Variant を足す なし 頻度が低い

D. 作る・消す(データが変わる。1回で完結する)

操作 キー メモ
削除 Delete / Backspace Mac のキーボードに Delete キーがないため両方。参照の確認は省かない(合意済み)
複製 Ctrl+D
コピー・カット・ペースト Ctrl+C / Ctrl+X / Ctrl+V キーだけ確保する。新しい ID と他の層からの参照の扱いは未議論
キーを足す Ins KLE と同じ

E. 表示(データは変わらず、保存もしない)

操作 キー メモ
全体表示 / 選択範囲にズーム Shift+1 / Shift+2 Figma と同じ。code で判定する
ズームイン・アウト + / - Ctrl+± はブラウザのズームなので取らない
フォーカスモードに入る・出る Enter / Esc 合意済み
グリッドの刻みを切り替える G / Shift+G
表示するバリアントを切り替える V 選んでいる VariantGroup の次の Variant へ送る
表示のオン・オフ、階層パネルの開閉 なし 頻度が低い

F. 文書全体・その他

操作 キー メモ
元に戻す / やり直す Ctrl+Z / Ctrl+Shift+Z、Ctrl+Y
保存 Ctrl+S
プロパティの入力欄へ移る F2 KLE と同じ。Enter はフォーカスモードに使う
ショートカットの一覧を出す ?

割り当てていないもの

  • KLE の Ctrl+矢印(回転中心の移動): 回転の中心はクラスターの原点なので、対応する操作がない。

残っている問い

  • グリッドの刻みの候補値(1U・0.25U と、それより細かい値をいくつ用意するか)。モックで試すか、他者のフィードバックで決める。
  • Ins は Mac のキーボードにない。Mac での代わり。
  • Ctrl+D(Chrome のブックマーク)をページ側で横取りできるか。

モディファイアを振るときの基準

  1. データを変えるか: A・E(変えない)と、B・C・D(変える)に分かれる。 表示や選択を動かすつもりで配置を変えてしまわないよう、両者は別のモディファイアにしたい。 割り当て案では、修飾なしと Shift の矢印が配置を変え、Alt と Tab が選択を動かす。
  2. 方向があって繰り返し押すか: A(一部)と B は方向を持つので、矢印キーを取り合う。 どの値を動かすかをモディファイアで切り替えることになる。 1回で完結する C・D・F は、Ctrl+文字キーの慣例に乗せられる。
  3. 刻みの粗さ: B の中だけで使う軸。「どの値か」と「刻み」をどちらもモディファイアで表すと、 組み合わせの数が掛け算で増える。割り当て案では刻みをグリッドの状態に移した。
  4. 効く場所: どこでも効くもの(元に戻す・保存)、キャンバスやパネルにフォーカスがあるときだけ効くもの、 入力欄では文字入力を優先するもの、に分かれる。
  5. キーの判定方法: JIS 配列や独自のキー配置を使う人が多い前提で、記号・文字のキー(? + R など)は event.key で判定し、刻印に従わせる。Shift+数字は記号が配列によって違う(Shift+2 は US で @、JIS で ")ので event.code で判定する。

回転とスイッチの向きは対になったキーや1文字のキーに移したので、矢印キーを取り合うのは移動・サイズ・選択の移動の3つ。

避けたい組み合わせ

Web アプリとして動かす場合、OS やブラウザが先に取る組み合わせがある。

  • Ctrl+Alt+矢印: Windows の一部の Intel グラフィックドライバで画面回転のホットキー
  • Ctrl+矢印: macOS の Mission Control(デスクトップの切り替え)
  • Alt+←/→: ブラウザの戻る/進む
  • Ctrl+F: ブラウザのページ内検索。ELC・IDX のエディタでキー検索に使いたくなる可能性もある
  • Ctrl+± / Ctrl+0: ブラウザのズーム。取れたとしても、ページを拡大したい人の手段を奪う

参考: KLE の割り当て

KLE のヘルプダイアログ(kb.html)より。

キー 操作
←↑↓→ 選択したキーを移動
Shift+←↑↓→ 選択したキーのサイズを変える
Ctrl+←↑↓→ 選択したキーの回転中心を移動
PgUp / PgDn 選択したキーの回転角を変える
Ins / Del キーを足す / 選択したキーを消す
F2 選択したキーのテキストを編集
Ctrl+A / Esc 全選択 / 選択解除
J / K 前 / 次のキーを選ぶ
Ctrl+Z / Ctrl+Shift+Z、Ctrl+Y 元に戻す / やり直す
Ctrl+X、Shift+Del / Ctrl+C、Ctrl+Ins / Ctrl+V、Shift+Ins カット / コピー / ペースト
Ctrl+S 保存(サーバー上)
F1、? / F7 ヘルプ / オプション