From 3894df80691b314547708e92377e78096ba3594c Mon Sep 17 00:00:00 2001 From: EwdErna Date: Sun, 4 Oct 2026 18:47:26 +0900 Subject: [PATCH] =?UTF-8?q?provisional:=20PHY=20Editor=E3=81=AE=E3=82=AD?= =?UTF-8?q?=E3=83=BC=E5=89=B2=E3=82=8A=E5=BD=93=E3=81=A6=E3=81=AE=E5=8F=A9?= =?UTF-8?q?=E3=81=8D=E5=8F=B0=E3=82=92=E7=BD=AE=E3=81=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit KLEから移ってくる利用者を想定し、KLEの割り当てを土台にした。 Shift+矢印はサイズ変更(KLEと同じ)。移動の刻みは修飾キーでなくグリッドの状態で持ち、ドラッグと共有する。 回転はPgUp/PgDnでPgUpが正方向。4方向で隣のキーへ移る操作は当面作らず、Tabの順送りで試す。 キーの判定は記号・文字をevent.key、Shift+数字をevent.codeで行う基準を足した。 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01ABrbf2SmjALke8YHxqeLuC --- provisional/README.md | 2 +- provisional/phy-editor-feedback.md | 6 +- provisional/phy-editor-keybindings.md | 138 ++++++++++++++++---------- 3 files changed, 90 insertions(+), 56 deletions(-) diff --git a/provisional/README.md b/provisional/README.md index 4d4beab..6dfd9d1 100644 --- a/provisional/README.md +++ b/provisional/README.md @@ -16,7 +16,7 @@ | [decisions.md](decisions.md) | 仮決定の本体。範囲と技術 / 明示的な未決事項 / 暗黙の未決事項 | | [discrepancies.md](discrepancies.md) | 作業中に見つけたドキュメント間の食い違い。メインドキュメントは直していない | | [phy-editor-feedback.md](phy-editor-feedback.md) | PHY Editorモックの所感。画面仕様を作り直すときの入力 | -| [phy-editor-keybindings.md](phy-editor-keybindings.md) | PHY Editorのキー操作の候補一覧と、モディファイアを振る基準 | +| [phy-editor-keybindings.md](phy-editor-keybindings.md) | PHY Editorのキー割り当ての叩き台と、モディファイアを振る基準 | | [idx-editor-feedback.md](idx-editor-feedback.md) | IDX Editorモックの所感。画面仕様を作り直すときの入力 | | [elc-editor-feedback.md](elc-editor-feedback.md) | ELC Editorモックの所感。画面仕様を作り直すときの入力 | | [map-editor-feedback.md](map-editor-feedback.md) | MAP Editorモックの所感とRemapの現状。画面仕様を作り直すときの入力 | diff --git a/provisional/phy-editor-feedback.md b/provisional/phy-editor-feedback.md index 75333c1..9cb8c08 100644 --- a/provisional/phy-editor-feedback.md +++ b/provisional/phy-editor-feedback.md @@ -36,6 +36,7 @@ - 移動・サイズ変更・削除をキーボードで操作できる。削除は参照の確認(T-15)を省かない。確認は操作した場所の近くに出す。 - 矢印キーでの移動方向は、直近の親(クラスター・VariantGroup)の軸方向。ドラッグと同じ。 +- 移動の刻みはグリッドの状態として持ち、矢印キーとドラッグが同じ刻みに従う。修飾キーで刻みを変えない。 - 複数選択に対して回転以外の操作(移動など)もできる。 - 複数キーを共通の中心で回したいなら、それはクラスターをなす。選択ノードを個別に回転する操作はそれとして残す。 @@ -54,8 +55,7 @@ - 長押しの詳細: 選択先が上がる間隔、インジケータの見た目、長押しとドラッグの切り分け(長押しで階層を選んでからドラッグに移れるか)。 - 個別回転とクラスター化してからの回転のどちらを主な操作にするか。 -- ドラッグのスナップの細かさ。0.25U刻みはズーム1倍で16pxずつ飛び、細かい調整がしづらい。キーボード操作で足りるなら不要。 -- 矢印キーの刻み幅(修飾キーで粗く・細かく、など)。 +- グリッドの刻みの候補値。0.25U刻みはズーム1倍で16pxずつ飛び、ドラッグでの細かい調整がしづらい。 - どこまでアイコンのみのボタンにするか。 - ホイールでのカーソル中心ズーム、ホバー時の強調(モックに無い。未議論)。 @@ -63,7 +63,7 @@ 試さなくても決められる、または試す前に決めておく必要があるもの。 -- キー割り当て。候補の一覧とモディファイアを振る基準は [phy-editor-keybindings.md](phy-editor-keybindings.md)。 +- キー割り当て。叩き台と残っている問いは [phy-editor-keybindings.md](phy-editor-keybindings.md)。 - UIでの呼び方。PHY・ELCなどのレイヤー名は設計上の仮称で、画面に出すかどうかは別途決める(「PHYの木」→「階層」など)。 - コピー&ペースト(モックに無い。未議論)。新しいIDの振り方と他の層からの参照の扱いはデータモデルの問いで、 メインドキュメント側に置くべきものかもしれない。 diff --git a/provisional/phy-editor-keybindings.md b/provisional/phy-editor-keybindings.md index 1c1f069..0c9b255 100644 --- a/provisional/phy-editor-keybindings.md +++ b/provisional/phy-editor-keybindings.md @@ -1,88 +1,102 @@ # PHY Editor のキー操作(検討用) -キーで呼べるとよさそうな操作の一覧と、モディファイアを振るときの基準。**仕様ではない。** -[phy-editor-feedback.md](phy-editor-feedback.md) の要検討を詰めるための材料。キー割り当ては未決。 +キー割り当ての叩き台と、モディファイアを振るときの基準。**仕様ではない。** +[phy-editor-feedback.md](phy-editor-feedback.md) の要検討を詰めるための材料。 -## 操作一覧 +## 決めた方針 -「メモ」の割り当ては一般的な慣例か、議論に出た候補。決めたものではない。 +- KLE の割り当てを土台にする。主な利用者は KLE から移ってくるため。KLE の割り当ては末尾の「参考」。 +- Shift+矢印はサイズ変更(KLE と同じ)。キーのサイズは 0.25U 刻みで足りるので、サイズ変更に刻みの切り替えは要らない。 +- 移動の刻みはグリッドの状態として持ち、矢印キーとドラッグが同じ刻みに従う。修飾キーで刻みを変えない。 +- 画面上で隣にあるキーへ4方向で移る操作は当面作らない。Tab の順送りで足りるか試す。 -### A. 選択を動かす(データは変わらない。方向があり、繰り返し押す) +## 割り当て案 -| 操作 | メモ | -| --- | --- | -| 選択を外す | Esc(合意済み) | -| 親へ上がる | 長押しで親へ上がる操作のキーボード版。候補: Alt+Ctrl+↑ のような形(モディファイアは未定) | -| 子へ降りる | 上がる前に選んでいた子を覚えておけば、上下を往復できる | -| 兄弟へ順に移る | Tab / Shift+Tab にすれば、MAP Editor の Tab での入力ループと揃う | -| 画面上で隣にあるキーへ移る | 4方向。マウスを使わずに配置を詰める作業に使う | -| 全選択 | フォーカスモード中はそのクラスター内だけにするなど、範囲を決める必要がある | -| 同じ親を持つキーをすべて選ぶ | クラスターの組み替えは同じ親を持つノードに限るので、組み替えの準備に使える | +Mac では Ctrl を Cmd に読み替える。1文字のキー(R・G・V など)は、キャンバスにフォーカスがあり入力欄にいないときだけ効く。 -### B. 配置を変える(データが変わる。方向があり、量を持ち、繰り返し押す) +### A. 選択を動かす(データは変わらない) -| 操作 | 方向 | メモ | +| 操作 | キー | メモ | | --- | --- | --- | -| 移動 | 4方向 | 刻みは通常・粗い・細かい | -| サイズ(w/h) | 4方向 | 原点が左上なので、右と下が伸びる向き | -| 回転 | 2方向 | ±15°と、それより細かい刻み | -| スイッチの向き | 2方向 | 90°ずつ切り替える | -| スイッチ位置のオフセット | 4方向 | 使う頻度は低い。数値入力で足りるかもしれない | +| 選択を外す | 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 を足す | 頻度が低いので、メニューからで十分かもしれない | +| 操作 | キー | メモ | +| --- | --- | --- | +| クラスターにする / 解除する | Ctrl+G / Ctrl+Shift+G | 慣例 | +| 1つ上の親へ出す | なし | 階層パネル・メニューから | +| VariantGroup にする / Variant を足す | なし | 頻度が低い | ### D. 作る・消す(データが変わる。1回で完結する) -| 操作 | メモ | -| --- | --- | -| 削除 | Delete。他の層から参照されていないかの確認は省かない(合意済み) | -| 複製 | Ctrl+D | -| コピー・カット・ペースト | 要検討に載っている項目。新しい ID の振り方と、他の層からの参照の扱いは複製と同じ問題 | -| キーを足す | 選択中のキーの隣に 1U を置く、など | +| 操作 | キー | メモ | +| --- | --- | --- | +| 削除 | Delete / Backspace | Mac のキーボードに Delete キーがないため両方。参照の確認は省かない(合意済み) | +| 複製 | Ctrl+D | | +| コピー・カット・ペースト | Ctrl+C / Ctrl+X / Ctrl+V | キーだけ確保する。新しい ID と他の層からの参照の扱いは未議論 | +| キーを足す | Ins | KLE と同じ | ### E. 表示(データは変わらず、保存もしない) -| 操作 | メモ | -| --- | --- | -| 全体表示 | 合意済み | -| 選択範囲にズーム | | -| ズームイン・アウト、等倍 | | -| フォーカスモードに入る・出る | Enter で入る、Esc で出る(合意済み) | -| 表示するバリアントを切り替える | 選んでいる VariantGroup の次の Variant へ送る | -| 表示のオン・オフ | ラベル、ゴースト、スイッチの位置と向き、グリッド。頻度は低い | -| 階層パネルを開く・閉じる | | +| 操作 | キー | メモ | +| --- | --- | --- | +| 全体表示 / 選択範囲にズーム | Shift+1 / Shift+2 | Figma と同じ。`code` で判定する | +| ズームイン・アウト | `+` / `-` | Ctrl+± はブラウザのズームなので取らない | +| フォーカスモードに入る・出る | Enter / Esc | 合意済み | +| グリッドの刻みを切り替える | G / Shift+G | | +| 表示するバリアントを切り替える | V | 選んでいる VariantGroup の次の Variant へ送る | +| 表示のオン・オフ、階層パネルの開閉 | なし | 頻度が低い | ### F. 文書全体・その他 -| 操作 | メモ | -| --- | --- | -| 元に戻す / やり直す | Ctrl+Z / Ctrl+Shift+Z | -| 保存・書き出し | | -| プロパティの入力欄へ移る | 数値を入れるとき。F2 や Enter など | -| ショートカットの一覧を出す | `?` など | +| 操作 | キー | メモ | +| --- | --- | --- | +| 元に戻す / やり直す | 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` で判定する。 -矢印キーを取り合う候補は、移動・サイズ・回転・スイッチの向き・選択の移動の5つ。 -回転とスイッチの向きは2方向しかないので、`[` `]` や `,` `.` のような対になったキーに移せる。 -そうすると矢印キーの取り合いは、移動・サイズ・選択の移動の3つに減る。 +回転とスイッチの向きは対になったキーや1文字のキーに移したので、矢印キーを取り合うのは移動・サイズ・選択の移動の3つ。 ## 避けたい組み合わせ @@ -92,3 +106,23 @@ Web アプリとして動かす場合、OS やブラウザが先に取る組み - 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 | ヘルプ / オプション |