Skip to content

Button and Axis Mappings

hifihedgehog edited this page Mar 7, 2026 · 33 revisions

Button and Axis Mappings

The Mappings tab is where you tell PadForge which physical input on your controller should control which virtual output. Every button, axis, trigger, and D-Pad direction can be mapped individually.

Mappings


The Mapping Grid

The mapping grid shows one row per virtual output. Each row has:

Column Description
Output The virtual controller output (e.g., "A", "Left Stick X", "Right Trigger", "D-Pad Up")
Source The physical input currently assigned (e.g., "Button 0", "Axis 1", "POV 0 Up"), or blank if unmapped
Value The current live value of this mapping (useful for verifying inputs)
Record Click to start recording — then press a button or move an axis on your physical controller
Options "Inv" (Invert) and "Half" (Half-axis) checkboxes for axis mappings
Clear Remove the mapping from this row

Recording a Mapping

  1. Click the Record button on the row you want to map.
  2. The button changes to indicate recording mode.
  3. On your physical controller, press the button or move the axis you want to assign.
  4. PadForge auto-detects the input and fills in the source. Recording stops automatically.

PadForge detects:

  • Buttons — Any button press
  • Axes — Stick and trigger movements
  • POV / D-Pad — Directional pad inputs in all directions

Mouse axes: Mouse movement axes (X and Y) are detected instantly without requiring a sustained hold, since mouse movement is instantaneous by nature. Just move the mouse in the desired direction when recording.


Modifiers

Two modifier checkboxes appear in the Options column on axis mapping rows:

  • Inv (Invert) — Flips the axis direction. Useful when a physical axis reports values in the opposite direction from what the game expects.
  • Half (Half-axis) — Treats the axis as a half-range (0 to max) instead of full-range (-max to +max). Useful for mapping a trigger (which is half-axis) to a full stick axis, or vice versa.

Map All Wizard

The Map All button walks you through every mapping row one at a time:

  1. Click Map All.
  2. PadForge highlights the first row and starts recording.
  3. Press the corresponding button or move the corresponding axis on your controller.
  4. PadForge moves to the next row automatically.
  5. Repeat until all rows are done, or press Escape to stop early.

This is the fastest way to set up a controller from scratch.


Auto-Mapping

When PadForge detects a recognized gamepad (such as an Xbox controller, DualSense, DualShock 4, or Switch Pro Controller), it can automatically create a default mapping that matches the standard gamepad layout:

  • Axes: Left Stick X/Y, Left Trigger, Right Stick X/Y, Right Trigger
  • Buttons: A, B, X, Y, LB, RB, Back, Start, LS, RS, Guide

Auto-mapping is applied when a device is first assigned to a slot and PadForge recognizes it as a standard gamepad. You can always modify or override any auto-mapped input afterward.


Copy, Paste, and Copy From

The toolbar above the mapping grid provides bulk operations:

Button Action
Clear All Remove all mappings for the current device on this slot
Copy Copy the current mapping configuration to the clipboard
Paste Apply a previously copied mapping configuration
Copy From Opens a dialog to copy mappings from another virtual controller slot or another device

These are useful when you have multiple controllers of the same type and want to reuse the same mapping layout.


Custom DirectInput Mappings

When a slot is set to DirectInput with the Custom preset, the mapping grid dynamically adjusts to match your configured layout:

  • Sticks — Rows for each stick's X and Y axes, based on ThumbstickCount (0-4 sticks, each using 2 of the 8 available axes)
  • Triggers — Rows for each trigger axis, based on TriggerCount (0-4 triggers, each using 1 of the 8 available axes)
  • Buttons — Rows for each button, based on ButtonCount (0-128 buttons)
  • POVs — Rows for each POV hat's four directions (Up, Right, Down, Left), based on PovCount (0-4 POVs)

Sticks and triggers share a pool of 8 axes total. For example, 2 sticks (4 axes) + 2 triggers (2 axes) = 6 axes used of 8 available.

If you change the DirectInput configuration (add more buttons, remove a stick, etc.), the mapping grid rebuilds automatically to reflect the new layout.


Calibration-Aware Preview

The Value column shows the live calibrated value of each mapping, accounting for dead zone, center offset, and max range settings. This helps verify mappings work correctly with your chosen configuration before entering a game.

Display Consistency

When you record a mapping and toggle the Inv (Invert) checkbox, the inversion flag is synchronized atomically with the mapping descriptor, ensuring the display shows the correct state immediately.


Mapping Categories

Mappings are organized into categories for easy navigation:

  • Buttons — Face buttons, shoulder buttons, stick clicks, and system buttons
  • Axes — Thumbstick X/Y axes
  • Triggers — Left and right trigger axes
  • D-Pad — Directional pad (Up, Down, Left, Right)

Related Pages

Clone this wiki locally