Universal Controller MIDI
Blog MadMapper 8 min read

MadMapper PS5 Controller Projection Mapping Control

Bridge a PS5 DualSense into MadMapper as a MIDI controller. Surface nudging, cue triggers, FX XY pad — projection mapping driven by a gamepad.

By Aidxn Design

Projection mapping is a job for two hands and ten thumbs. You are dragging quad corners, nudging surface positions one pixel at a time, and switching between cues while a client paces behind you. MadMapper's MIDI input layer is excellent and underused. Pair it with a DualSense and you get a MadMapper PS5 controller rig that does the corner-nudging, cue-launching, FX-pad work without you ever lifting a hand to a trackpad.

TL;DR
  • What you do: bridge the gamepad to virtual MIDI, enable the input in MadMapper Preferences, right-click controls to assign.
  • What you need: DualSense, MadMapper 5+, macOS 12+ or Windows 10+, Universal Controller MIDI v1.0+.
  • Time: 8 minutes from cold install to a stick nudging a surface.
  • Bonus: trigger haptics for cue transitions if you wire output feedback.

Why a gamepad for MadMapper

On site for a projection install you don't have desk space, you don't have time, and the client wants to see one more dry run before doors. A DualSense gives you two analog sticks for surface nudging, two triggers for opacity, four face buttons for cue jumps, and a touchpad XY for FX. That is more useful real estate than a generic MIDI fader bank, and it fits in one hand. Universal Controller MIDI publishes the controller as a virtual MIDI port MadMapper sees as any other hardware controller.

What you'll need

  • Universal Controller MIDI v1.0+ (download)
  • MadMapper 5+ (madmapper.com)
  • PS5 DualSense — USB-C for live use
  • macOS 12+ or Windows 10+

Setup

1. Bridge the controller

Launch the bridge, plug the DualSense in. macOS: open Audio MIDI Setup → MIDI Studio → IAC Driver → Device is online. Windows: nothing to do, the bridge ships a virtual port. The bridge status pill reads UCMIDI port online.

2. Enable the MIDI input in MadMapper

Open MadMapper. Go to MadMapper → Preferences → Controls → MIDI. Tick Universal Controller MIDI in the input list. You should see incoming activity in MadMapper's MIDI monitor when you wiggle sticks.

3. Assign MIDI to surface parameters

Select a surface. In the right-hand inspector, right-click any numeric parameter — Position X, Position Y, Rotation, Opacity, Scale. Pick Assign MIDI. Wiggle the input. MadMapper captures the binding. The mapping shows up in Window → MIDI Map List.

4. Use Min/Max to bound nudging

Right-click the binding, set MIDI Min and MIDI Max to a small range around the surface's current position. Sticks now nudge inside that range instead of sweeping across the whole canvas. Critical for live show-time corrections.

Mapping ideas

  • Left stick → surface position nudge. X and Y on CC 3/4 with a tight Min/Max around the home position.
  • Right stick → rotation and scale. X on CC 5 for rotation, Y on CC 6 for scale. Tweak surfaces without ever touching the mouse.
  • Face buttons → cue triggers. Cross/Circle/Square/Triangle fire cues 1–4 in the Cues panel.
  • L2 / R2 → master opacity. CC 1/2 fade entire layers or output groups.
  • Touchpad → FX XY pad. Bind CC 16/17 into a 2D FX parameter for a Kaoss-style FX sweep.
  • D-pad → corner pin selection. Step through which corner of a surface you are editing.

Performance tips

  • Lock sticks to nudge mode with Min/Max. Sticks across the full canvas is too coarse. A ±20 px range per binding gives you sub-pixel control with the analog resolution of a stick.
  • 14-bit CCs for smooth opacity ramps. Enable Settings → 14-bit CC in the bridge and ramp opacity from 0 to 1 over 2 seconds without stairstep artefacts.
  • Use Cues for show flow. Live nudging is for setup; once you are on the show clock, fire pre-built Cues with face buttons.
  • USB-C for installs. Bluetooth can drop when there is a load-in crew with phones nearby. Wire it.

Gotchas

  • MadMapper doesn't see the port. MIDI sources are enumerated on launch. Run the bridge first.
  • Sticks centre at 0.5 even at rest. Bridge default deadzone is 0.08. Open Settings → Sticks → Deadzone and bump to 0.12 for older controllers with stick drift.
  • Surface jumps when you assign MIDI. The first incoming CC value snaps the parameter. Either set Pickup mode in MadMapper's binding settings, or wiggle the stick across the full range before going live.
  • Touchpad releases reset to centre. Bridge Touchpad → Hold last value set to On keeps the last value when your finger lifts.

Wrap

Projection mapping is twitchy work and a gamepad is the right shape for twitchy work. MadMapper's MIDI layer is mature enough that this binds in eight minutes and lasts an entire install. Pair the gamepad with the adaptive trigger feedback guide if you want the trigger to nudge you when a cue fires. Full MadMapper docs are at the MadMapper learn page.

Save the trackpad-callus and try Universal Controller MIDI. Free tier covers the basics, Pro unlocks the full preset library.

Keep reading

More setup walkthroughs