Skip to content

Web Controller

hifihedgehog edited this page Mar 19, 2026 · 25 revisions

Web Controller

PadForge turns any device with a web browser into a game controller. Open the URL shown on the Dashboard from your phone, tablet, or another device on your network — it appears as a physical input device in PadForge, ready to assign to any virtual controller slot.

Useful when you need an extra controller, want your phone as a secondary input, or play on a touchscreen device connected to a larger display.


Web controller landing page

Setup

1. Enable the Server

  1. On the Dashboard, check the box in the Web Controller section.
  2. PadForge displays a URL (e.g., http://192.168.1.100:8080).

2. Open the URL

  1. On your phone, tablet, or other device, open any web browser.
  2. Navigate to the URL shown in PadForge.
  3. The landing page loads with two layout options.

3. Choose a Layout

Tap Xbox 360 or DualShock 4. Both produce identical input — the choice is purely visual.

4. Assign to a Slot

  1. The browser controller appears on the Devices page as "Web Controller 1" (or the next available number).
  2. Click the slot badge on the device card to assign it, exactly as with any physical controller.
  3. You are now playing.

Tip: Use your browser's "Add to Home Screen" option for fullscreen mode without the address bar and tabs.


Network Requirements

Your 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 10 simultaneous browser connections

Cannot reach the URL?

  • Confirm both devices share the same Wi-Fi network.
  • Check that your firewall allows port 8080.
  • Try a different port if 8080 is already in use.

Controller Layouts

Xbox 360

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.

DualShock 4

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 to PadForge. Switch layouts at any time by navigating back to the landing page.

Web controller in use


Touch Controls

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.

Connection and Latency

The web controller uses a WebSocket for low-latency, persistent two-way communication. Input updates send immediately on touch.

Status Meaning
Connected Active connection — input reaches PadForge
Disconnected Connection lost — tap the screen to reconnect

Latency: Expect 5–15 ms additional latency over home Wi-Fi compared to a wired controller. Sufficient 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 your device identity and slot assignments — no reassignment needed.


Rumble Feedback

PadForge forwards vibration commands to your browser device via the Vibration API. Works on phones and tablets with vibration motors. Chrome on Android has good support; Safari on iOS does not support it.


Requirements Summary

Requirement Details
Network PC and device on the same local network (Wi-Fi)
Port TCP 8080 (default), not blocked by firewall
Orientation Landscape required — a warning appears in portrait mode
Browser Any modern browser (Chrome, Safari, Firefox, Edge)
Touch Touchscreen recommended for analog stick and multi-touch support
Max clients 10 simultaneous browser connections

Related Pages

  • 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
  • 3D and 2D Visualization — The same PNG assets power both the web controller and the desktop 2D view

Clone this wiki locally