Repository navigation
Windows
- Windows 10 or 11, 64-bit.
- An Xbox controller (360, One, Series or another XInput pad) or a PS4 controller (DualShock 4) over USB.
- For MIDI: loopMIDI by Tobias Erichsen (free). Windows cannot create virtual MIDI ports without a driver; loopMIDI does that.
Put padbridge-<version>-windows-x86_64.exe from the Releases into a folder
of its own, e.g. C:\PadBridge\, and double-click it. The program is not
signed: if Windows SmartScreen warns, click More info → Run anyway.
On the first start the Windows firewall asks: allow it for private
networks.
In loopMIDI, type the name at the bottom and click +:
| Port | Direction | Needed? |
|---|---|---|
PadBridge |
pads → DAW | yes, for MIDI |
PadBridge In |
DAW → PadBridge (e.g. MIDI clock for the LED ring) | only for clock |
PadBridge <device> |
a MIDI device of the peer, e.g. PadBridge Launch Control XL
|
only for that |
The names must match exactly. PadBridge looks for the ports when it starts, so start loopMIDI before PadBridge. A loopMIDI port echoes back everything that goes in, which is why the way back needs a port of its own.
For the PC to pass a peer's pads to games as a real Xbox 360 controller, it
needs the free driver ViGEmBus
(file ViGEmBus_…_x64_x86_arm64.exe). It is no longer developed, but the
last version works on Windows 10 and 11. Note: the "Oculus Virtual Gamepad
Emulation Bus" installed by the Meta Quest software is a different variant
and is not enough; the two coexist fine. Without the driver the log says
"ViGEmBus ist nicht installiert" (not installed); MIDI and keyboard/mouse
from the peer still work.
- Xbox controllers run through XInput. Windows drives the LED ring itself, so the LED buttons in the monitor are greyed out. Rumble works.
- PS4 controller: if it is still paired over Bluetooth with another computer, it stays dark on the cable. Disconnect it there first.
-
MIDI devices (Launch Control XL, MIDImix, …) can only be opened by one
program at a time on Windows. While PadBridge reads a device, the DAW does
not see it directly; it gets it through the
PadBridgeport. If another program holds the device (DAW, MadMapper), PadBridge takes it over as soon as it is released there. - Keyboard/mouse go out as scancodes, i.e. by key position as on Mac and Linux. They do not reach windows running as administrator unless PadBridge runs as administrator too.
- Virtual game pad for a peer through ViGEmBus (see above). It does not show up in the monitor as a controller of its own; the peer's pads appear there as "Pad n der Gegenstelle" (pad n of the peer).
The .exe is cross-built on a Mac or Linux machine and copied to the PC:
rustup target add x86_64-pc-windows-gnu
brew install mingw-w64 # Mac; on Linux the mingw-w64 package
cd PadBridge/rust
scripts/build-windows.sh # prints where the .exe isWithout mingw-w64 installed, build-windows.sh builds in Docker instead.
scripts/build-remote.sh <ssh-host> builds the Linux and Windows release
files on another machine with Docker.