Skip to content

Button and Axis Mappings

hifihedgehog edited this page Mar 19, 2026 · 33 revisions

Button and Axis Mappings

The Mappings tab defines which physical input controls which virtual output. Every button, axis, trigger, and D-Pad direction can be mapped individually.

Mappings


The Mapping Grid

The grid shows one row per virtual output with these columns:

Column Description
Output The virtual controller output this row controls (e.g., "A", "Left Stick X", "D-Pad Up"). This is what the game sees.
Source Dropdown listing all physical inputs from the selected device. Pick manually or use Record to auto-detect.
Value Live value of this mapping, updated in real time for verification.
Record Enter recording mode — press a button or move an axis on your controller and PadForge fills in Source automatically.
Clear Removes the mapping, leaving the output unmapped.
Options "Inv" (Invert) and "Half" (Half-axis) checkboxes for axis mappings. See Modifiers.

The Source Dropdown

The Source column lists every physical input available on the selected device. This is the manual alternative to recording.

What the dropdown shows

  • Recognized gamepads (Xbox, DualSense, DualShock 4, Switch Pro, etc.) — Friendly names: "A", "B", "Left Stick X", "Right Trigger", etc.
  • Raw/unrecognized devices (generic joysticks, racing wheels, flight sticks, Force Raw mode) — Numbered names: "Button 0", "Axis 0", "POV 0 Up", etc.

Selecting an input assigns it immediately — same result as recording. The blank entry at the top clears the mapping.

Dropdown vs. recording

Use the dropdown when... Use recording when...
You know the exact input you want (e.g., "Axis 3") Setting up a new controller and want the fastest workflow
Recording detects the wrong input You want to press each button in turn
The input is hard to isolate physically (e.g., a specific D-Pad direction)

Recording a Mapping

Recording is the fastest way to assign a physical input to a virtual output:

  1. Click Record on the target row.
  2. The button changes to "Recording..." and the row pulses blue.
  3. Press the button or move the axis on your physical controller.
  4. PadForge detects the input, fills in Source, and stops recording automatically.

What PadForge detects

  • Buttons — First button that transitions from released to pressed.
  • Axes — Stick and trigger movements past a detection threshold from rest.
  • POV / D-Pad — All four cardinal directions and diagonals.
  • Mouse axes — Mouse X/Y movement detected instantly. No sustained hold required.

Tips for clean recording

  • Move only the intended input. Wiggling a stick while pressing a button may capture the stick instead.
  • Push sticks firmly — a gentle nudge may not cross the detection threshold.
  • Pull triggers far enough to distinguish from drift.

Map All Wizard

Map All walks through every row sequentially — the fastest way to set up a controller from scratch.

  1. Click Map All (available on both the Controller tab and Mappings tab toolbar).
  2. PadForge highlights the first unmapped row and begins recording.
  3. A blue prompt shows which output it expects (e.g., "Press A").
  4. Press the corresponding button or move the corresponding axis.
  5. PadForge captures the input and advances to the next row automatically.
  6. Repeat until done, or click Stop (or press Escape) to stop early.

Rows with existing sources are included. Pressing an input overwrites the existing mapping; skipping preserves it.


Auto-Mapping

When PadForge detects a recognized gamepad (Xbox, DualSense, DualShock 4, Switch Pro, etc.), it creates a default mapping matching the standard 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 applies when a device is first assigned to a slot. You can modify or override any auto-mapped input afterward.

Unrecognized devices (generic joysticks, flight sticks, raw-mode devices) do not receive auto-mapping. Use recording, Map All, or the Source dropdown to set them up.


Modifiers

Two checkboxes appear in the Options column for each axis mapping row.

Inv (Invert)

Flips the axis direction. Pushing a stick up produces a "down" value, and vice versa.

When to use: The game or controller reports an axis opposite to what the virtual output expects (e.g., pushing left makes the game go right).

Half (Half-axis)

Treats the input as half-range (0 to max) instead of full-range (-max to +max).

When to use:

  • Mapping a trigger (0–100%) to a full stick axis (-100% to +100%).
  • Mapping a stick axis to a trigger where only positive deflection should register.

