Skip to content

Dashboard

hifihedgehog edited this page Apr 28, 2026 · 29 revisions

Dashboard

The Dashboard is PadForge's home screen. It shows engine status, virtual controllers, connected devices, and driver health at a glance.

Dashboard overview showing engine status, virtual controllers, and driver health


Sections

Five vertically stacked sections:

Section Purpose
Input Engine Master power switch and performance readout
Virtual Controllers One card per [[Controller Slots
Motion Server [[DSU Motion Server
Web Controller [[Web Controller
Drivers Installation status of optional [[Driver Management

Missing drivers, disconnected controllers, and stopped engines all surface here.


Input Engine

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

Element Description
Power button Starts/stops the engine. Color indicates state (see below).
Status text "Running", "Stopped", or "Idle".
Polling frequency Live polling rate in Hz (e.g., "987.3 Hz"). Dash when stopped.
Device count Online vs. total (e.g., "2 / 3 devices online"). "Online" = plugged in now. "Total" includes remembered devices.

Power button colors

Color Meaning
Green Running and processing input
Yellow Idle. Started but no slots exist yet
Red Stopped. Virtual controllers inactive (red circle indicator)

Tip: Enable "Auto-start engine on launch" in Settings to skip the manual power button click each time.


Virtual Controllers

Each Controller Slots appears as a card below the engine card.

Card layout

Element Location Description
Power icon Top-left Slot status color (see below). Click to enable/disable. Uses the same TypeSwitchButton style as the type icons.
Gamepad icon + slot number Next to power icon Global controller number (1, 2, 3, ...).
Type icons After separator bar Xbox, PlayStation, Extended, Keyboard+Mouse, MIDI. Uses a custom TypeSwitchButton style with dark gray rounded hover and transparent border. Active type is bright; others dimmed. Click a dimmed icon to switch type. Unavailable types (missing driver) show a no-entry cursor and a tooltip explaining the requirement; clicks are guarded in code-behind.
Per-type instance number After type icons Instance within the type (e.g., "2" for the second Xbox slot).
Device name Second row Primary mapped device, or "No device". Long names scroll.
Status text Third row, left "Active", "Idle", "No mapping", or "Disabled".
Mapped / Connected counts Third row, right E.g., "2 mapped, 1 connected".
Delete button (X) Upper-right Removes this slot entirely.

Power icon colors

Color Condition Tooltip
Green Enabled, at least one mapped device connected "Active"
Yellow Enabled but blocked (no devices, engine stopped, or driver missing) Shows reason
Flashing green Initializing "Initializing"
Red Manually disabled "Disabled"

Dashboard cards have visual parity with sidebar mini cards. Matching button sizes, spacing, and hover style.

Click anywhere on a card (except delete/power) to open that slot's configuration: Button and Axis Mappings, Stick Deadzones, Trigger Deadzones, Force Feedback, and Macros.

Drag a card by its body to reorder slots within the same type group. The Xbox, PlayStation, Extended, Keyboard+Mouse, and MIDI groups each reorder independently; cross-type drops are ignored. The per-type instance number (the "2" on the second Xbox slot) updates immediately on drop. When a reorder shifts an active VC past another active VC running a different HIDMaestro profile, the affected slots rebuild so the kernel re-allocates them in the new visual order; same-profile shuffles and reorders that don't change the active-VC profile sequence are zero-flicker. See Controller Slots#what-rebuilds-on-reorder.

Add Controller

An Add Controller card appears at the bottom when at least one type has remaining capacity. Click it to pick a type. See Controller Slots for limits and management.

Disappears when all types are at capacity.


Motion Server

Broadcasts gyroscope and accelerometer data over UDP using the DSU/Cemuhook protocol. Emulators like Cemu, Dolphin, and Ryujinx use this for motion controls (e.g., gyro aiming).

Control Description
Enable DSU motion server Starts/stops the server
Port UDP port (default: 26760). Change only for conflicts. Range: 1024-65535.
Status indicator Green dot when running, red dot when stopped (BoolToColorConverter returns red for false).

The DSU protocol caps at 4 slots. Only the first 4 virtual controllers broadcast motion data.

See DSU Motion Server for full details.


Web Controller

Browser-based controller accessible from any device on your local network.

Control Description
Enable web controller Starts/stops the web server
Port HTTP/WebSocket port (default: 8080). Range: 1024-65535.
Status indicator Green dot when running (shows a clickable local URL), red dot when stopped (BoolToColorConverter returns red for false).

See Web Controller for full details.


Drivers

Shows installation status of each optional driver: name on the left, status on the right.

Driver / Service Purpose When to install
HidHide Hides physical controllers from games (prevents double input). Games receive duplicate input.
HIDMaestro Creates virtual Xbox, PlayStation, and Extended (DirectInput) controllers from one user-mode driver. 225+ device profiles. Required for Xbox, PlayStation, or Extended slots. Replaces ViGEmBus and vJoy from v2.
Windows MIDI Services MIDI virtual controller output. Requires Windows 11 24H2+. Sending MIDI to DAWs, synths, or VJ tools.

Without a driver installed, its controller type icons are greyed out. Install or manage drivers from Settings.


Related Pages

Clone this wiki locally