Mapping & customization
Map the touchpad to XY
Use the DualSense touchpad as an XY MIDI pad. One finger drives two CCs simultaneously — filter cutoff on X, resonance on Y.
Updated
The touchpad-as-XY-pad turns the DualSense's glassy strip into a Kaoss-pad-style controller. One finger position spits out two CC streams at once — perfect for filter cutoff × resonance, or pan × delay mix. It's the single most expressive surface on the controller, and it's wasted as a click button.
If you've ever seen a Korg Kaoss Pad demo and wanted that feeling without buying one, this is the binding. Roland's old D-Beam, the Haken Continuum, and every "Kaossilator"-style toy share the same trick: two-dimensional position → two CCs → instant texture.
What you need
A DualSense or DualShock 4 controller (the touchpad is what we're after). Xbox pads don't have one — they get a stick-based XY equivalent instead. If you want the Kaoss two-finger style with independent fingers, see two-finger touchpad mode.
Open the editor and select the touchpad
On the Mapping tab, click the touchpad rectangle in the diagram. The panel splits into x (horizontal) and y (vertical) axes — same UI as the analog sticks, because under the hood they behave the same way.
Bind X and Y to separate CCs
The classic Kaoss combo is filter cutoff on X and resonance on Y. CC 74 is the GM2 standard for cutoff; CC 71 is resonance.
{
"touchpad": {
"mode": "xy",
"x": { "type": "cc", "cc": 74, "channel": 1, "range": [0, 127] },
"y": { "type": "cc", "cc": 71, "channel": 1, "range": [0, 127], "invert": true },
"onTouchStart": { "type": "note", "note": 60, "channel": 2, "velocity": 100 },
"onTouchEnd": { "type": "note", "note": 60, "channel": 2, "velocity": 0 }
}
} Touchpad coordinate reference
Knowing where the corners land helps when you're tuning ranges:
| Position | Raw X | Raw Y | CC value (with invert Y) |
|---|---|---|---|
| Top-left | 0 | 0 | X=0, Y=127 |
| Top-right | 1919 | 0 | X=127, Y=127 |
| Centre | 959 | 540 | X=64, Y=64 |
| Bottom-left | 0 | 1079 | X=0, Y=0 |
| Bottom-right | 1919 | 1079 | X=127, Y=0 |
The DualSense reports 1920×1080 raw resolution (yes, same as 1080p — the chip was repurposed). The bridge divides that down to 0–127 for MIDI.
Sample-and-hold on release
By default, the bridge freezes the last X/Y values when your finger lifts — so the filter doesn't snap back to wherever the touchpad reads as "rest". If you want a snap-back to centre, toggle snapBack: true in the binding.
{
"touchpad": {
"mode": "xy",
"x": { "type": "cc", "cc": 74, "channel": 1 },
"y": { "type": "cc", "cc": 71, "channel": 1, "invert": true },
"snapBack": true,
"snapBackTo": [64, 64],
"snapBackMs": 200
}
} The snapBackMs field controls the ease — 0 for an instant jump, 500 for a slow fall-off. 200 ms feels musical.
Common scenarios
Patches that show off the surface:
- Kaoss filter: X = CC 74 cutoff, Y = CC 71 resonance, with
onTouchStartfiring a held note. Lift = silence. Move = sweep. The default starter. - Reverb pad: X = CC 91 reverb send, Y = CC 93 chorus send. Drag a sustained pad note around to morph the ambience.
- Pan + delay mix: X = CC 10 pan, Y = CC 95 (delay send on most plugins). Choreograph a stereo bounce with one finger.
- Pitch bend + mod: X = pitch-bend (
type: "pitch"), Y = CC 1 mod. Closest you'll get to a Theremin without buying one. - Macros on a Push-style pad: X = Macro 1, Y = Macro 2 on an Ableton rack. Two finger positions = a whole sound design dimension.
Save and test
Save, drag a finger across the pad, watch the MIDI monitor stream two CCs in lockstep. If only one axis fires, the binding for the other axis is probably set to none — re-check both.
What's next
Want each finger to drive its own pair of CCs? See two-finger touchpad mode. Otherwise, save this as a preset via save and load presets.