Skip to content

Devices

hifihedgehog edited this page Mar 15, 2026 · 34 revisions

Devices

The Devices page shows every physical input device PadForge has detected. From here you can see device details, view raw input state in real time, and assign devices to virtual controller slots.

Devices


Device List

The left side of the page shows a card for each detected device. Each card displays:

Element Description
Status dot Green = connected and online, gray = previously seen but currently disconnected
Device name The name reported by the device (e.g., "Xbox Wireless Controller", "DualSense Wireless Controller")
VID/PID Vendor ID and Product ID for identification
Type Device type (Gamepad, Joystick, Keyboard, Mouse, etc.)
Capabilities Icons or labels showing what the device supports (rumble, motion sensors, etc.)
Slot badges Small numbered badges showing which virtual controller slots this device is assigned to

Selection

Click a device card to select it. The selected card is highlighted with an accent bar on its left edge. Selecting a device shows its raw input state on the right side of the page.


Device Detail Pane

When a device is selected, the top of the right panel shows identifying information for the device:

Field Description
GUID The device instance GUID. Uses a ticker marquee animation to scroll the text if it overflows the available width.
Instance Path The HidHide device instance path. Only shown when available (devices that support HidHide). Also uses ticker marquee scrolling for long paths.

Both fields use a marquee-style scrolling animation so the full value is always readable even when the panel is narrow.


Raw Input State

When a device is selected, the right panel shows its real-time input state. This is the unprocessed data coming directly from the hardware, before any mappings or dead zones are applied.

Axes

Each axis is shown as a progress bar with its current value (normalized 0 to 1). Common axes include:

  • Left Stick X / Y
  • Right Stick X / Y
  • Left Trigger / Right Trigger
  • Additional axes for specialty controllers

Buttons

Buttons are displayed as a grid of circles in a wrap panel. When a button is pressed, its circle fills with the accent color. Each button is labeled with its index number.

POV / D-Pad

POV hats are shown as a compass widget. A directional indicator rotates to show the current POV direction (N, NE, E, SE, S, SW, W, NW). When the POV is centered (no direction pressed), the indicator disappears.

Gyroscope and Accelerometer

For devices with motion sensors (like DualSense, DualShock 4, or Switch Pro Controller), a grid shows real-time gyro and accelerometer values for all three axes (X, Y, Z).

Keyboard Devices

When a keyboard device is selected, the raw input display shows a visual keyboard layout with keys that light up in real time as they are pressed.


Input Hiding

When a physical device is assigned to a virtual controller slot, games may see both the physical and virtual controller — causing double input. PadForge provides two mechanisms to prevent this, configurable per device from the detail panel.

Hide from Games (HidHide)

Uses the HidHide driver to completely hide the physical device from all non-whitelisted applications. PadForge automatically whitelists itself so it can still read the device.

  • Best for: Gamepads, joysticks, wheels, flight sticks
  • Requires: HidHide driver installed (toggle is grayed out otherwise with a tooltip explaining why)
  • Scope: Entire device is hidden from games — all inputs are invisible, not just mapped ones

Consume Mapped Inputs (Hooks)

Intercepts and suppresses only the specific keys or mouse buttons that are actively mapped. Unmapped inputs pass through to other applications normally.

  • Best for: Keyboards and mice (only shown for these device types)
  • Requires: Nothing — no driver needed
  • Scope: Only mapped keys/buttons are suppressed; everything else works normally

Auto-Enable Defaults

When you assign a device to a slot, PadForge automatically enables the appropriate hiding mechanism:

Device Type "Hide from games" "Consume mapped inputs"
Gamepad / Joystick / Wheel / Flight Stick Auto-ON (if HidHide installed) N/A (not shown)
Keyboard OFF OFF
Mouse OFF OFF

Keyboards and mice do not auto-enable any hiding, because accidentally consuming critical inputs (mouse clicks, movement, or essential keys) can lock you out of controlling your computer.

When a device is removed from all slots, both toggles are automatically cleared.

Safety Warnings

