Overview
The app has several keyboard shortcuts with no central place where users can discover or configure them. A shortcuts reference (and eventually a configuration UI) would improve discoverability and let power users adapt bindings to their workflow.
Known shortcuts
| Action |
Default (Win/Linux) |
Default (Mac) |
Source |
| Undo |
Ctrl+Z |
⌘Z |
App.svelte |
| Redo |
Ctrl+Shift+Z or Ctrl+Y |
⌘⇧Z |
App.svelte |
| Delete selected node/edge |
Backspace / Delete |
Backspace / Delete |
@xyflow/svelte built-in |
| Multi-select (box) |
Shift+drag |
Shift+drag |
@xyflow/svelte built-in |
| Multi-select (click) |
Ctrl+click |
Cmd+click |
@xyflow/svelte built-in |
Proposed steps
- Shortcut reference panel — a read-only list of all bindings, accessible from Settings or a
? button. Platform-aware labels (⌘ on Mac, Ctrl on Win/Linux).
- Configurable bindings — allow users to remap app-level shortcuts (undo, redo, etc.) via Settings and persist to electron-store. @xyflow built-ins are not remappable without forking the library.
Feasibility notes
- App-level shortcuts (
App.svelte keydown handler) are straightforward to make configurable — read the binding from settings, match against e.key + modifier flags.
- @xyflow built-in shortcuts (delete, multi-select) are controlled via the
deleteKey, selectionKey, multiSelectionKey props on <SvelteFlow> — these are already configurable if wired to settings values.
- Platform detection:
navigator.platform (deprecated but stable in Electron) or navigator.userAgentData.platform.
Overview
The app has several keyboard shortcuts with no central place where users can discover or configure them. A shortcuts reference (and eventually a configuration UI) would improve discoverability and let power users adapt bindings to their workflow.
Known shortcuts
App.svelteApp.svelteProposed steps
?button. Platform-aware labels (⌘ on Mac, Ctrl on Win/Linux).Feasibility notes
App.sveltekeydown handler) are straightforward to make configurable — read the binding from settings, match againste.key+ modifier flags.deleteKey,selectionKey,multiSelectionKeyprops on<SvelteFlow>— these are already configurable if wired to settings values.navigator.platform(deprecated but stable in Electron) ornavigator.userAgentData.platform.