Keyboard shortcuts
Every shortcut Hexcalibur ships with, grouped by activity.
| Key | Tool |
|---|---|
V | Move (translate whole layer) |
M | Marquee (selection) |
L | Lasso (selection) |
W | Magic wand (selection) |
B | Brush |
E | Eraser |
I | Eyedropper |
F | Fill |
S | Tile stamp |
Y | Line |
R | Rectangle |
C | Circle |
P | Polygon |
U | Star |
T | Text |
X | Color replace |
While drawing with a paint tool, hold Alt to override the
current tool with the eyedropper for a single click - useful for
sampling a color without leaving the brush. With a selection tool
active, Alt means “subtract from selection” instead (see
Selection).
Selection
Section titled “Selection”The Marquee (M), Lasso (L), and Magic wand (W) define
a region on the canvas; paint tools below clip their strokes to
the active marquee. The marching ants visualize the boundary.
Marquee commands
Section titled “Marquee commands”| Key | Action |
|---|---|
Cmd/Ctrl + A | Select all |
Cmd/Ctrl + D | Deselect |
Cmd/Ctrl + Shift + I | Invert the selection |
Enter | Confirm the selection (deselect) |
Esc | Deselect (when no float is active) |
A selection drag can start on the empty space around the canvas - sweep across from outside to grab a corner or the whole canvas without aiming at the exact edge pixel.
Modifier combines (during a marquee, lasso, or wand gesture)
Section titled “Modifier combines (during a marquee, lasso, or wand gesture)”| Modifier | Effect |
|---|---|
| (none) | Replace the selection |
Shift + drag/click | Add to the selection |
Alt + drag/click | Subtract from the selection |
Shift + Alt + drag/click | Intersect with the selection |
The mode locks at pointerdown; releasing the modifier mid-drag doesn’t flip the combine.
Transform handles (drag-to-resize)
Section titled “Transform handles (drag-to-resize)”While a selection is active and the rect-marquee or lasso tool is selected, eight small white squares appear on the marquee’s bounding box (four corners + four edge midpoints). Hover any handle and the cursor swaps to the matching resize glyph.
| Action | Effect |
|---|---|
Shift + T | Arm transform handles on the whole active layer |
| Click + drag a handle | Lift pixels, scale to the new bounds (nearest-neighbor) |
| Release the mouse | The transform stays open - re-grab any handle to keep resizing |
| Drag inside the box | Move the whole transform box |
Enter | Apply the transform and clear the selection |
| Click outside the box | Apply the transform |
Esc | Cancel the transform (revert to pre-resize state; the selection stays) |
Ctrl/Cmd + Z | Cancel the transform (press again to undo earlier work) |
The transform can extend past the canvas edge - the box and handles stay visible and grabbable outside it, and you can pull the content back before applying. Anything still outside the canvas when you apply is cropped. While the transform is open, every resize samples the original pixels, so scaling down and back up doesn’t degrade the art.
Lasso selections preserve their irregular shape under scale - not just the bounding rect. Switching tools / assets / frames applies the in-progress transform.
Floating selection (drag-to-move)
Section titled “Floating selection (drag-to-move)”Click inside an active marquee (not on a handle) with the Rect or Lasso tool to lift the selected pixels into a float. Drag to reposition.
| Key | Action |
|---|---|
| Drag inside marquee | Lift pixels into a float, or continue dragging an active float |
| Arrow keys | Nudge the selection by 1 px (lifts a float on first press) |
Shift + Arrow | Nudge the selection by 10 px |
Enter | Commit the float (bake pixels at the new offset) |
Esc | Cancel the float (revert to original position) |
| Click outside marquee | Commit the float and start a new gesture |
Switching tools, switching assets, or switching frames also commits any active float automatically.
Clipboard
Section titled “Clipboard”| Key | Action |
|---|---|
Cmd/Ctrl + C | Copy the selection’s pixels |
Cmd/Ctrl + X | Cut (copy + clear pixels on the active layer) |
Cmd/Ctrl + V | Paste as a float (auto-offsets 2 px if it would overlap identical pixels) |
Delete or Backspace | Clear the pixels under the selection (selection mask stays) |
Cmd/Ctrl + J | Layer via Copy - put a copy of the selection on its own new layer (the original stays put) |
Cmd/Ctrl + Shift + J | Layer via Cut - move the selection onto its own new layer (clearing it from the current one) |
The marquee clipboard is independent of the layer / asset clipboards. It lasts for the current session - reload clears it. Pasting into a different asset only works when the canvas sizes match exactly on both axes.
Layer via Copy / Cut also live in the Layer menu and the canvas right-click menu when a selection is active and a selection tool (or Move) is selected - with a paint tool active, right-click paints with the background color instead. The new layer lands directly above the one you took the pixels from.
Painting and history
Section titled “Painting and history”| Key | Action |
|---|---|
Cmd/Ctrl + Z | Undo (paint, layer-structural, batch) |
Cmd/Ctrl + Shift + Z or Cmd/Ctrl + Y | Redo |
[ / ] | Decrease / increase brush, eraser, or line size |
Undo covers everything: strokes, layer add/delete/reorder, property changes, palette mutations.
Canvas and viewport
Section titled “Canvas and viewport”| Key | Action |
|---|---|
| Click + drag | Paint with the foreground color |
| Right-click + drag | Paint with the background color |
Space (held) + drag | Pan the canvas |
| Scroll | Zoom (cursor-anchored) |
| Two-finger drag | Pan and pinch-zoom on a touchscreen |
' | Toggle the pixel-grid overlay |
Shift + ' | Toggle tiled mode (repeat view) |
Shift + [ | Collapse or show the asset panel |
Shift + ] | Collapse or show the Studio panel |
Shift + F | Toggle fullscreen |
The pixel grid and isometric guidelines both toggle from
View → Canvas guides. The pixel grid also has the ' shortcut
above; the isometric guide has no default shortcut (bind one via your
OS if you reach for it often).
Layers and assets
Section titled “Layers and assets”| Key | Action |
|---|---|
| Click | Single-select a layer or asset row |
Cmd/Ctrl + Click | Toggle the row in/out of the multi-selection |
Shift + Click | Range-select from the active row to the clicked row |
Cmd/Ctrl + J | Duplicate the active layer (or the multi-selection) - or, with a selection active, copy it onto a new layer (see Clipboard) |
Delete (with cursor over the panel) | Delete selected layers or assets |
| Drag | Reorder rows; multi-selected rows move as one block |
Delete is hover-routed: pressing it with the cursor over the
layers panel deletes layers, with the cursor over the asset
switcher deletes assets, and anywhere else does nothing - so a
stray press while painting can’t lose work.
Animation timeline
Section titled “Animation timeline”| Key | Action |
|---|---|
N | Add a new frame (also opens the timeline on a single-frame asset) |
Space (cursor over timeline) | Play / pause the animation |
, / . | Step to the previous / next frame |
Shift + , / Shift + . | Jump to the previous / next tag’s start frame |
Shift + L | Toggle the layer-cel grid |
Delete (cursor over timeline) | Delete the active frame |
Space is hover-routed the same way as Delete: over the
timeline it plays / pauses; on the canvas it stays the pan-hold
modifier so painting workflows are unaffected.
The animation tour (Help → Show animation tour, or the ?
button in the timeline) walks through every interaction in
context. See
Animation timeline for
the full panel reference.
Files and export
Section titled “Files and export”| Key | Action |
|---|---|
Cmd/Ctrl + N | New pack |
Cmd/Ctrl + I | Import as new asset |
Cmd/Ctrl + E | Open the Export dialog |
Cmd/Ctrl + P | Open Preferences |
Modals and rename
Section titled “Modals and rename”| Key | Action |
|---|---|
Esc | Dismiss any modal, cancel an inline rename, or skip the welcome tour |
| Double-click a name | Start an inline rename |
Enter (in an inline rename) | Commit |
Esc (in an inline rename) | Cancel |
There’s no save shortcut. Hexcalibur autosaves every stroke commit. The save status pill in the editor footer shows the current state.