Skip to main content

Global shortcuts

These shortcuts work throughout the application:
ShortcutActionDescription
Ctrl+Z / Cmd+ZUndoUndo the last action (drawing, placement, deletion)
Ctrl+Shift+Z / Cmd+Shift+ZRedoRedo the previously undone action
F12Debug dialogOpen the in-app debug dialog (developer feature)
Ctrl+V / Cmd+VPaste imagePaste an image from clipboard
Ctrl shortcuts are for Windows and Linux. Cmd shortcuts are for macOS. Icarus detects your platform automatically.

Interaction modes

Switch between different interaction states:
ShortcutModeDescription
SNavigationSwitch to navigation mode for panning and selecting
QDrawingToggle drawing mode on/off for freehand drawing
WErasingToggle eraser mode on/off to remove drawings
TAdd textCreate a new text element at the center of the view

Interaction state priority

Only one interaction state can be active at a time:
  1. Press Q to enter drawing mode (overrides previous state)
  2. Press W to enter erasing mode (overrides previous state)
  3. Press S to return to navigation mode (default state)
Use S as a quick way to exit any special mode and return to normal navigation.
Quickly move between strategy pages:
ShortcutActionDescription
AForward pageGo to the next page (wraps to first page at the end)
DBackward pageGo to the previous page (wraps to last page at the start)
  • Pages are navigated in sort order
  • Switching pages triggers animated transitions
  • The current page is saved before switching
  • Forward and backward wrap around the page list
Page shortcuts use A and D instead of arrow keys to avoid conflicts when editing text fields.

Widget shortcuts

These shortcuts apply to selected elements:
ShortcutActionDescription
EDelete widgetDelete the currently selected element
Select an agent, ability, text, or utility element, then press E to quickly remove it.

Text editing overrides

When editing text fields, these shortcuts are disabled to allow normal text input:
  • T - Allows typing the letter “t”
  • A - Allows typing the letter “a”
  • D - Allows typing the letter “d”
  • Q - Allows typing the letter “q”
  • W - Allows typing the letter “w”
  • S - Allows typing the letter “s”
  • Ctrl+Z / Cmd+Z - Handled by text field for undo
  • Enter - Submits the text field
These overrides are automatically applied when a text field has focus.
If shortcuts don’t work as expected, check if a text field is focused. Click outside the text field to deactivate it.

Shortcut customization

Currently, keyboard shortcuts are hardcoded and cannot be customized. The shortcuts are defined in:
  • globalShortcuts - Work throughout the app
  • widgetShortcuts - Work on selected elements
  • textEditingOverrides - Override global shortcuts during text entry

Platform differences

Windows and Linux

  • Use Ctrl as the modifier key
  • Standard keyboard layout support

macOS

  • Use Cmd (Command) as the modifier key
  • Ctrl is treated separately and not used for main shortcuts

Keyboard detection

Icarus uses Flutter’s LogicalKeyboardKey system:
  • Platform-agnostic key detection
  • Support for international keyboard layouts
  • Handles both control and meta keys appropriately
If you’re on a non-standard keyboard layout, shortcuts use logical keys (what the key represents) rather than physical keys (where the key is located).

Undo/Redo details

The undo/redo system tracks actions across different element types:
  • Drawings: Addition and deletion of freehand strokes
  • Agents: Placement and removal of agent icons
  • Abilities: Placement and removal of ability markers
  • Text: Addition and removal of text elements
  • Utilities: Placement and removal of utility markers
Each action group maintains its own history, but undo/redo commands work chronologically across all groups.

Action tracking

When you perform an action:
  1. The action is recorded with a type, ID, and group
  2. The action is added to the undo stack
  3. Pressing undo removes the action from history and reverts it
  4. Pressing redo reapplies the most recent undone action
Switching pages does not clear undo history for the current page. However, undo/redo does not work across pages.

Accessibility

Keyboard shortcuts improve accessibility:
  • No mouse required for common actions
  • Single-key shortcuts for mode switching
  • Consistent modifier key usage
  • Visual feedback for active modes
Learn the mode shortcuts (S, Q, W) to dramatically speed up your workflow without reaching for the mouse.

Build docs developers (and LLMs) love