-
Notifications
You must be signed in to change notification settings - Fork 6
Dashboard
The Dashboard is PadForge's home screen. It shows engine status, virtual controllers, connected devices, and driver health at a glance.

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.
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. |
| 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.
Each Controller Slots appears as a card below the engine card.
| 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, DirectInput, 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. |
| 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.
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.
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.
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.
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. |
| ViGEmBus | Creates virtual Xbox 360 and DualShock 4 controllers. | You want Xbox or PlayStation output (most common). |
| vJoy | Creates custom DirectInput virtual joysticks. | Older DirectInput games, flight sims, or custom layouts. |
| 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.
- Installation: First-time setup guide
- Controller Slots: Add and manage virtual controllers
- Devices: View physical controllers and assign them to slots
- Settings: Configure the engine, appearance, and drivers
- Profiles: Per-application profile switching
- DSU Motion Server: Gyroscope streaming for emulators
- Web Controller: Browser-based virtual controller