Skip to content
OpenChipwiki

Keyboard shortcuts

Press ? anywhere in the app for the same list, generated from the same catalogue.

on macOS, Ctrl everywhere else. The app detects this and prints whichever applies to your machine.

These work in the Draw tab.

Key Does
V Select. Click, marquee, drag nodes and bezier handles.
P Draw. Click to lay down channel segments.
D Dimension. Click a channel to pin its width there. Widths interpolate between markers.
Key Does
⌘Z / Ctrl+Z Undo.
⇧⌘Z / Ctrl+Shift+Z Redo.
⌘C / Ctrl+C Copy the selected sub-path.
⌘V / Ctrl+V Paste. Successive pastes cascade instead of stacking.
⌘D / Ctrl+D Duplicate in place.
⌘A / Ctrl+A Select everything.
Delete or Backspace Remove the selection.
B Straight ↔ curved. Handles are kept, so toggling back restores the curve.
-click a segment Insert a node. Splits the segment cleanly and keeps its dimension markers.
Escape End the draw run, or clear the selection.
Enter End the draw run without leaving the tool.

Backspace deletes as well as Delete, which matters on a laptop keyboard with no dedicated Delete key. The in-app help sheet lists only Delete.

Key Does
G Show or hide the grid.
T Show or hide the width preview.
Alt-drag, or middle-drag Pan.
Scroll Zoom at the cursor.

These work from any tab.

Key Does
⌘S / Ctrl+S Save.
⇧⌘S / Ctrl+Shift+S Save as…
⌘O / Ctrl+O Open a project.
⇧⌘E / Ctrl+Shift+E Export for presentation.
? This list, in the app.

Single-letter shortcuts are suppressed while focus is in a text field, a number field or a select, so typing 0.8 into a width box does not switch you to the draw tool.

⌘Z is the one exception: it undoes the design even from inside a field. It is the shortcut people expect to work everywhere, and a field’s own undo history is almost never what someone means when they press it mid-edit.

Worth knowing if you are reading the source, because they are deliberately split across three places:

Keys Live in
Tools, editing, view src/hooks/useDrawShortcuts.ts
Delete, Backspace, Escape, Enter src/components/draw/DrawCanvas.tsx
Save, open, export, ? src/hooks/useKeyboardShortcuts.ts

The canvas keys stay in the canvas because they act on the in-progress draw session, which is the canvas’s own state. The descriptions are centralised in src/lib/shortcuts.ts so a shortcut cannot be added to a handler and forgotten in the help sheet.