Descriptor prefixes

These modifiers add prefixes to the mapping descriptor:

Prefix Meaning Example
I Inverted "IAxis 1"
H Half-axis "HAxis 0"
IH Both "IHAxis 2"

You do not normally need to see descriptors — PadForge shows friendly names in the UI. But if a raw descriptor like "IHAxis 2" appears in the Source column for an unrecognized device, the prefixes indicate which modifiers are active.


Understanding Descriptor Names

For unrecognized devices or Force Raw mode, the Source column shows raw descriptors:

Descriptor Meaning
Button 0, Button 1, ... Physical button by zero-based index
Axis 0, Axis 1, ... Physical axis by zero-based index. Typical order: LX(0), LY(1), LT(2), RX(3), RY(4), RT(5) — varies by device.
POV 0 Up, POV 0 Right, ... Direction on POV hat 0 (most controllers have only one)
Slider 0, Slider 1 Slider axes (some flight sticks and throttles)
Mouse X, Mouse Y Mouse movement axes

The "I" and "H" prefixes can appear before any of these.


Copy, Paste, and Copy From

The toolbar above the mapping grid provides bulk operations:

Button Action
Clear All Removes all mappings for the current device on this slot
Copy Copies the current mapping configuration (including source controller type metadata) to the clipboard
Paste Applies a copied configuration. Translates automatically if source and target types differ.
Copy From Opens a dialog to copy mappings from another slot. Translates automatically if types differ.
Map All Starts the Map All wizard

Cross-type translation

Copy From and Paste intelligently translate mappings between different controller types:

Translation Example
Xbox to DualShock A becomes Cross, B becomes Circle, X becomes Square, Y becomes Triangle, LB becomes L1, RB becomes R1, etc.
DualShock to Xbox Cross becomes A, Circle becomes B, Square becomes X, Triangle becomes Y, etc.
To/from DirectInput Translated using the standardized gamepad mapping

Both buttons and axes are translated. Pasting to the same controller type applies mappings directly with no changes.


Calibration-Aware Preview

The Value column shows each mapping's live calibrated value, accounting for dead zone, center offset, and max range settings. Verify mappings work correctly with your configuration before entering a game.


Mapping Categories

Mappings are organized into categories in the grid:

  • Buttons — Face buttons (A/B/X/Y or Cross/Circle/Square/Triangle), shoulder buttons (LB/RB or L1/R1), stick clicks (LS/RS or L3/R3), system buttons (Back/Start/Guide or Share/Options/PS)
  • Left Stick / Right Stick — X and Y axes per thumbstick
  • Triggers — Left and right trigger axes
  • D-Pad — Up, Down, Left, Right

Custom DirectInput Mappings

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

Category Rows shown Axis pool usage
Sticks X and Y per stick, based on ThumbstickCount (0–4) 2 axes per stick
Triggers One per trigger, based on TriggerCount (0–4) 1 axis per trigger
Buttons One per button, based on ButtonCount (0–128) N/A
POVs Four directions per POV hat, based on PovCount (0–4) N/A

Sticks and triggers share a pool of 8 axes total. Example: 2 sticks (4 axes) + 2 triggers (2 axes) = 6 of 8 used.

Changing the DirectInput configuration rebuilds the mapping grid automatically.


Mapping Tips

  • Start with Map All. Assign everything in one pass, then fine-tune individual rows.
  • Use the Source dropdown for tricky inputs. If recording picks up the wrong input, select the exact one manually.
  • Check the Value column. Move your inputs and watch for correct direction and range. Toggle Inv if an axis moves backward.
  • Half-axis is your friend for trigger-to-stick mappings. If a trigger mapped to a stick axis only reaches 50%, enable Half. Conversely, Half clamps stick-to-trigger mappings to the positive range.
  • Copy From saves time with multiple controllers. Set up the first, then Copy From on the second.
  • Force Raw mode for unusual devices. If inputs are detected incorrectly (wrong button numbers, missing axes), try Force Raw mode on the Devices page to bypass gamepad remapping.

Related Pages

Clone this wiki locally