KODA Engine Keyboard Shortcuts
A reference for working inside the KODA app — keyboard shortcuts, mouse modifiers, and interaction conventions across the editor, for both macOS and Windows.
Conventions
Shortcuts in this manual are written for both platforms at once. Where a modifier differs between macOS and Windows, the key cap shows the Mac form on top and the Windows form beneath it — for example ⌘ CmdCtrl means Command on macOS, Control on Windows.
| Key | macOS | Windows |
|---|---|---|
| ⌘ CmdCtrl | Command (⌘) — the primary command modifier. | Control (Ctrl). |
| ⌥ OptAlt | Option (⌥). | Alt. |
| Shift | Same on both platforms. | |
| Ctrl+Click | Treated as a right-click — opens context menus. | Use a real Right-click instead. |
Most keyboard commands are remappable in the app's Shortcut settings — the bindings shown here are the factory defaults. Undo, Redo, Save, and Save As are fixed and cannot be reassigned. Mouse-modifier gestures (drag, scroll, click combinations) are fixed.
Global Shortcuts
These commands work regardless of which panel currently has keyboard focus.
| Shortcut | Action |
|---|---|
| ⌘ CmdCtrl+Z | Undo |
| ⌘ CmdCtrl+Shift+Z | Redo |
| ⌘ CmdCtrl+S | Save |
| ⌘ CmdCtrl+Shift+S | Save As |
| ⌘ CmdCtrl+C | Copy |
| ⌘ CmdCtrl+X | Cut |
| ⌘ CmdCtrl+V | Paste |
| ⌘ CmdCtrl+A | Select all |
- Return applies the typed value and closes the editor, or confirms the dialog.
- Esc cancels and closes the editor or dialog without applying.
- Right-click opens the context menu for the item under the cursor.
Undo, Redo, Save, and Save As always apply to the focused instrument.
Sliders, Knobs & Value Fields
Every knob, slider, and editable value display in KODA shares the same interactions. These behaviors also apply to widgets in the instrument UIs you build in Figma — the engine handles them automatically.
| Shortcut | Action | Notes |
|---|---|---|
| ⌘ CmdCtrl+Click | Reset to default value. | Works on knobs, sliders, and some value fields. Pan sliders recenter. |
| ⌘ CmdCtrl+Drag | Coarse adjustment (larger steps). | Works on some knobs in the app. Start by dragging, then add cmd modifier. |
| Right-click or ⌥ OptAlt+Click | Open the modulation popup. | Use this on knobs that have modulation applied to them. |
Lane Edit View
The Lane Edit View is where audio clips are arranged, trimmed, and faded. It supports a rich set of keyboard shortcuts, mouse modifiers, and scroll-wheel gestures.
Keyboard
| Shortcut | Action |
|---|---|
| Space | Play / stop the focused clip. |
| ← / → | Nudge selected clips left or right. |
| Delete / Backspace | Delete the selected clips. |
| ⌘ CmdCtrl+A | Select all clips on every displayed lane. Click on an empty background area to deselect. |
Selection & Mouse
| Shortcut | Action |
|---|---|
| Shift+Click a clip | Add clip to current selection. |
| Drag on background | Begin a lasso-select. |
| Shift+Drag on background | Lasso-select — add the enclosed clips to the selection. |
| Shift+Drag a clip | Move the clip into a neighboring lane while locking its horizontal position. |
Edit Mode Modifiers
Holding these modifiers while hovering over a clip changes the cursor's edit mode.
| Modifier | Mode | Effect |
|---|---|---|
| ⌘ CmdCtrl (top half) | Split | Split the clip at the cursor position. |
| ⌥ OptAlt (bottom half) | Duplicate | Duplicate the clip on drag. |
| ⌘ CmdCtrl+⌥ OptAlt (bottom half) | Slip Edit | Move the file offset within the clip without moving the clip itself. |
Scroll Wheel
| Gesture | Action |
|---|---|
| Scroll | Vertical scroll up and down lanes. |
| Shift+Scroll | Horizontal scroll along the timeline. |
| ⌘ CmdCtrl+Scroll | Horizontal timeline zoom, anchored at the cursor. |
| ⌘ CmdCtrl+Shift+Scroll | Waveform zoom. |
Mapping View
The Mapping View is a 2D editor for sample zones, plotted across pitch and velocity. Selection, zoom, and zone editing share modifier conventions with the Lane Edit View.
Keyboard
| Shortcut | Action |
|---|---|
| ⌘ CmdCtrl+C / ⌘ CmdCtrl+X / ⌘ CmdCtrl+V | Copy / cut / paste the selected zones. |
| ⌘ CmdCtrl+A | Select all zones. |
| ⌘ CmdCtrl+G | Merge selected zones. |
| ⌘ CmdCtrl+F | Close gaps between adjacent zones. (Side-by-side needs matching velocity ranges, stacked needs matching key ranges.) Edge margins aren't filled. |
| Delete / Backspace | Delete the selected zones. |
| L | Lock / unlock the selected zones. |
| Z | Toggle the Zone Editor panel. |
| E | Toggle Link Edges. |
Arrow Keys
With zones selected, the arrow keys navigate or resize depending on the modifier held.
| Shortcut | Action |
|---|---|
| ← → ↑ ↓ | Navigate the selection. |
| Shift+Arrow | Add to currently selected zones by selecting zones above/below or to the left/right. |
| ⌘ CmdCtrl+Arrow | Expand the zone edge on the arrow's side. |
| ⌥ OptAlt+Arrow | Contract that edge. |
| Shift+⌘ CmdCtrl+Arrow | Expand that edge in larger steps (×5). |
| Shift+⌥ OptAlt+Arrow | Contract that edge in larger steps (×5). |
Selection & Mouse
| Shortcut | Action |
|---|---|
| ⌘ CmdCtrl+Click a zone | Add to current selection. |
| Shift+Drag on zone | Start a lasso (rectangle) selection including this zone. |
| ⌘ CmdCtrl+Shift+Drag on a zone edge | Select a zone instead of edge. Use this if a zone is small and you are only being offered edge selection, but need to move the zone. |
| Double-click a zone | Open zone in the lane editor. |
| ⌘ CmdCtrl+Drop | When dropping files or pool samples — replace the target zone instead of adding. |
| Drag a minimap box edge | Zoom the main map view along that axis. |
Scroll Wheel
| Gesture | Action |
|---|---|
| Scroll | Vertical pan (velocity axis). |
| Shift+Scroll | Horizontal pan (note axis). |
| ⌘ CmdCtrl+Scroll | Horizontal zoom (note axis). |
| ⌘ CmdCtrl+Shift+Scroll | Vertical zoom (velocity axis). |
The Mapping keyboard commands fire globally — they operate on the mapping selection regardless of which view currently has focus. The exception is when a text editor or the Debug Console is focused, which intercepts the keys first.
Structure View
The Structure View lists the instrument's articulations, variations, and groups. Its lists support multi-selection, drag-reordering, and a rich context menu.
| Shortcut | Action |
|---|---|
| ⌘ CmdCtrl+Click | Add / toggle the item in the selection. |
| Shift+Click | Range-select from the current item. |
| Double-click a name | Rename the item in place. |
| Tab / Shift+Tab | While renaming — commit and edit the next / previous row. |
Items are reordered by dragging them up or down their list.
Zone Editor
The Zone Editor is the single-zone timeline view, where one zone's clip arrangement is edited in detail.
| Shortcut | Action |
|---|---|
| ← / → | Nudge selected clips along the timeline. |
| Scroll over the timeline ruler | Horizontal zoom anchored at the cursor (no modifier needed). |
| ⌘ CmdCtrl+Scroll over the clips | Horizontal zoom anchored at the cursor. |
| Shift+Scroll over the clips | Horizontal scroll along the timeline. |
| ⌘ CmdCtrl+Click the timeline | Move the playhead to the start. |
Keyboard Edit
The Keyboard Edit view (build mode) is where key ranges are drawn and assigned across the on-screen keyboard.
| Shortcut | Action |
|---|---|
| Double-click bar above keys | Toggle edit mode for that range. |
| ⌘ CmdCtrl+Click a key | Toggle add or remove key from range. |
| ⌘ CmdCtrl+Drag | Lasso-select a range of keys. |
| Right-click a range bar | Select the range and open its context menu (for options to edit or delete the range). |
| Esc | Close the key-range panel. |
Debug Console
The Debug Console displays log entries for debugging .kdscripts.
Selection & Copy
| Shortcut | Action |
|---|---|
| Click a row | Select message. |
| Shift+Click | Extend the selection up to that row. |
| ⌘ CmdCtrl+Click | Toggle the row in the selection (add / remove). |
| ⌘ CmdCtrl+C | Copy the selected log entries to the clipboard. |
Virtual Keyboard
The on-screen piano keyboard provides quick scroll and zoom gestures, distinct from other views.
| Gesture | Action |
|---|---|
| Scroll | Zoom the keyboard (key width). |
| Shift+Scroll | Scroll the keyboard left / right. |
Modulation
The Modulation view edits modulator graphs (envelopes, LFOs, tables) and routes them to targets.
| Shortcut | Action |
|---|---|
| Double-click the graph | Add a node. |
| Double-click a node | Remove node. |
| ⌘ CmdCtrl+Click a node / handle | Reset node to its default. |
Module & Section Headers
Expandable module rows — in Group Setup, the Mixer, Modulation, and the instrument rack — share the same modifier-driven bulk expand / collapse behavior on their expand button.
| Shortcut | Action |
|---|---|
| ⌥ OptAlt+Click the expand button | Collapse all modules. |
| ⌘ CmdCtrl+Click the expand button | Toggle all modules to match the clicked module's new state. |