Novolis Docs
novolis-apps / sketch-studio/shortcuts.md

Shortcuts and tooltips

dotnetavaloniadesktopnovolis

Documentation index · Tools · UX chrome

Discoverability in the app

MechanismBehavior
Hover tooltipEvery toolbar control: **title**, **shortcut** (when any), **one-line help**. Show delay ~200 ms (`SketchShortcuts.TipShowDelayMs`).
F1 / ? buttonModal **Keyboard shortcuts** dialog — same content as the tables below (`SketchShortcuts.ShowHelpAsync`).
Hint stripPoints at hover tips + F1; not a substitute for the full list.

Source of truth in code: SketchShortcuts.cs (File / Tools / Edit / Export / Help rows). Keep this doc aligned when adding chords.

File

ActionKeysNotes
New`Ctrl+N`Prompts if dirty — [Documents](./documents.html)
Open`Ctrl+O``.sketchjson` picker
RecentClock flyout; MRU max 8
Save`Ctrl+S`Current path or Save As
Save As`Ctrl+Shift+S`New `.sketchjson` path
Shortcuts help`F1`Also the ? toolbar button

Tools

ActionKeys
Pen / Line / Spline / Box / Circle`P` `L` `S` `R` `C`
Speech bubble / Text / Text box`B` `T` `X`
Eraser / Paint bucket / Select`E` `K` `V`

Letter keys are ignored while Ctrl or Shift is held so they do not clash with file/edit chords.

Edit and canvas

ActionKeysWhere handled
Undo / Redo`Ctrl+Z` / `Ctrl+Y`Host and `SketchControl`
Fuse / Ungroup`Ctrl+G` / `Ctrl+Shift+G`Host and `SketchControl`
Paste image`Ctrl+V`Host
Select all`Ctrl+A``SketchControl` (Select tool)
Complete line/spline`Enter``SketchControl`
Close shape`Ctrl+Enter` (or Shift+Enter)`SketchControl`
Cancel drawing`Esc``SketchControl`
Delete selection`Del` / `Backspace``SketchControl` (+ host `Del`)
Pan`Space` + drag`SketchControl`

Export

ActionKeys
Copy PNG / Save As PNG— (toolbar)
Copy SVG / Save As SVG— (toolbar)

See Export.

Focus notes

  • Enter / Esc / Space / Ctrl+A need canvas focus (SketchControl) to fire inside the control.
  • File chords (Ctrl+N/O/S, …) and tool letters are handled on the window KeyDown and work when the window is focused even if the canvas last received pointer input (after a click on the canvas, control keys still reach the window unless the control marks them handled).

See also