backupRoswaal has moved to roswaal.app. These pages are a backup copy.Go to roswaal.app

Controls✎

Every key, mouse, trackpad and touch gesture the canvas understands.

Verified

This page is the keyboard, the mouse and touch. The buttons are on Toolbars, which draws each bar with every control named under it.

Keys and gestures

What are you using?

Keys act on the canvas, and do nothing while you are typing in a field. Ctrl is ⌘ on a Mac. Escape closes whatever is open — a menu, a panel, the preview.

KeyWhat it does
Ctrl + ZUndo
Ctrl + Shift + Z, Ctrl + YRedo
Ctrl + SCompile the open graph
Ctrl + ASelect everything in the graph on screen
Ctrl + C, Ctrl + X, Ctrl + VCopy, cut, paste. A function brings its graph and a comment brings what it is drawn around. The paste lands with its top-left corner at the pointer, or offset from the original when the pointer is off the canvas
Ctrl + DDuplicate the selection, at the pointer
Ctrl + Shift + LRealign the graph on screen
Ctrl + Shift + EOpen Export
Delete, BackspaceDelete the selection. A function takes its graph, and asks first
AAlign the selection, walking it in the order you picked it
CComment around the selection, or an empty one if nothing is selected
PPreview the Luau the selection compiles to. With nothing selected: the function on screen, or the whole script

Info

While a compile runs outside Dynamic the canvas is locked; only Ctrl + A, Ctrl + C and P work.

A long press is a right-click and a double tap is a double-click, everywhere — so every gesture in the sections below has a touch version. An Apple Pencil works the same way, and draws a marquee as a mouse does.

GestureWhat it does
Drag empty space with one fingerPan
Tap empty spaceClear the selection
Two fingersPinch to zoom, drag to pan
Tap with two fingersUndo
Tap with three fingersRedo
Press and hold empty space, then dragMarquee select
Press and hold empty space, then liftNode menu, where you held
Press and hold with two fingers, then liftThe node picker, as Ctrl + right-click opens
Tap a node in the node pickerPreview it. Double tap it, tap Spawn node, or hold and drag it onto the graph to place it
Long press a node or a pinIts menu, as a right-click opens
Press and hold a variable, a file or a tab, then dragDrag it, as a mouse does — onto the graph, into a folder
Press and hold a variable, a file or a tab, then liftIts menu, if it has one
Undo and Redo, along the bottom or on the side stripAs Ctrl + Z and Ctrl + Y do
Align, Copy, Cut, Duplicate, Delete, Paste, along the bottomWhat their shortcuts do, to the selection. Node Design's logic graph has the same bar. Icons or words: Settings → Workspace → Action buttons
Preview and Logic, in Node Design on a phoneShow the node, or its logic, with the whole editor to itself
Double tapOpen a graph from the tree, add a reroute knot, rename a comment
Double tap an instance in DataModelSlide Properties out with it
Drag a node, or from a pinAs with a mouse
The Project and Inspector buttons: on the top row on a tablet, at the ends of the bottom bar on a phoneSlide those cards out over the graph, one side at a time
The search button beside Contents, in these pagesSearch the docs, as Ctrl + K does

Info

An iPad with a keyboard takes the Desktop shortcuts as well, with ⌘ for Ctrl.

Aligning

A lines a selection up, walking it in the order you picked it. The first node — the anchor, drawn with a heavier ring — never moves.

From there it follows the wires through the rest of the selection, and each node lines up on the neighbour it was reached from. So a chain straightens hop by hop — a source, a knot and the node the knot feeds all come out flat, even though the far end was never wired to the anchor, and whatever order you picked them in. A selected node with no wired path to the anchor takes its top edge.

Where two nodes are wired, the pins line up rather than the boxes. That is the difference that matters at a reroute knot: a knot is a dot with both pins at its centre and the node it feeds has its input some way down a header, so levelling the boxes would leave every wire through it bent.

Info

Nothing moves sideways, and comments stay put. Realign lays the graph out again.

Realign

Ctrl + Shift + L lays the graph on screen out along its flow, as an import lays out a file: each run of steps along a row, its values under the step before, and the graph's start where it was. With several nodes selected, only those move.

The toolbar's Refactor button opens a panel with Realign and three changes that rewire a graph without changing its Luau. Drag it into the right dock to keep it under the Inspector.

ChangeWhat it does
Split into rowsPuts a Sequence after the graph's start and cuts its chain into rows by width.
A Get per readerGives each node that reads a Get its own copy.
Share GetsMakes Gets of the same thing one, read by every reader.

With several nodes selected, the Get changes act on those alone. Realign after each change lays out what a change touched.

Right-click a node and choose Pin to keep it where it is: Realign lays the rest out round it. A pinned node has a dashed ring and a pin in its corner.

A comment box is fitted back round what it holds. Tick Preserve nodes on Realign in its Inspector to keep what it holds as you placed it, and move the box as one.

The canvas

