Configuring shortcuts
A shortcut binds a key combo to an action. Bindings are global and persistent — set them once and they work in every set. The easiest way to manage them is the built-in web UI.
The web UI
With Ableton running and the Protocol 0 control surface enabled (see Installation), open:
http://127.0.0.1:9000/shortcuts
The page is connected directly to Ableton. From there you can:
- Pick an action from the dropdown (the list is discovered from Live automatically).
- Click the key-capture box and press your combo — it's canonicalized for you.
- Fill any parameters the action needs (e.g. a device name).
- Save the binding — it takes effect immediately.
Combo format
Combos are written lowercase, modifiers first in a fixed order (ctrl, alt, shift, win), then the key, joined by +:
ctrl+alt+e
ctrl+shift+f5
alt+l
Allowed keys:
| Group | Keys |
|---|---|
| Letters | a–z |
| Digits | 0–9 (top row and numpad both map to the digit) |
| Function keys | f1–f12 |
Matching is by physical key position, not the character produced — so a binding behaves the same on QWERTY, AZERTY, or any other layout.
Modifiers
| Modifier | Key |
|---|---|
ctrl | Control (left or right) |
alt | Alt / Option (including AltGr on AZERTY) |
shift | Shift (left or right) |
win | Windows key (Command on macOS, when supported) |
Windows intercepts some Win combos (like Win+X) before any app sees them. For reliable combos, prefer Ctrl+Alt+<key>.
Where the config lives
All bindings are stored in a single JSON file, shared by the detector and the remote script:
%APPDATA%\Protocol0\shortcuts.json
The web UI writes it for you, but it's plain JSON if you want to inspect it. The shape is a versioned envelope:
{
"version": 1,
"bindings": [
{
"combo": "ctrl+alt+e",
"action": "load_device",
"params": { "name": "EQ Eight" }
},
{
"combo": "ctrl+alt+u",
"action": "load_device",
"params": { "name": "Utility" }
}
]
}
The UI writes the file atomically and validates as you go. If you hand-edit it, keep it valid JSON — a corrupted file is treated as "no shortcuts" rather than crashing, but your bindings won't fire.
Actions
Each binding triggers an action. Actions are discoverable — the web UI lists what's available and the parameters each one takes. The current built-in action is:
| Action | Params | What it does |
|---|---|---|
load_device | name (string) | Loads a device (instrument or audio effect) by name onto the selected track. |
More actions — track selection, playback, clip and scene control — are wired into the underlying HTTP API and will be added to the shortcut catalog over time.
When do shortcuts fire?
Shortcuts only trigger while Ableton is the foreground window. This is deliberate: it keeps Protocol 0 from stealing your key combos while you're working in other apps.