Skip to content

Dashboard

PadForge's home screen. Engine status, virtual controllers, and every service PadForge runs beside them, on one page.

Dashboard overview showing engine status, virtual controllers, and services


Sections

Ten sections, stacked top to bottom: the engine and its slots, then a Services header, then the input services, the Motion Server, Game Mods, Game Telemetry, and the overlays.

Section Purpose
Input Engine Master power switch and live polling readout.
Virtual Controllers One card per slot, plus an Add card.
Web Controller Browser-based controller for phones, tablets, and other PCs.
Remote Link Share controllers with a paired PadForge on another PC.
Head Tracking A head pose from OpenTrack or from a VR headset as six mappable axes.
Motion Server DSU/Cemuhook gyro broadcasting for emulators.
Game Mods Adaptive triggers and lights set by game mods made for DSX.
Game Telemetry The speed, RPM, gear and pedals driving games send, as a device row and macro triggers.
Overlays On-screen indicators: the menu ring or grid, the shift layer flyout, and profile switch announcements.
Touchpad Overlay On-screen touch surface that drives a PlayStation slot's touchpad.

Disconnected controllers and a stopped engine surface here. Driver install status lives on the driver cards of the Settings page. See Driver Management.

The on/off toggles on this page ride the active profile, in two shapes. The Motion Server, Game Mods, Game Telemetry, Web Controller, and Touchpad Overlay toggles, the DSX.exe stand-in switch, the three Overlays checkboxes, the ports beside them, and Game Telemetry's game, forward port and Full Speed are stored in every profile and follow it on each switch. The custom telemetry formats are one list for every profile. The head-tracking UDP and FreeTrack toggles are stored as opinions: a profile records one only when you change the toggle while that profile is active, a profile with no opinion leaves the toggle alone on switch, and the global setting stands until some profile opines. Remote Link and Reconnect Automatically stay global: a link between two PCs is not a per-game setting. Enable OpenXR Headset Input stays global too, and so do the Web Controller's plain HTTP settings and access code, so no profile changes them. The plain address runs only while the Web Controller runs, so a profile that turns the Web Controller off closes both of its ports.


Input Engine

The engine card sits at the top with four elements in a row.

Element Description
Power flame Starts and stops the engine. The flame's look shows state (see below).
Status text "Forging", "Idle", "Stopping…", or "Stopped".
Polling frequency Live polling rate in Hz, e.g. 987.3 Hz. Dash when the engine is stopped or idle.
Device count Online vs. total, e.g. 2/3 devices online. Online means plugged in right now. Total includes remembered devices.

Power flame states

The power control is a flame. Its fill and glow show what the engine is doing.

State Look
Forging Ember (orange) flame with a glow. Running and processing input.
Idle Gold flame. The engine started, but no enabled slot has a connected device (a mapped device that is offline does not count once its grace period ends) and no paired PC is connected over Remote Link, so there's nothing to process.
Stopping Gold flame, flashing while it winds down.
Stopped Hollow flame outline in steel. No fill.

Tip: Auto-Start Engine on Launch in Settings, on by default, starts the engine when PadForge opens, so no power click is needed.


Virtual Controllers

Each virtual controller slot gets a card under the engine card.

Card layout

A virtual controller slot card showing the power flame, type track, device roster, status counts, and stage ledger

