Contact
Draftv0.5.0 · beta

Keyboard shortcuts

The function keys, the modifier chords, the mouse, and the typed aliases — everything you can hit, on one page.

The one rule that explains the rest#

Bare printable keys are not shortcuts. They go to the command line, where they are matched against command names and aliases. L draws a line because l is LINE's alias.

So the keys a binding can own are only the ones that must never reach the command line: modifier chords, the function keys, Esc, Delete, and the mouse. Everything else on this page under "typed aliases" is text you type, not a key that is bound.

Every default here is remappable in keybindings.json — see Settings & customization.

Function keys#

Inherited unchanged from CAD convention, because this is exactly where muscle memory lives.

KeyToggles
F1Help
F2Expanded command history window
F3Object snap (OSNAP)
F5Isoplane — cycles Left → Top → Right → Off
F6Dynamic UCS
F7Grid display
F8Ortho
F9Grid snap
F10Polar tracking
F11Object snap tracking
F12Dynamic input

Each of these is also a command you can type — OSNAP, ORTHO, GRID, SNAP, POLAR, LWDISPLAY, AXES — taking ON / OFF or toggling on Enter. The status bar buttons, the F-keys and the typed commands all route through the same place, so they cannot disagree.

Editing and files#

ActionLinux / WindowsmacOS
UndoCtrl+ZCmd+Z
RedoCtrl+Shift+Z (also Ctrl+Y)Cmd+Shift+Z
CutCtrl+XCmd+X
CopyCtrl+CCmd+C
PasteCtrl+VCmd+V
Select allCtrl+ACmd+A
NewCtrl+NCmd+N
OpenCtrl+OCmd+O
SaveCtrl+SCmd+S
Save AsCtrl+Shift+SCmd+Shift+S
PlotCtrl+PCmd+P

Keys that are not chords#

KeyDoes
EnterAccept the prompt, or repeat the last command at an idle prompt
SpaceThe same as Enter at a command prompt
EscCancel the running command; press again to clear the selection
DeleteERASE the selection — but only when there is one, no command is running, and you are not typing
Shift (held)Invert the ortho state for as long as it is held
Shift + clickRemove from the selection
↑ / ↓Walk the command history
TabAccept the autocomplete suggestion

Delete is the clearest example of what a binding's when clause buys: the same key still deletes a character when the command line has focus.

Mouse#

GestureDoes
Left clickPick, or answer a point request
Left drag → rightWindow selection — only what is entirely inside
Left drag ← leftCrossing selection — anything inside or touching
Shift + left clickRemove from the selection
Middle dragPan — transparent, so it runs inside another command
Middle double-clickZoom Extents
WheelZoom, keeping the world point under the cursor fixed
Right clickContextual — repeat, accept, or open a menu
Double-click an entityEdit it in place

Pan and zoom are transparent: a half-drawn line still rubber-bands after you pan, and its cursor position is correct against the new view.

Typed aliases#

These are typed at the command line, not bound to keys. The full list, and what each command asks for, is in the Command reference.

Draw#

AliasCommandAliasCommand
LLINEPLPLINE
CCIRCLEAARC
RECRECTANGELELLIPSE
POPOINTPOLPOLYGON
XLXLINESPLSPLINE
HHATCHDIVDIVIDE
MEMEASURE

Modify#

AliasCommandAliasCommand
EERASEMMOVE
CO / CPCOPYROROTATE
SCSCALEMIMIRROR
SSTRETCHOOFFSET
TRTRIMEXEXTEND
FFILLETCHACHAMFER
ARARRAYBRBREAK
JJOINXEXPLODE
LENLENGTHENMAMATCHPROP

Structure and annotation#

AliasCommandAliasCommand
LALAYERBBLOCK
IINSERTWWBLOCK
XRXREFGGROUP
T / MTMTEXTDTTEXT
TBTABLEDDIMSTYLE
DLIDIMLINEARDALDIMALIGNED
DANDIMANGULARDRADIMRADIUS
DDIDIMDIAMETERDORDIMORDINATE
DCODIMCONTINUEDBADIMBASELINE
LE / MLDLEADER / MLEADERUNUNITS

View, inquiry and settings#

AliasCommandAliasCommand
ZZOOMPPAN
REREGENVVIEW
MS / PSMSPACE / PSPACEPRPROPERTIES
DIDISTAAAREA
LILISTUUNDO
OSOSNAP settingsDSDrafting settings
POLARANGPolar increment

Three dimensions#

AliasCommandAliasCommand
UCSUCSUCUCS manager
PLANPlan view3DO3D orbit
VSVisual styleHIHIDE
ELEVElevation / thicknessBOXBOX
CYLCYLINDERCONECONE
SPHERESPHERETORTORUS
WEWEDGEPYRPYRAMID
EXTEXTRUDEREVREVOLVE
SWSWEEPLOFTLOFT
PPPRESSPULLUNIUNION
SUSUBTRACTININTERSECT
3M3DMOVE3R3DROTATE
ALALIGNSLSLICE
SECSECTIONFSHOTFLATSHOT

Classic system variable names#

The classic sysvar names still work as command-line aliases over Draft's named settings — typing LTSCALE finds the linetype scale, PDMODE finds the point style. You never have to learn a numeric code to change a point style, but you never have to unlearn the name either.

Remapping#

keybindings.json maps an input to a command id, with an optional when clause:

{
  "key": "Delete",
  "command": "drafting.command.erase",
  "when": "selection && !commandActive && !typing"
}

Only the keys you specify are overridden — your file is merged over the shipped defaults rather than replacing them.