Button Mapping Detection

No Controller
LT (6)RT (7)LB (4)RB (5)LS(10)RS(11)12131415Y(3)X(2)B(1)A(0)891716

How to use: Press any physical button on your controller. Observe which area lights up on screen and its corresponding index number. If the lit area doesn't match the button you pressed, there may be a mapping modification or driver issue.

Real-time Event Log

Waiting for input...

Raw Axis Data

AXIS 00.00000
AXIS 10.00000
AXIS 20.00000
AXIS 30.00000

Standard Gamepad: The Unified Web Standard

How did W3C define the future of cross-platform controllers with 17 buttons and 4 axes?

W3C Standard

Standard Gamepad Button Layout

The Gamepad API defines a fixed "Standard Gamepad" layout: 4 face buttons (Index 0-3, ABXY), shoulder buttons (Index 4-7, LB/RB/LT/RT), system buttons (Index 8-9), etc.

Button Index Quick Reference

0-3: A/B/X/Y (face)
10-11: LS/RS (stick click)
4-5: LB/RB (bumpers)
12-15: D-Pad
6-7: LT/RT (triggers)
16+: Home/Share (extended)

Axes Data

0/1: Left stick X/Y 2/3: Right stick X/Y (range -1.0 to 1.0)

Standard Gamepad API

Why Is My Controller Mapping Wrong?

DirectInput, XInput, different drivers... Uncovering the truth behind button confusion

DirectInput's Randomness

DirectInput doesn't specify button order—each manufacturer defines it freely. PS controller's "×" button might be Index 0 or Index 1. This means the same physical button can have different indices with different drivers.

Driver-Level Mapping Modifications

Tools like DS4Windows and BetterJoy "disguise" your controller as an Xbox controller. This modifies the button mapping to conform to Standard Gamepad spec. This is intentional behavior, not a bug.

Frequently Asked Questions

Everything about controller button mapping

QWhy is my D-Pad showing as Axis instead of Buttons?

Some older controllers (like Xbox 360) implement the D-Pad as axes (Axis 6/7) rather than 4 separate buttons. This is a hardware design difference, and the browser faithfully reflects the hardware state.

QWhy are LT/RT sometimes Buttons and sometimes Axes?

This depends on the driver mode. In XInput mode, LT/RT are Buttons 6/7 (digital). In DirectInput mode, they may be Axes (analog 0-1). The Standard Gamepad spec requires triggers to be buttons.

QCan I modify the button mapping myself?

The browser Gamepad API is read-only—you can't modify mappings. Solutions: ① Use system-level tools (AntiMicro, JoyToKey); ② In-game key customization; ③ Change drivers (DS4Windows).

QWhy does my controller have 20+ buttons?

Some advanced controllers (flight sticks, racing wheels) have many physical buttons. The browser exposes all buttons, but Standard Gamepad only defines the first 17. Extra buttons have no standard names.

Understanding Controller Mapping

Why does pressing A show B? Use this controller input test tool to reveal the underlying driver logic. The best way to test controller buttons and troubleshoot remapping errors on PC.

XInput Standard Protocol

Most PC games and browsers follow the Xbox 360 controller layout standard. This means regardless of your controller brand, the system maps buttons to standard indices 0-16.

Button 0: A (Bottom)
Button 1: B (Right)
Button 2: X (Left)
Button 3: Y (Top)

Common Mapping Issues

  • Nintendo Layout Conflict: Switch controllers physically have "A right, B bottom" but PC reads "A bottom, B right". If buttons seem swapped during testing, this is a protocol difference. Fix via Steam Input.
  • Macro/Remap Detection: If you use back paddle mapping or macros, this tool shows the remapped logical button. For example, if you map a back paddle to A, pressing it will light up Button 0.

About API Indices

Index 0-3: Face Buttons
Index 4-5: Bumpers (LB/RB)
Index 6-7: Triggers (LT/RT)
Index 8-9: Select/Start
Index 10-11: Stick Clicks
Index 12-15: D-Pad
Index 16: Home
Index 17: Share/Touch