-
Notifications
You must be signed in to change notification settings - Fork 2
Web Controller
Any device with a web browser becomes a game controller. Open the URL shown on the Dashboard from a phone, tablet, or another network device — it appears as a physical input device in PadForge, ready to assign to any virtual controller slot.
Useful for an extra controller, a phone as secondary input, or touchscreen play on a larger display.

- On the Dashboard, check the box in the Web Controller section.
- PadForge displays a URL (e.g.,
http://192.168.1.100:8080).
- On the phone, tablet, or other device, open any web browser.
- Navigate to the URL shown in PadForge.
- The landing page loads with two layout options.
Tap Xbox 360 or DualShock 4. Both produce identical input — the choice is purely visual.
- The browser controller appears on the Devices page as "Web Controller 1" (or next available number).
- Click the slot badge on the device card to assign it, same as any physical controller.
- Done — start playing.
Tip: Use your browser's "Add to Home Screen" option for fullscreen mode without the address bar and tabs.
Phone/tablet and PC must be on the same local network (typically the same Wi-Fi).
| Requirement | Details |
|---|---|
| Port | TCP 8080 (default), configurable on the Dashboard |
| Firewall | PadForge creates a Windows Firewall rule automatically. Third-party firewalls may need a manual TCP 8080 allow rule. |
| Max clients | 16 simultaneous browser connections |
Cannot reach the URL?
- Confirm both devices share the same Wi-Fi network.
- Check that the firewall allows port 8080.
- Try a different port if 8080 is already in use.
Full layout: A/B/X/Y, LB/RB, Back/Start/Guide, 8-way D-pad, dual analog sticks with L3/R3 click, LT/RT triggers.
Full layout: Cross/Circle/Square/Triangle, L1/R1, Share/Options/PS, 8-way D-pad, dual analog sticks with L3/R3 click, L2/R2 triggers.
Both layouts send identical button and axis codes. Switch layouts at any time by navigating back to the landing page.

| Control | Behavior |
|---|---|
| Buttons | Tap to press. Touch zones are larger than visible art for easier targeting on small screens. |
| Analog sticks | Drag within the stick zone to move. Release to re-center. Stick click (L3/R3): tap and release within 200 ms with minimal movement. |
| D-pad | Touch and drag to select a direction. Supports all 8 directions (cardinal + diagonal). |
| Triggers | Tap to send a full press. Release to return to zero. |
The web controller uses a WebSocket for low-latency, persistent two-way communication. Input updates send immediately on touch events.
| Status | Meaning |
|---|---|
| Connected | Active connection — input reaches PadForge |
| Disconnected | Connection lost — tap to reconnect |
Latency: Expect 5-15 ms additional latency over home Wi-Fi compared to a wired controller. Fine for casual, puzzle, and platform games. Fast-paced competitive play may feel slightly less responsive.
Reconnection: Each browser tab keeps a persistent pad ID. Briefly losing connection (e.g., phone screen lock) preserves device identity and slot assignments — no reassignment needed.
PadForge forwards vibration commands to the browser via the Vibration API. Works on phones and tablets with vibration motors. Chrome on Android has good support; Safari on iOS does not.
| Requirement | Details |
|---|---|
| Network | PC and device on the same local network (Wi-Fi) |
| Port | TCP 8080 (default), not blocked by firewall |
| Orientation | Landscape required (warning appears in portrait) |
| Browser | Any modern browser (Chrome, Safari, Firefox, Edge) |
| Touch | Touchscreen recommended for analog stick and multi-touch support |
| Max clients | 16 simultaneous browser connections |
- Dashboard — Enable and configure the web controller server
- Devices — See your web controller and assign it to a slot
- Controller Slots — Create a virtual controller to use with the web controller
- Settings — Configure the web controller port
- Troubleshooting — Help with connection issues
- 3D and 2D Visualization — The same PNG assets power both the web controller and the desktop 2D view