Keyboard Shortcuts
Throughout this page, Mod means Ctrl on Windows and Linux, and Cmd on macOS and iPadOS. Bindings are stored in a platform-independent form and displayed with the right label for the platform you are on, so the same stored binding reads correctly everywhere. Ctrl and Cmd are treated as the same modifier when recording a new binding.
Bindings are stored with your application preferences, not inside a project.
Default bindings
Section titled “Default bindings”| Category | Action | Default binding | What it does |
|---|---|---|---|
| File | Save Project | Mod+S | Save the current project to disk |
| File | Open Project | unbound | Open an existing project from disk |
| File | New Project | unbound | Create a new project |
| File | Go to Hub | unbound | Return to the project hub |
| File | Export Textures | Mod+E | Open the export dialog for the graph’s best output node |
| Editor | Open Settings | F1 | Open the settings window |
| Editor | Toggle Command Palette | Mod+P | Show or hide the command palette |
| Editor | Toggle Left Panel | Mod+← | Collapse or expand the left panel |
| Editor | Toggle Right Panel | Mod+→ | Collapse or expand the right panel |
| Editor | Toggle Bottom Panel | Mod+↓ | Collapse or expand the bottom panel |
| Editor | Toggle Focus Mode | Mod+↑ | Hide all panels to focus on the canvas |
| Graph | Undo | Mod+Z | Undo the last graph change |
| Graph | Redo | Mod+Y | Redo the last undone graph change |
| Graph | Select All | Mod+A | Select all nodes in the graph |
| Graph | Delete Selected | Delete | Delete the selected nodes |
| Graph | Duplicate Selected | Mod+D | Duplicate the selected nodes |
| Graph | Copy Selected | Mod+C | Copy the selected nodes to the clipboard |
| Graph | Paste Nodes | Mod+V | Paste nodes from the clipboard |
| Canvas | Zoom to Fit | unbound | Zoom the canvas to fit all nodes |
| Canvas | Zoom to Selection | Tab | Zoom the canvas to fit the selected nodes |
| Canvas | Zoom In | unbound | Zoom the canvas in |
| Canvas | Zoom Out | unbound | Zoom the canvas out |
| Canvas | Toggle Minimap | Mod+M | Show or hide the canvas minimap |
| Canvas | Open Node Picker | Space | Open the node picker to add a node |
| Canvas | Place Comment | C | Place a new comment at the center of the viewport |
| Canvas | Frame Selection | F | Create an empty comment box sized around the selected nodes |
| Canvas | Toggle Annotation Mode | unbound | Switch between drawing annotations and normal canvas input |
Seven actions are unbound out of the box: Open Project, New Project, Go to Hub, Zoom to Fit, Zoom In, Zoom Out and Toggle Annotation Mode. All of them can be reached another way (the hub, the toolbar’s Zoom In, Zoom Out and annotation buttons, the zoom field) and all can be given a binding.
On the Shortcuts page key names are shown in lower case (mod+s, f1,
delete, mod+arrowleft); modifier names keep their capitals. The Space
binding on Open Node Picker displays as a blank space rather than a word.
Presets
Section titled “Presets”A preset is a bundle of overrides layered on the Surface Labs defaults, a muscle-memory bridge from another node tool. Applying one replaces your current overrides entirely. Only the differences are listed here; every action not shown keeps its Surface Labs default.
| Preset | Changes |
|---|---|
| Surface Labs | (the defaults above) |
| Substance Designer | Zoom to Selection F, Frame Selection Shift+F, Zoom to Fit Home |
| Blender | Select All A, Delete Selected X, Duplicate Selected Shift+D, Zoom to Fit Home, Toggle Command Palette F3, Redo Mod+Shift+Z |
| Houdini | Open Node Picker Tab, Zoom to Selection G, Zoom to Fit H |
| Nuke | Open Node Picker Tab, Zoom to Selection F, Frame Selection Shift+F, Zoom to Fit Home |
| Custom | Not selectable. This label appears automatically once you remap anything by hand |
The Custom chip is only drawn while Custom is the active state, and the note under the row reads Presets preload familiar bindings from other tools. Remapping any shortcut afterwards switches to Custom.
Remapping
Section titled “Remapping”- Open Settings → Shortcuts.
- Click a row’s binding. It is replaced by a pulsing Press a key… box.
- Press the combination you want, holding modifiers first. Modifier keys pressed on their own are ignored while the row is listening, so you can hold Shift and then choose the key. The combination is captured on the first non-modifier key press.
- Press Escape while the row is listening to cancel without changing anything.
Recorded modifiers are the primary modifier (Ctrl/Cmd), Shift and Alt.
A row that carries an override grows a × control beside its binding, which clears that one override and restores the registry default.
Any manual remap, or a per-row reset, flips the stored preset label to Custom.
Reset All Shortcuts to Defaults at the bottom of the list clears every override at once and returns the preset to Surface Labs. It asks first, Reset all shortcuts?, and explains: This restores every keyboard shortcut to its default binding. This action cannot be undone.
Below that button, the same page carries the Controller section: the enable toggle, the live connection status and the three tuning sliders. See Input Devices.
Conflicts
Section titled “Conflicts”If the combination you press is already assigned to another action, the row stops listening and shows an inline warning: Already used by the other action’s name, Reassign?, with Reassign and Cancel buttons.
- Reassign gives the combination to the action you were editing and unbinds the other action.
- Cancel abandons the remap.
Once the warning is showing, the row is no longer listening for keys, so Escape at that point closes Settings instead of canceling. Use Cancel.
When shortcuts do not fire
Section titled “When shortcuts do not fire”Shortcuts are deliberately suppressed while a text field has keyboard focus:
the comment box inline editor, the toolbar search field, the toolbar zoom
field, the Jump Node label editor, a panel’s search box. Typing C in
a comment writes a c instead of placing another comment, and typing space in
the toolbar search field types a space instead of opening the node picker.
Escape is the exception: it is never routed through the shortcut
system, so it always reaches whatever it needs to cancel.
Which actions are live also depends on where you are. Go to Hub, Toggle Command Palette, New Project and Open Project are registered application-wide, so they work in the hub as well as the editor. Save, Export Textures, the three panel toggles and Focus Mode are registered by the editor. Undo, Redo, Select All, Delete, Duplicate, Copy, Paste and the canvas actions are registered by the canvas. An action whose handler is not currently registered simply does nothing.
A few keys belong to a panel rather than to the shortcut system, so they are not listed above and cannot be remapped. In the 3D preview, [ and ] cycle through the material’s maps and Tab shows or hides the corner toolbar; both only fire while that viewport holds focus, which it claims on pointer-down. See 3D Material Preview.
The command palette
Section titled “The command palette”Mod+P opens a small overlay in the upper part of the window with a search field, focused automatically, and the hint line Run any action or jump to a shortcut. It works in the hub and in the editor.
Under the field is the action list, and it runs what you pick:
- With the field empty, every action available right now is listed under its category heading, in the order of the table above.
- Typing filters by subsequence match over the action name and its category, so
tfmfinds Toggle Focus Mode. Filtered results drop the headings and label each row with its category instead. Nothing matching reads No matching actions. - Each row shows the action’s current binding, so the palette doubles as a way to look one up.
- ↑ and ↓ move the highlight, wrapping at both ends and scrolling the highlighted row into view. Enter or a tap runs the highlighted action through the same path a keyboard shortcut takes.
- Choosing Toggle Command Palette from inside the palette just closes it.
Only actions with a handler registered right now appear, so the canvas and graph actions are absent in the hub. Mod+P again or Escape closes it (Escape also clears the typed text; Mod+P leaves it in place for next time).