mouse_modifiers
ispyisail edited this page 2026-09-19 12:46:23 +12:00
Clone

Wiki Page Revisions

1 Commits

Author SHA1 Message Date
ispyisail 55ec027a0e Add a Mouse modifiers page
Holding Shift, Ctrl or Alt while dragging changes what the drag does, in
about twenty different ways, and almost none of it is discoverable. Two
appear in the status bar once a drag is already under way; the rest are
written down nowhere. keyboard_control covers the opposite problem --
working without a mouse -- so none of this was on the wiki.

Compiled by reading every Shift/Ctrl/Alt site in the source, 66 of them,
rather than from the ones I happened to know:

- Ctrl means "ignore the grid" everywhere, because the check lives inside
  Diagram::snapToGrid() itself rather than at each call site, and it
  rounds to the nearest pixel rather than freeing the position entirely.
- Shift on an element's own text moves the label instead of the element.
- Shift/Ctrl/Ctrl+Shift while drawing a rectangle or ellipse give square,
  from-centre, and centred-square; centre-anchoring is decided at the
  first click and deliberately not re-checked mid-drag.
- Alt on a shape's corner handle converts it to a polygon; Alt on a path
  node or curve handle changes the node kind.
- Shift snaps rotation, skew and arc angles to 15 degrees.
- Alt+arrows nudge by the fine grid, Ctrl+arrows realign a text group.
- Ctrl+Shift is reserved by DiagramView for its own mode switch, so it is
  not available as a modifier combination.

Two behaviours are called out as changing, with the open PR named rather
than described as working: element text not snapping (#927) and the text
tool having no cancel (#928).

Linked from _Sidebar.md and cross-linked with keyboard_control both ways.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CaKympWT3owLotCpEN2CFj
2026-09-19 12:46:23 +12:00