Controller diagnostics 🎮

Controller Mapping Test

No Controller Press a controller button to begin

01 / Button signal map

Standard Gamepad Indexes

0–17
LT (6) LT (6) RT (7) RT (7) LB (4) LB (4) RB (5) RB (5) LS(10) LS (10) RS(11) RS (11) 12 D-Pad Up (12) 13 D-Pad Down (13) 14 D-Pad Left (14) 15 D-Pad Right (15) Y(3) Y (3) X(2) X (2) B(1) B (1) A(0) A (0) 8 View (8) 9 Menu (9) 17 Share (17) 16 Home (16)

Press one physical control at a time. 🧭 The lit index is the value your browser receives.

Solid label = available Accent label = active
Local browser test No download · no account · no upload

04 / The standard map

Standard Gamepad Button Layout

A standard gamepad map gives each control a fixed API slot. The number comes from the browser view, not from the letter printed on the shell. A pad can show an A button, yet a driver may send that press as index 0, index 1, or a custom value. The tool above reads the value that reaches the page. It does not guess from the brand name. 🎮

The first four slots are the face group. Index 0 is often A or the bottom face key. Index 1 is often B or the right key. Index 2 is often X or the left key. Index 3 is often Y or the top key. That order matches the Xbox style used by many PC games. A PlayStation or Switch shell may print a different sign, though. The API still reports its own logical slot.

Shoulder input starts at index 4. Bumpers use 4 and 5. Triggers use 6 and 7 in a mapped pad. The next pair, 8 and 9, often means View and Menu. Stick clicks use 10 and 11. D-pad directions fill 12 through 15. Home and Share often sit at 16 and 17. Some pads omit the last pair. Some racing wheels expose many more slots with no shared names.

Controller Mapping Test: Read the Button Map

The quickest check is simple. Wake the pad, press one control, and compare the lit number with the control you touched. This Controller Mapping Test shows the same press in the event log. A value such as `Button 6` tells you what the browser saw. It does not say that the plastic label is wrong. It tells you which layer made that choice.

  1. Connect the pad. USB gives a steady first read.
  2. Wake the pad. Press one key if the status stays idle.
  3. Press one control. Use slow, single taps.
  4. Read the index. Match the event row to the map.
  5. Repeat the check. Test each key that feels wrong.
“The index is the browser’s report, not a label printed on the shell.”

05 / Driver layers

Why Is My Controller Mapping Wrong?

A wrong map often comes from a change between the pad and the game. The shell sends a signal. A USB or Bluetooth layer carries it. The operating system exposes a device. A driver may rename its controls. A game then reads the final view. Each layer can keep the pad working while changing the button order.

DirectInput devices have a long history of loose layouts. One maker may list a south face key first. Another may list a west key first. The browser can show both pads in a similar shape while their raw button arrays differ. That gap feels like a fault when a game uses a fixed prompt. The game may draw an A icon even though the press came from a different physical key.

A remap layer can also be active without a clear sign. Steam Input, DS4Windows, BetterJoy, emulator profiles, and vendor tools can expose an Xbox-style device. A back paddle can be sent as A. A touch click can be sent as Menu. The browser then reports the logical result. The pad is not lying; it is answering after the remap has done its work.

Test the same pad with one layer at a time. Close a mapper, reconnect the cable, and press the same key again. If the index changes, the layer is the cause. If the index stays the same but a game prompt feels odd, check the game profile. A short log makes that comparison much easier.

06 / PC game order

XInput Standard Protocol

XInput is the Xbox-style control model used by many Windows games. It gives common actions a known order, so a game can show prompts without a custom map for every pad. A pad from another brand may be translated into that order by its driver. The shell shape can stay the same while the logical data changes.

The four face slots form the part most players spot first. In the usual XInput view, A sits at the bottom, B at the right, X at the left, and Y at the top. Bumpers and triggers follow. A game can then ask for Button 0 and expect a south face press. This is why a PlayStation pad can work well in a PC game even though its printed symbols are different.

XInput-style quick map
Index Logical name Common position
0ABottom face key
1BRight face key
2XLeft face key
3YTop face key
4–7LB, RB, LT, RTShoulders and triggers
8–11View, Menu, LS, RSCenter keys and stick clicks

