Play. Record. Loop.
From across the room.
A game controller as a transport remote and MIDI controller
Start, stop and record from your instrument or the couch. Import a Logic Pro or Ableton Live profile, then send real MIDI CC from analog triggers.
Profiles on this page: Logic Pro · Ableton Live.
Logic Pro bindings shown above
- Transport anywherePlay, record, loop and markers.
- Trigger MIDI CCAnalog triggers become expression faders.
- A profile per DAWSwitches with the front app.
Logic Pro.
Hands on the instrument.
Transport, takes, cycle, metronome and track selection. Hold the left bumper or left trigger for an extra set of chords.
| Controller input | Action | Mac shortcut |
|---|---|---|
| A / cross | Play / Stop | Space |
| B / circle | RecordDouble-tap: Capture Last Take ⇧ R | R |
| X / square | UndoHold: Redo ⇧⌘ Z | ⌘ Z |
| Y / triangle | Toggle Cycle / Loop | C |
| Right bumper (RB / R1) | MetronomeDouble-tap: Count-in ⇧ K | K |
| Right trigger (RT / R2) | Go to BeginningHold: Set Locators ⌘ U | Return |
| D-pad up | Select Track Above | ↑ |
| D-pad down | Select Track Below | ↓ |
| D-pad left | Rewind 1 Bar | , |
| D-pad right | Forward 1 Bar | . |
| Menu / Options | Mute TrackHold: Solo Track S | M |
| View / Create | Create Marker | ⌥ ' |
| Share | Bounce / Export | ⌘ B |
| Left stick click | Left Click | Mouse click |
| Right stick click | Right Click | Mouse right-click |
10 button chords included
- LT + A Go to Beginning (Return)
- LT + B Capture Last Take (Shift+R)
- LT + X Redo (Cmd+Shift+Z)
- LT + Y Set Locators (Cmd+U)
- LB + ← Previous Marker (Opt+,)
- LB + → Next Marker (Opt+.)
- LB + ↑ Zoom In (Cmd+Right)
- LB + ↓ Zoom Out (Cmd+Left)
Labels vary by controller; match the button shown in ControllerKeys. Download Logic Pro profile · Inspect it on GitHub.
Ableton Live.
Launch and navigate.
Launch clips and scenes, step through tracks and scenes on the bumpers and triggers, and mute or solo without reaching for the mouse.
| Controller input | Action | Mac shortcut |
|---|---|---|
| A / cross | Play / StopDouble-tap: Continue Play ⇧ Space | Space |
| B / circle | Record | F9 |
| X / square | Mute TrackHold: Solo Track S | M |
| Y / triangle | Launch Clip / SceneHold: Deactivate Clip 0 | Return |
| Left bumper (LB / L1) | Previous Track | ↑ |
| Right bumper (RB / R1) | Next Track | ↓ |
| Left trigger (LT / L2) | Previous Scene | ← |
| Right trigger (RT / R2) | Next Scene | → |
| D-pad up | Zoom In | ⌘ = |
| D-pad down | Zoom Out | ⌘ - |
| D-pad left | Toggle Loop | ⌘ L |
| D-pad right | Switch View | Tab |
| Menu / Options | UndoHold: Redo ⇧⌘ Z | ⌘ Z |
| View / Create | Delete Selected | Delete |
| Share | Duplicate | ⌘ D |
| Left stick click | Split Clip | ⌘ E |
| Right stick click | Media Play / Pause | Play/Pause media key |
Labels vary by controller; match the button shown in ControllerKeys. Download Ableton Live profile · Inspect it on GitHub.
Triggers as
MIDI faders.
Under Hardware → Triggers → Continuous Trigger MIDI, ControllerKeys maps trigger travel to a MIDI channel and CC number, with range, inversion and deadzone controls. Output comes from a ControllerKeys virtual MIDI source that your DAW can learn like any other controller.
- Expression, filter or volume. Pick a CC and learn it in your DAW.
- Preview before you play. A muted preview and live meters help you check the range.
- Safe on disconnect. Output returns to its neutral value on pause, disconnect or profile change.
- Logic Pro walkthrough. Built into the app’s setup.
Import it.
Make it yours.
Open a scratch project with a couple of tracks. Test transport and record before a real session.
- Connect and complete onboarding.
Pair your controller with your Mac, open ControllerKeys and grant the requested Accessibility permission.
- Import a profile.
Download: Logic Pro
logic-pro.json· Ableton Liveableton-live.json.In ControllerKeys, click + beside Profiles, choose Import Profile… and select the file. The same layouts are also available through Import Community Profile….
- Check the linked app.
Right-click the imported profile, choose Linked Apps… and confirm your installed app is selected. Bring that app forward and the profile switches automatically.
- Test, then remap.
Press A/cross to play and stop, then try record, loop and track selection. To change a binding, open it, choose Key and press the shortcut you want.
Using a different app?
Tell me.
ControllerKeys is made by Kevin Tang, an indie developer. Many of these profiles started as a single email from someone describing their setup. If your app or workflow isn’t here yet, email me what you’d like to control or use Send Feedback in the app’s settings.
Before you connect.
Does this replace a MIDI keyboard?
No. It’s a remote for transport, editing shortcuts and MIDI CC. Play notes on your instrument and use the controller for everything around it.
Can the triggers send MIDI to apps other than Logic?
Continuous Trigger MIDI appears as a virtual MIDI source on your Mac, so any app that accepts MIDI CC input can learn it.
Does it work with other DAWs or notation apps?
If the app has keyboard shortcuts, you can map them. Start from either profile and change the bindings, or build a new profile for your app.
Will a wireless controller add latency?
Shortcuts and CC go out as soon as the input arrives. For the lowest latency, use a wired connection; see the latency guide.
Try your next session
with a controller.
Use the 14-day trial to try your controller with your own projects. Keep ControllerKeys for a one-time $19.99 purchase.