Skip to content

[機能] ショートカット再割り当ての仕組み — プリセット機構、衝突検出、エクスポート、一覧の自動生成 #285

Description

@hjosugi

訂正(2026-07 レビュー)— #277 との役割分担を明確化

当初この issue と #277 の両方が「互換プリセット」を提案しており重複していた。以下に分割する。

目的

キーボードショートカットを変更できる仕組みを作る。

現状(internal/server/web/index.html:297-303

#shortcutsDialog でショートカット一覧を表示できるが、変更はできない。バインドは固定。

参考

  • KDiff3 は「Configuring Keyboard-Shortcuts」を設定ダイアログの独立した章として持つ https://kdiff3.sourceforge.net/doc/options.html
  • JetBrains はキーマップ全体を差し替え可能(Eclipse 風、Visual Studio 風などのプリセット)

提案

  1. 再割り当ての仕組み: 全アクションに ID を振り、バインドを設定として持つ
  2. プリセット機構: WinMerge 互換 / VS Code 互換 / JetBrains 互換。各プリセットの中身は [機能] 既定キーマップの設計とキーボード完結のマージ — 差分/コンフリクト移動の分離、採用キー、auto-advance #277 で設計する
  3. 衝突の検出: 割り当て衝突をその場で警告し、衝突相手を表示する
  4. アクション検索: 「次の差分」で検索してバインドに到達できる
  5. エクスポート/インポート: JSON。チーム共有・現場標準化
  6. 一覧ダイアログの自動生成: #shortcutsDialog の内容を実際のバインドから生成する。現在が静的なら、カスタマイズ後に不整合が起きる
  7. チートシートの印刷/PDF 出力

注意

完了条件

  • 全ショートカットが変更できる
  • プリセットの切り替えが1操作でできる
  • 衝突が検出される
  • 一覧ダイアログが実際のバインドを反映する

(2026-07 UI設計調査 / 2026-07 レビューで #277 との重複を解消)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions