Repository navigation
Connecting two computers
Both sides need the same secret key. It is created on the first start and
stored in the file netpad.key in the settings folder (see
part 7; the Netzwerk tab shows the path).
- On one computer click Schlüssel kopieren (copy key) in the Netzwerk tab.
- Get the text to the other computer (e.g. in a message to yourself), paste
it there into the field Schlüssel der anderen Seite hier einfügen
(paste the other side's key here) in the Netzwerk tab, then click
Übernehmen (apply). PadBridge checks it, saves it (the old one stays as
netpad.key.alt) and reconnects right away. - If the background service (part 6) also runs on this computer, restart it
afterwards:
systemctl --user restart padbridge.
Without a window it also works through the file, e.g. on Linux:
install -m 600 /dev/stdin ~/.config/padbridge/netpad.key
# paste the key, Enter, then Ctrl-DOn the Mac it is ~/Library/Application Support/PadBridge/netpad.key, on
Windows %APPDATA%\PadBridge\netpad.key.
In the Netzwerk tab:
- On the receiving side: under Empfangen (receive) switch on "Pads, MIDI und Tastatur/Maus einer Gegenstelle annehmen" (accept pads, MIDI and keyboard/mouse from a peer). The status shows "Bereit auf Port 48100" (ready on port 48100).
- On the computer with the pad: enter the peer's IP or host name and switch on "Gamepad an die Gegenstelle senden" (send game pad to the peer). The status turns green: "Verbunden … – Gegenstelle antwortet" (connected, peer answers), with the latency.
- Presets: + saves the current host under a name, e.g. "Desktop LAN" and "Desktop Tailscale". Clicking a preset switches the host, a right click deletes it.
- Rumble: "Spiele auf der Gegenstelle dürfen den Controller vibrieren lassen" (games on the peer may make the controller rumble) sends the game's rumble back to the pad in your hand.
- MIDI and keyboard/mouse over the network: pick the target "Netzwerk-Gegenstelle" in the respective tab. Everything runs over the same connection at once.
Both computers can send and receive at the same time.
On a Linux peer an Xbox 360 Controller appears; check it with evtest,
in the KDE system settings → Game Controller, or with wine control → Game
Controllers. On Windows (with ViGEmBus) Win+R → joy.cpl shows it. This
also applies to a PS4 controller in your hand: over the network the values
arrive in Xbox format, and games recognise the virtual Xbox pad without any
setup.
Open UDP 48100 only in the LAN or VPN and never to the internet. The
packets are signed, but not encrypted. Example with UFW (adjust the subnet;
ip -br a shows it):
sudo ufw allow from <lan-subnet>/24 to any port 48100 proto udp
sudo ufw allow in on tailscale0 to any port 48100 proto udp # if TailscaleThis is only needed on the receiving computer: sending works without a rule, and the firewall lets the peer's answers through. Ubuntu-based systems such as Zorin often have UFW switched on already (graphical: "gufw"). On Windows it is enough to allow "private networks" on the first start.
On the road the connection works the same over a VPN such as Tailscale: enter the peer's Tailscale address as host (best as a preset of its own).
In the Netzwerk tab switch on Status-Webseite (status page). PadBridge then shows the address, a QR code and a PIN. Scan the QR code with your phone: the page shows pads live (also the peer's), link and latency, virtual pads, MIDI devices and the log. "Add to Home Screen" in the browser turns it into an app. The page only shows things; nothing can be controlled through it.
- In the home network (private addresses such as 192.168.x.x, 10.x.x.x) it opens without a PIN.
- From outside, e.g. over Tailscale, it asks for the six-digit PIN from the Netzwerk tab; the browser remembers the login. Neue PIN (new PIN) signs out all browsers. After five wrong tries it waits 30 seconds.
- Port 48180 (TCP) must be open in the firewall, like 48100 only for the LAN or VPN. The page is unencrypted HTTP: never expose it to the internet with port forwarding.
If PadBridge runs as a service (part 6), the setting from the window applies to it too after restarting the service. That way the phone shows the state of a computer without a screen.
- In Moonlight, switch gamepad support off in the settings. Otherwise Sunshine adds a second pad. Picture, sound, mouse and keyboard keep going through Moonlight.
- For games the PadBridge pad is a perfectly normal local pad (xpad,
045e:028e). Steam, SDL, Wine and Proton pick it up without further settings.