Element Location Description
Power flame Top-left Slot status, shown as a flame (see below). Click to enable or disable.
Slot number Next to the flame Global controller number (1, 2, 3, ...).
Type track Second row A recessed segmented strip of seven type icons: Xbox, PlayStation, Nintendo, Extended, Keyboard + Mouse, MIDI, VR. The active type is lit ember (steel on a card with nothing mapped). The others are dim. Click a dim icon to switch type. Two icons carry a dependency gate: when no MIDI API starts, the MIDI icon shows a no-entry cursor and "MIDI (not running, see the Windows MIDI Services card in Settings)", and with SteamVR missing the VR icon shows the same cursor and "VR (requires SteamVR)". The other five have no gate.
Per-type instance number After the type track Position within the type, e.g. #2 for the second Xbox slot.
Device roster Third row Every mapped device, each with a device-class icon, a Bluetooth icon on Bluetooth links, and a battery icon plus percent when the device reports it. Offline devices dim. Hover for the full untruncated list, one device per line. Shows "No device mapped" when the slot is empty.
Status text + counts Fourth row The slot state in words (see below), then 2 mapped, 1 connected.
Stage ledger Fifth row One small icon per pipeline stage the slot's devices have: sticks, triggers, gyro, lighting, touchpad, audio. An icon glows ember when that stage carries a non-default setup and stays steel when it is untouched. Hover a lit icon for a per-device readout.
Delete button (X) Upper-right Removes the slot. Appears on hover.

Slot status

The power flame and the status text both track the slot's state. Hovering the flame shows a short state tooltip (Disabled, Forging, Awaiting devices, Engine stopped, Virtual controller failed, Initializing). Cold and Idle have no tooltip of their own: a Cold slot shows "Awaiting devices" and an Idle slot shows "Forging".

Status text Flame Meaning
Forging Ember, with a glow Enabled, a device is connected, output is live.
Idle Ember, with a glow A mapped device dropped offline. The controller holds through the HIDMaestro inactivity grace period (default 60 s), so the flame stays the same as Forging until the timeout tears it down.
Awaiting devices Gold Enabled and mapped, but nothing is connected and the controller is down, or the engine is stopped.
Virtual controller failed Gold. Steel outline if nothing is mapped The slot's latest attempt to create its virtual controller failed. Outranks Awaiting devices. PadForge retries after you toggle the slot, switch its type or profile, or its devices drop offline and return. A MIDI slot also retries after the Windows MIDI service restarts, after the runtime is installed or uninstalled, when you pick another Output Port, and when its Output Port comes back.
Cold Steel outline Enabled with no devices mapped.
Initializing Flashing ember The controller is coming up.
Disabled Steel outline Turned off with the power flame.

Click anywhere on a card (except the power flame, the type track icons, or the delete button) to open the slot's configuration: Button and Axis Mappings, Stick Deadzones, Trigger Deadzones, Force Feedback, Adaptive Triggers, Lighting, and Macros.

Reordering slots

