Whether you own an Xbox Series X controller, a PS5 DualSense, a PS4 DualShock, or a Switch Pro pad, the same bridge gets you to MIDI on both macOS and Windows. This guide covers the cross-platform gamepad to MIDI path end to end — driver behaviour on each OS, the differences between XInput and HID, the virtual MIDI port setup, and a working mapping for any DAW or VJ app.
- What you do: install Universal Controller MIDI, connect any modern gamepad, pick a preset, route into your host.
- What you need: a gamepad (Xbox/PS/Switch Pro), macOS 12+ or Windows 10+, the bridge.
- Time: 8 minutes start to finish.
- What's different per controller: Xbox has no touchpad or adaptive triggers; DualSense has both; DualShock has touchpad but no adaptive triggers; Switch Pro has neither.
Controller compatibility at a glance
| Controller | Buttons + sticks | Triggers | Touchpad | Adaptive haptics | Gyro |
|---|---|---|---|---|---|
| PS5 DualSense | Yes | Analog | Yes | Yes | Yes |
| PS5 DualSense Edge | Yes + paddles | Analog | Yes | Yes | Yes |
| PS4 DualShock | Yes | Analog | Yes | — | Yes |
| Xbox Series X|S | Yes | Analog | — | — | — |
| Xbox Elite Series 2 | Yes + paddles | Analog | — | — | — |
| Nintendo Switch Pro | Yes | Digital | — | — | Yes |
What you'll need
- Universal Controller MIDI v1.0+ (download)
- Any controller from the table above
- macOS 12+ or Windows 10+
- USB-C or micro-USB cable, or Bluetooth 5.0 capable laptop
macOS setup
1. Plug in or pair
All four controller families are recognised by macOS natively — no driver install required. For Bluetooth, hold the pair button (PS5 share + PS, Xbox sync, Switch sync) and add the device in System Settings → Bluetooth.
2. Enable the IAC Driver
Open Audio MIDI Setup (Cmd-Space → "Audio MIDI Setup"). Window → Show MIDI Studio. Double-click IAC Driver, tick Device is online, and add a port named UCMIDI Out.
# Confirm the IAC bus is online from the terminal
system_profiler SPMIDIDataType | grep -A 2 "IAC" 3. Launch the bridge
Open Universal Controller MIDI. The sidebar lists every connected gamepad. Pick yours, then pick a preset for your DAW (Ableton, Logic, Bitwig, Reaper) or VJ app (Resolume, TouchDesigner, VDMX).
Windows setup
1. Plug in over USB or pair via Bluetooth
Windows 10 and 11 recognise Xbox controllers as XInput devices automatically. DualSense and DualShock are recognised as native HID gamepads. Switch Pro is recognised as HID on Windows 11 and as DInput via the controller's Pro-mode on Windows 10.
2. Use the bundled virtual MIDI port
The bridge installs its own kernel-level virtual MIDI port on Windows. No loopMIDI, no Bome, no manual driver fiddling. The port appears in any DAW's MIDI input list as Universal Controller MIDI.
3. Verify with the PowerShell device check
{`# Confirm Windows sees the controller
Get-PnpDevice -Class HIDClass | Where-Object {
$_.FriendlyName -match "Wireless Controller|Xbox|Pro Controller"
}`} Pick a preset for your host
The bridge ships presets for the most common DAW + VJ hosts. Each one maps the controller's inputs in a way that matches the host's typical workflow.
| Host | Preset name | Coverage |
|---|---|---|
| Ableton Live | Ableton Live (default) | Transport, clip launch, macro CCs, touchpad XY (DualSense) |
| Resolume Arena | Resolume Arena (default) | Clip triggers, deck crossfade, effect rack, XY pad |
| Bitwig Studio | Bitwig Grid + Clip | Modulator CCs, scene launch, transport |
| Reaper | Reaper Mixer | Track arm, transport, send levels |
| TouchDesigner | TD Performer | Op flow control, XY pad, scene presets |
| VDMX | VDMX Live | Layer triggers, crossfade, effect intensity |
Default mapping (any controller)
The default mapping is consistent across controllers. Where an input does not exist on a given controller (Xbox has no touchpad, Switch Pro has digital triggers), the bridge simply does not emit those CCs.
| Input | MIDI | Notes |
|---|---|---|
| Face buttons (A/B/X/Y or Cross/Circle/Square/Triangle) | Notes 60, 62, 64, 65 | One per button |
| Shoulders (LB/L1, RB/R1) | Notes 67, 69 | Discrete |
| Triggers (LT/L2, RT/R2) | CC 1, CC 2 | Analog on Xbox/PS, digital on Switch Pro |
| Left stick X / Y | CC 3, CC 4 | 14-bit available in Pro |
| Right stick X / Y | CC 5, CC 6 | 14-bit available in Pro |
| Touchpad X / Y (DualSense, DualShock) | CC 16, CC 17 | Not emitted on Xbox / Switch Pro |
| D-pad up / right / down / left | Notes 78–81 | One note each, on press |
Pro tips and troubleshooting
- Xbox Bluetooth quirks. Xbox controllers tied to a console via the proprietary Xbox Wireless protocol do not pair as Bluetooth — you need an Xbox Wireless adapter or a USB cable on macOS.
- DualShock 4 on Windows. If the OS picks it up as a generic HID gamepad with weird axis ordering, the bridge has a DualShock 4 compatibility mode toggle that remaps axes to the standard DualSense layout.
- Switch Pro digital triggers. The Switch Pro's triggers are buttons, not analog axes — they emit
CC 1as a 0 / 127 toggle rather than a sweep. Plan your mappings accordingly. - Multiple controllers — separate ports. Connect two pads and the bridge exposes
UCMIDI 1,UCMIDI 2… as independent virtual ports. Each routes to its own DAW track. - Audio dropouts at high MIDI poll rate. Default poll rate is
250 Hz. If you hear glitches, drop to120 Hzin Settings — still smooth, lower CPU. - Bluetooth versus USB on stage. Always wired for paid gigs. Bluetooth is fine for the studio.
Cross-platform notes
Save the bridge's preset as a JSON file and it travels between Mac and Windows unchanged — same CC numbers, same channels, same calibration. If your show laptop runs Windows and your home machine runs macOS, this is the cleanest workflow. The MIDI specification is consistent across both platforms, so the bridge's output is 100% portable.
Whichever controller is closest to hand, it is also a MIDI controller. Universal Controller MIDI is one app, one license, every gamepad you own.