When you manually enable Hide from games (HidHide) or Consume mapped inputs on a keyboard or mouse device, PadForge shows a confirmation warning:

  • HidHide on a keyboard or mouse: Warns that the entire device will be hidden from all applications, which means you will lose the ability to type or use your mouse outside of PadForge. This is especially dangerous on merged device entries (e.g., "All Mice (Merged)") because it affects every connected mouse or keyboard at once.
  • Consume mapped inputs on a keyboard or mouse: Warns that any mapped critical inputs (such as left/right click, mouse movement, or commonly used keys) may become unavailable to the rest of Windows while PadForge is running.

You can cancel the warning to revert the toggle.

Master Switch

A global "Hide devices from games" toggle in Settings (under Input Engine) acts as a master switch. When OFF, no hiding or input suppression occurs regardless of per-device toggles. When turned back ON, all per-device settings resume.


Force Raw Joystick Mode

Some gamepads have incorrect SDL3 gamepad remapping — buttons map to wrong outputs, some inputs are swallowed, and rumble may not work. This typically happens when SDL3's built-in controller database has a wrong mapping for a device's HID report layout (for example, DualShock 3 with DsHidMini).

When Force Raw Joystick Mode is enabled for a device, PadForge bypasses SDL3's gamepad remapping layer and reads the raw joystick axis and button indices directly — the same raw values you see in Windows Game Controllers (joy.cpl). This means auto-mapping is not available (you must record each mapping manually), but all inputs will be read correctly.

When to Use

  • Buttons map to wrong outputs or some buttons produce no input
  • A device works correctly in joy.cpl but not in PadForge
  • SDL3 recognizes your device as a "gamepad" but the mapping is wrong

How to Enable

The Input Mode section appears in the device detail panel for gamepad-type devices. Toggle Force raw joystick mode to bypass SDL3's gamepad remapping. This setting is saved per-device.

Note: The Input Mode section is only shown for devices that SDL3 recognizes as gamepads. Devices already operating in raw joystick mode (flight sticks, wheels, etc.) do not show this toggle since they are already reading raw indices.


Assigning Devices to Slots

There are two ways to assign a physical device to a virtual controller slot:

Toggle Buttons

Each device card shows toggle buttons for available virtual controller slots. Click a slot's toggle button to assign or unassign that device from the slot. A device can be assigned to multiple slots at the same time.

Drag and Drop

You can also drag a device card from the Devices page and drop it onto a controller slot in the sidebar. This assigns the device to that slot.


Multi-Slot Assignment

A single physical device can be mapped to multiple virtual controller slots simultaneously. This is useful for scenarios like:

  • Using one controller to drive both an Xbox 360 and a vJoy virtual controller at the same time
  • Mapping different button subsets from the same device to different virtual outputs
  • Testing multiple configurations without switching devices

Device Detection

PadForge uses SDL3 to enumerate and read all connected input devices. Devices are detected automatically when connected. If a device is unplugged, its card remains in the list (shown as offline/gray) so your mappings and assignments are preserved when you reconnect it.


Stick Calibration

Some controllers have natural center drift — the stick rests slightly off-center even when not being touched. PadForge provides per-stick calibration to compensate:

Center Offset

The center offset setting adjusts the stick's resting position so that the dead zone is centered on the actual hardware center rather than the theoretical center. To calibrate:

  1. Go to the Sticks tab on a controller's configuration page
  2. Click Calibrate Center while the stick is at rest (not touching it)
  3. PadForge samples the hardware values for ~0.5 seconds and calculates the offset

The center offset is applied before dead zone processing, so your dead zone circle stays centered on the actual rest position.

Max Range

The Max Range setting (0-100%) for each axis controls the maximum physical travel that maps to full output. If your stick cannot physically reach the corners (common with some controllers), reducing max range ensures you can still reach 100% output without having to push the stick beyond its physical limit.


Tips

  • Check raw input first if a mapping is not working as expected. The raw state view shows exactly what PadForge is receiving from the device.
  • Use slot badges on device cards to quickly see which devices are assigned where.
  • Reconnecting a device restores its previous slot assignments and mappings automatically.
  • Specialty controllers (flight sticks, racing wheels, etc.) may show more axes than a standard gamepad.

Related Pages

Clone this wiki locally