XInput does not make every pad identical. It gives games a shared target. A third-party driver can map a device into that target. A browser may show `mapping: standard`, while a raw device uses a different view. Read the active indices before changing a game profile. That small check can save a long round of trial and error.

07 / Spot the cause

Common Mapping Issues

Most map issues fall into a few clear groups. The first is a layout split. Nintendo shells often place A on the right and B at the bottom. XInput names those spots in the other way. The buttons work. The prompts feel swapped. Steam Input or a game setting can change the view.

  • Nintendo face order: a Switch pad can show A on the right while a PC game calls that slot B. Check the lit index before you blame the pad.
  • DirectInput order: older pads may list keys in a maker’s own order. A new driver can change the same hardware view.
  • Back paddles and macros: a rear key may send Button 0 or another logical slot. The log shows the result, not the paddle name.
  • D-pad axes: some pads send a cross as axis data. The map can look empty at indices 12–15 while the cross still moves a game.
  • Missing extended keys: Home and Share are not present on every pad. A blank slot is not proof of a bad connection.

A map check should be paired with the right next test. If a stick moves on its own, use the Stick Drift Test. If the issue is tied to a Sony device, the PS5 Controller Test can show its button and trigger signals. If the keys work but the sticks feel uneven at the edge, use the Circularity Error Test. Each tool checks a different part of the input path.

Clear old mapper profiles before you compare two runs. A stale virtual pad can stay active after the real device reconnects. Close duplicate tools, unplug one pad, and check the browser again. A clean test has one device, one active profile, and one clear press per row. ⚠️

08 / Quick answers

Frequently Asked Questions

These answers cover the cases that cause the most confusion during a map check. A browser can read the data it receives. It cannot see the name of a physical switch after a driver has changed that data.

Why is my D-pad shown as an axis?

Some hardware sends the cross as two values, such as left/right and up/down. Older pads and some DirectInput modes use this pattern. The browser reports those values as axes because that is how the device presents them. A game can still use the cross. Check the raw axis rows while you tap each direction. If one axis moves between fixed steps, the cross is likely using an axis pair.

Why do LT and RT act like buttons on one pad?

A trigger can be digital or analog. In a mapped XInput view, the trigger often has a button slot with a value from 0 to 1. Another mode may send the same motion through an axis. The event log shows a button press when the browser exposes a button. The raw axis panel shows a value when the device exposes an axis. Both reports can be valid for different driver modes.

Can this page change my controller mapping?

No. The browser Gamepad API gives a read-only view of the current pad. This page can show a mismatch, but it cannot write a new map. Use a trusted system tool, a game profile, or a platform input layer if a new order is needed. Make one change at a time, then run the map check again. That keeps the cause clear.

Why does my pad have more than 18 buttons?

The standard layout names a common set, not a hard device limit. Flight sticks, wheels, arcade boards, and pro pads can expose extra controls. The browser can list those extra slots, but games may not know a shared name for them. The event log uses `Button N` for an index without a standard label. That is a useful raw fact, not an error.

Which browsers can read a gamepad?

Recent desktop browsers usually support the Gamepad API. Support still depends on the device, the page security context, the operating system, and the connection type. A browser may need a button press before it exposes the pad. If the status stays at No Controller, wake the pad, reload the page, and try a wired link. The page will show an API message when the browser cannot expose gamepad input.

09 / Read the numbers

About API Indices

API indices are array positions. The first button is position 0, not position 1. That small detail causes many off-by-one notes in scripts and game settings. A pad can also expose fewer or more entries than the common map. Read the live array before you build a custom rule.

The table below gives the usual Standard Gamepad order. It is a guide, not a promise for every raw device. A driver can change the order. A browser can report `mapping: standard` only when it has a known standard view. A custom device may use the fallback name shown by the tool. The exact values still matter more than a printed shell label.

Standard Gamepad API index guide
Index API name Common control
0–3Face buttonsA, B, X, Y
4–5BumpersLB, RB
6–7TriggersLT, RT
8–9System keysView, Menu
10–11Stick clicksLS, RS
12–15D-padUp, Down, Left, Right
16HomeGuide or Home
17ShareShare or Touch click

For the formal browser rules, read the MDN Gamepad API reference. It covers the Gamepad object, button values, axes, connection events, and the standard mapping view. The map above gives a fast player-facing read; the API reference gives the full web rule set.