Advanced
Keyboard shortcuts
Every in-app keyboard shortcut for Universal Controller MIDI — panic, preset switch, mapping editor, tab nav, calibration. Built for live use without taking eyes off the DAW.
Updated
Keyboard shortcuts exist for one reason: during a live set you can't move a mouse. Every critical action — panic, preset switch, mapping reload — is one chord away. Memorise four, you're set.
Global (anywhere in the app)
| Shortcut | Action |
|---|---|
⌘ / Ctrl + , | Open Settings |
⌘ / Ctrl + P | Quick preset switcher (Cmd-P fuzzy search) |
⌘ / Ctrl + Shift + P | Command palette — every action by name |
⌘ / Ctrl + S | Save current preset |
⌘ / Ctrl + Shift + S | Save preset as… |
⌘ / Ctrl + Z | Undo mapping edit |
Esc | Close panel / cancel edit |
Space | Pause / resume MIDI output (panic-adjacent) |
F1 | Open Help tab |
The panic button
Bound to ⌘ / Ctrl + . (Cmd-period). Fires All Notes Off on every active channel and resets every CC to its default value. If your DAW ever gets a stuck note from a flaky Bluetooth link, this is the muscle-memory shortcut to learn first.
Tab navigation
The main window has 11 tabs. Number keys jump between them:
⌘ / Ctrl + 1Mapping⌘ / Ctrl + 2Visualise⌘ / Ctrl + 3Templates⌘ / Ctrl + 4Presets⌘ / Ctrl + 5Connectors⌘ / Ctrl + 6Bluetooth⌘ / Ctrl + 7Haptics⌘ / Ctrl + 8MIDI in⌘ / Ctrl + 9Logs⌘ / Ctrl + 0Settings⌘ / Ctrl + /Help
Mapping editor
Inside the editor, Tab walks between bindings, Enter opens the binding's detail panel, Delete clears a binding, and L arms MIDI learn — wiggle the gamepad input you want, then point your DAW at the binding to capture both sides.
Full shortcut matrix
Every shortcut, grouped by context. Print this and stick it on the monitor.
| Context | Shortcut | Action |
|---|---|---|
| Global | ⌘ / Ctrl + . | PANIC — all notes off, CCs reset |
| Global | ⌘ / Ctrl + K | Reload current preset from disk |
| Global | ⌘ / Ctrl + Shift + R | Restart MIDI engine |
| Global | ⌘ / Ctrl + Shift + B | Cycle controller (multi-controller mode) |
| Global | ⌘ / Ctrl + ] | Next preset (in cycle order) |
| Global | ⌘ / Ctrl + [ | Previous preset |
| Mapping editor | L | Arm MIDI learn |
| Mapping editor | D | Duplicate binding |
| Mapping editor | R | Reverse binding range |
| Mapping editor | I | Invert curve |
| Mapping editor | C | Open curve editor |
| Mapping editor | 1–9 | Quick-set MIDI channel |
| Visualise | F | Freeze trace |
| Visualise | G | Toggle grid |
| Visualise | + / - | Zoom time axis |
| Logs | ⌘ / Ctrl + F | Filter log lines |
| Logs | ⌘ / Ctrl + L | Clear log |
| Bluetooth | ⌘ / Ctrl + Shift + H | Force re-handshake |
| Haptics | T | Test trigger effect |
// Override any shortcut in ~/.../Universal Controller MIDI/shortcuts.json
{
"panic": "Cmd+.",
"next_preset": "F5",
"prev_preset": "F4",
"mapping.midi_learn": "Cmd+L"
} Real-world scenarios
- Stuck note mid-set. Bluetooth blip drops a NoteOff.
⌘ + .kills it instantly. No silence in the set, no audience notices. - Wrong preset loaded. Cmd-P → type three letters of the right preset → Enter. Two seconds, no mouse.
- Sound check. Cycle every preset with
⌘ + ]while the engineer rings out the room. No menu diving. - Multi-controller swap. Co-performer takes over.
⌘ + Shift + Bswaps to their pad's profile without touching the mapping editor. - Debug a flaky binding. Cmd-2 (Visualise) → press the offending input → see if the trace fires. If not, Cmd-1 (Mapping) → check the binding. Three keys, four seconds.
For headless / no-GUI control, see the CLI page.