Drag a card by its body to reorder slots inside the same type group. Xbox, PlayStation, Nintendo, Extended, Keyboard + Mouse, MIDI, and VR each reorder on their own. Cross-type drops are ignored. The per-type instance number (the #2 on the second Xbox slot) updates as soon as you drop.

Same-profile reorders are a pointer swap. No kernel rebuild, no game disconnection. Different-profile reorders rebuild only the positions whose profile changed. See Controller Slots.

Add Controller

An Add Controller card sits at the bottom when at least one type still has room. Click it to pick a type. The card disappears when every type is at capacity. See Controller Slots for limits.


Web Controller

A browser-based controller you can open from any device on the same network.

Control Description
Enable Web Controller Server Starts and stops the web server.
Port HTTP/WebSocket port. Default 8080. Range 1024-65535.
Status indicator A flame beside the status text. Ember when running, steel outline when stopped. The text reads "Running on <url>" until clients connect, then "Running (<n> clients)".
QR code and address Shown while the server runs: a QR code to scan with a phone camera, and the address with a copy button.
HTTPS note Shown when the main address fell back to plain HTTP. It says why, and that phone motion is off.
Also Serve Plain HTTP A second address without HTTPS, behind an access code. Off by default. See Plain HTTP address.
Port (plain HTTP) The plain address's port. Default 8081. Range 1024-65535. It cannot be the main port.
This PC Only Admits only this PC on the plain address, for a tunnel or reverse proxy running here, and removes the plain port's firewall rule.
Access Code The code the plain address requires, read-only. New Code replaces it and disconnects everyone on the plain address.
Plain address status and link Where the plain address runs, or why it does not, with its own flame. Then the address with its code and a copy button, plus a QR code unless This PC Only is on.

See Web Controller for full details.


Shares controllers with a paired PadForge on another PC, on your network or across the internet. A device on one PC shows up as an ordinary input device on the other.

Control Description
Enable Remote Link Server Starts and stops listening for peers.
Reconnect Automatically Re-establishes known pairings when they come back online.
Port Link port with a reset button. Default 27500.
Status indicator A flame beside the status text: ember and "Listening on <port>" when running, steel outline when stopped.

Identity Protection

Sets how this PC stores its pairing identity. Secure: This PC Only keys it to the machine. The portable modes carry your pairings on a thumb drive between machines.

Paired PCs and Nearby PCs

Paired PCs lists your established pairings, each with rename, connect, revoke, an Allow Remote Assignment Changes box, and Assign Shared Devices while that PC is online, plus Revoke All. Nearby PCs (Not Paired) lists peers discovered on the network. Or Connect by Address (Advanced) reaches a peer by IP when discovery can't find it, or across the internet by the other PC's code. This PC's Code shows yours once Remote Link has found this PC's public address.

See Remote Link for full details.


Head Tracking

Reads a head pose from OpenTrack over its UDP output, from the FreeTrack 2.0 shared memory, or from a VR headset through an OpenXR runtime, and exposes it as six axes on a Head Tracker row on the Devices page. The three inputs are independent and can run together.

Control Description
Enable UDP Tracking Input Enables the UDP listener independently of FreeTrack.
Enable FreeTrack 2.0 Shared Memory Input Enables shared-memory input independently of UDP.
Enable OpenXR Headset Input Reads a VR headset's pose through an OpenXR runtime, with or without SteamVR.
OpenXR Runtime Which runtime to read from. System Default follows the machine's registered runtime. Changing this affects PadForge only and never the system default. Disabled while OpenXR input is off.
UDP Port The port OpenTrack's UDP over network output sends to. Default 4242. Disabled while UDP input is off.
Rotation Range (Degrees) Head rotation that moves yaw, pitch, and roll to full deflection. Default 90.
Translation Range (cm) Head travel that moves X, Y, and Z to full deflection. Default 30.
Per-Axis Range Overrides one axis on its own. Zero follows the range above. Rotation is in degrees, travel in centimeters. Each box shows the value you pinned, never the range it resolves to.
Set Neutral Makes your current head position the neutral. Applies to the OpenXR headset input only.
Status Stopped while every input is off or the engine is stopped. The UDP and FreeTrack lines include Waiting for a tracker on UDP port <port>., Receiving over UDP from <address>., Receiving from FreeTrack shared memory., Waiting for FreeTrack shared memory data., FreeTrack shared memory is unavailable., and UDP port <port> is in use by another program. The OpenXR lines are Starting the OpenXR session, Waiting for <runtime> to report a tracked pose, Reading <runtime>, No OpenXR runtime is installed, The OpenXR runtime reports no headset, This runtime cannot supply a background session, The OpenXR session failed. See the diagnostics log., or The OpenXR runtime ended the session. Turn OpenXR headset input off and back on to reconnect.

The UDP and FreeTrack toggles each carry their own authored profile opinion. The OpenXR toggle, the runtime choice, the port, the two ranges and the per-axis overrides remain global. FreeTrack-only input opens no UDP socket and shows shared-memory status without a UDP waiting message.

Turning on OpenXR headset input also brings up the two VR Controller rows on the Devices page. They stay idle until the runtime reports hand controllers.

See Head Tracking for the OpenTrack setup and VR Controller Input for the OpenXR side.


Motion Server

Broadcasts gyroscope and accelerometer data over UDP using the DSU/Cemuhook protocol. Cemu, Dolphin, Yuzu, and Ryujinx read it for motion controls like gyro aiming.

Control Description
Enable DSU Motion Server (CemuHook Motion Provider Protocol) Starts and stops the server.
Port UDP port. Default 26760. Change only on conflict. Range 1024-65535.
Status indicator A flame beside the status text. Ember when running, a steel outline when stopped.

The DSU protocol caps at 4 slots, so only the first 4 virtual controllers broadcast motion data.

See DSU Motion Server for full details.


Game Mods

Takes the trigger and light effects that game mods made for DSX send over UDP, and plays them on the DualSense, DualSense Edge and DualShock 4 controllers on your virtual controllers.

Control Description
Accept DSX Game Mods Starts and stops the server. Off by default. It listens only while the engine runs.
Port UDP port. Default 6969, the port DSX and the mods use. Range 1024-65535.
Run a DSX.exe Stand-In Runs a small program named DSX.exe while the server listens, for mods that stay silent unless a program by that name is running. Off by default.
Status indicator A flame beside the status text. Ember while listening, a steel outline when stopped. The text names the program sending and the virtual controller it reaches, or says another program holds the port.

While the server listens, PadForge writes its port to the files the mods read it from. See Game Mods for setup, which controller a mod drives, and how long its effects last.


Game Telemetry

Reads the telemetry driving games send over UDP, and Assetto Corsa's shared memory, onto the Game Telemetry row on the Devices page.

Control Description
Listen for Game Telemetry Opens the Game Telemetry row and its listener. Off by default. It listens only while the engine runs.
Game Auto-Detect, one entry per game family, then each custom format by name. Picking Project CARS 2 and Automobilista 2 sets the port to 5606, and the truck simulators set 49001.
Port UDP port. Default 20777, the port F1, the Codemasters games and EA SPORTS WRC use. Range 1024-65535.
Forward to Port Copies every packet to this port on 127.0.0.1, for another tool such as SimHub. 0 forwards nothing.
Full Speed (km/h) The speed that moves the row's Speed axis all the way. Default 300.
Custom Formats… Opens the window where you describe a game PadForge does not know, field by field.
Status indicator A flame beside the status text. Ember while the row is open, a steel outline when stopped or when another program holds the port. The text names the game and the address it sends from.

See Game Telemetry for each game's setup, the row's axes and buttons, the Custom Expression channels and the Adaptive Trigger Effect action.


Overlays

The on-screen indicators PadForge shows while you play. Turning one off never changes what the input does, only whether it is announced. Three checkboxes, all on by default.

Checkbox What it shows
Menu Overlay The on-screen ring or grid while a radial or touch menu is engaged. Menus still fire with the overlay off, so layouts you know by muscle memory can run without the picture. Per-menu position, size, and opacity live on each menu's own settings on the Menus tab.
Shift Layer Flyout A flyout with the engaged shift layer's name and color while any slot holds a non-Base layer, whichever page is open. When several slots hold one at once, the selected pad wins, then the lowest-numbered slot.
Profile Switch Overlay The new profile's name when a macro switches the active profile. Automatic per-app switches don't show it. They flare the profile pill in the status bar instead.

Touchpad Overlay

An on-screen, transparent touch surface you can pin to any monitor. Drives the touchpad on the assigned DualShock 4 or DualSense slot. Useful when no physical touchpad or phone is handy.

Control Description
Enable Touchpad Overlay Shows the transparent overlay window.
Opacity Slider plus percentage box, 0-100%, with a reset button.
Reset Position Recenters the overlay on its monitor.
Status indicator A flame: ember while the overlay is showing, steel outline when hidden.

The overlay tracks up to two finger contacts and feeds them to every slot its Touchpad Overlay device is assigned to on the Devices page. It needs the OS to report touch events: a mouse does not draw a finger on it. Three or more fingers on the overlay drag the window itself to a new spot, and so does a right-button mouse drag. A double tap with one finger, or a press on the bar along the bottom edge, clicks the touchpad.



Last updated for PadForge 5.2.0.