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 と他の層からの参照の扱いは decisions.md の T-11 |
| キーを足す |
Ins |
KLE と同じ |
E. 表示(データは変わらず、保存もしない)
| 操作 |
キー |
メモ |
| 全体表示 / 選択範囲にズーム |
Shift+1 / Shift+2 |
Figma と同じ。code で判定する |
| ズームイン・アウト |
+ / - |
Ctrl+± はブラウザのズームなので取らない |
| フォーカスモードに入る・出る |
Enter / Esc |
合意済み |
| グリッドの刻みを切り替える |
G / Shift+G |
候補と初期値は decisions.md の T-28 |
| 表示するバリアントを切り替える |
V / Shift+V |
選んでいる VariantGroup の次・前の Variant へ送る |
| 表示のオン・オフ、階層パネルの開閉 |
なし |
頻度が低い |
F. 文書全体・その他
| 操作 |
キー |
メモ |
| 元に戻す / やり直す |
Ctrl+Z / Ctrl+Shift+Z、Ctrl+Y |
|
| 保存 |
Ctrl+S |
|
| プロパティの入力欄へ移る |
F2 |
KLE と同じ。Enter はフォーカスモードに使う |
| ショートカットの一覧を出す |
? |
|
割り当てていないもの
- KLE の Ctrl+矢印(回転中心の移動): 回転の中心はクラスターの原点なので、対応する操作がない。
残っている問い
- Ins は Mac のキーボードにない。Mac での代わり。
- Ctrl+D(Chrome のブックマーク)をページ側で横取りできるか。
モディファイアを振るときの基準
- データを変えるか: A・E(変えない)と、B・C・D(変える)に分かれる。
表示や選択を動かすつもりで配置を変えてしまわないよう、両者は別のモディファイアにしたい。
割り当て案では、修飾なしと Shift の矢印が配置を変え、Alt と Tab が選択を動かす。
- 方向があって繰り返し押すか: A(一部)と B は方向を持つので、矢印キーを取り合う。
どの値を動かすかをモディファイアで切り替えることになる。
1回で完結する C・D・F は、Ctrl+文字キーの慣例に乗せられる。
- 刻みの粗さ: B の中だけで使う軸。「どの値か」と「刻み」をどちらもモディファイアで表すと、
組み合わせの数が掛け算で増える。割り当て案では刻みをグリッドの状態に移した。
- 効く場所: どこでも効くもの(元に戻す・保存)、キャンバスやパネルにフォーカスがあるときだけ効くもの、
入力欄では文字入力を優先するもの、に分かれる。
- キーの判定方法: 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 |
ヘルプ / オプション |