GestureWhat it does
ScrollZoom towards the pointer, or pan on a Mac or iPad. Settings → Canvas → Scrolling the graph changes it
Pinch, or Ctrl + scrollZoom, towards the pointer
Scroll sidewaysPan
Middle-drag, or Alt + dragPan
Drag on empty spaceMarquee select
Shift or Ctrl + drag on empty spaceMarquee adds to the selection
Click empty spaceClear the selection
Right-click empty spaceNode menu, at the point you clicked
+ and − on the side strip, or its sliderZoom; the percentage goes back to 100%
Fit on the side stripThe whole graph, in the window

The side strip is along the bottom of the graph with a mouse, and down its left edge on a touch screen. A phone has none.

Nodes

GestureWhat it does
DragMove it, and everything selected with it
Shift while draggingSnap to the grid; the rest keep their offsets
Shift or Ctrl + clickAdd to or remove from the selection
Right-clickNode menu
Double-click a Declare Function, or its ƒOpen the function's graph

Functions and tabs

GestureWhat it does
The arrow beside a .nodescript in the treeList its functions
Double-click a function in the treeOpen its graph in a tab
Click a function in the Variables panelOpen its graph
Middle-click a tabClose it

Panels

GestureWhat it does
The Project and Inspector buttons on the top rowShow or hide the cards on that side
Drag a card by its headerOnto another card's header to make them tabs; onto the top or bottom half of a card to go above or below it; to an edge for that side
Drag a card onto the graphIt becomes a window there
Drag one tab out of a cardMove that panel on its own
Double-click a card's headerFold it to its header, or open it again
Drag the line between two cardsShare their height; double-click to share it evenly
The ⋯ button on a cardMove it without dragging, separate a tab, fold or close it, and show a closed panel again
Drag a card's inner edgeResize that side; double-click to put it away
Drag a window by its headerMove it; let go at an edge or on a card to dock it
Drag any edge or corner of a windowResize it. The opposite edge stays put

Menus

Every menu and dropdown takes the keyboard the same way. The node menu is the one exception: what you type goes into its search, and the arrow keys move through what it finds.

KeyWhat it does
↑, ↓Move through what can be chosen. Past either end it goes round
Home, EndThe first and the last
Enter or SpaceChoose it
EscapeClose the menu, and go back to where you were
TabClose the menu and move on

Node Design

GestureWhat it does
Drag a type from the palette onto the nodeAdd a pin: the left half an input, the right half an output
Click a pin, or its labelEdit its name, type, default and tooltip
Ctrl + SSave the node
Right-click the logic canvasAdd a node to the node's logic
A, Ctrl + Shift + LAlign and realign in the logic canvas, as on a graph
Ctrl + C, X, V, DCopy, cut, paste and duplicate in the logic canvas, on the same terms as a graph. Node Inputs and Node Outputs are left out of all four: there is one of each and they are already here

Pins and wires

GestureWhat it does
Drag from a pinStart a wire; everything it cannot reach dims
Drop a wire on empty spaceNode menu, showing only what can take that wire
Drop a wire from a serviceThat service's methods, listed first — see Services and their methods
Type a service or class name in the menuReplicatedStorage gives Get Service; Part gives New Instance, each filled in
Drag from a wired inputPick that wire up and move it somewhere else
Shift + click a pinDisconnect everything on it
Right-click a pinPin menu — split a struct, promote to a variable
Shift or Alt + click a wireDisconnect it
Double-click a wireAdd a reroute knot where you clicked

Advanced shortcuts

Two that are worth knowing and neither of which you need: each is a slower, fuller way of asking something the editor already answers quickly.

GestureWhat it does
Ctrl + right-click the canvasThe node picker: the same list as the menu, with each node drawn as you walk it. For when you remember the shape rather than the name. Click a node, press Spawn node, or drag it onto the graph
Ctrl + K, in the editorJump to a documentation page. Pick one and the docs window opens on it
Ctrl + K, in the docsThe search palette, over the page

Searching

TypedWhat you get
and, or, not, ==, .., #The node that writes that Luau, first in the list
if, else, elseifBranch
for, while, break, returnThe loop or the flow node that writes it
Another name for a node: Define Function, Define Type, Sleep, LogThat node, below any node actually called it
A service or class nameGet Service or New Instance, filled in
A method nameRunService:IsServer and the rest of that service's methods

Comments

GestureWhat it does
CA new comment: around the selection, or empty where you are looking
Right-click the canvasAdd comment, placed where you clicked
DragMove it, and the nodes that were inside it when you grabbed it
Ctrl + CCopy it, and the nodes it is drawn around
Select itIts colour, in the Inspector: eight swatches or a hex you type
Double-clickEdit the text. Enter adds a line; Esc, Ctrl+Enter or a click away saves
Drag the bottom-right cornerResize
Drag the top-left cornerResize, keeping the bottom-right where it is

Dragging things in

GestureWhat it does
Drag a variable from the panelGet Variable
Ctrl while dropping itSet Variable instead
Drag a file from the project treeOffers what can be done with it
Double-click a .nodescript in the treeOpen it
Double-click an instance in DataModelOpen it in Properties
Drag a property from PropertiesGet Member on an Instance node at its path
Ctrl while dropping itSet Property instead
Drag an attribute from PropertiesGet Attribute, or Set Attribute with Ctrl
Drag an instance from DataModel, or its name from PropertiesAn Instance node at its path

Last reviewed 8 October 2026 by @neopolitans