Why does a trigger appear as a button?
The Gamepad API exposes many triggers in the button array with both a pressed flag and an analog value between their resting and full range.
CONTROLLER BUTTON TEST · LOCAL INPUT
Check every browser-exposed controller button, analog value, touched state, and sampled press edge without uploading input.
BUTTON INPUT · LOCAL OBSERVATION
No controllers detected.
Browsers expose a controller after it sends an input. Keep this page active, then press a physical controller button.
No button input observed
Every raw button stays visible; press counts cover this connection session.
No button values available.
| Raw index | Value | Pressed | Touched |
|---|---|---|---|
| No button values exposed. | |||
Newest 100 sampled edges in deterministic raw-index order.
No button changes observed yet.
The report is created in this browser and downloaded directly to your device. Nothing is uploaded.
This tool exports summary data only.
Raw and focused
This focused controller button test keeps raw indices visible while adding standard labels only when the browser provides a standard mapping. Held combinations stay highlighted together, and cumulative counts make repeated inputs easier to compare.
Three steps
01
Connect one controller, keep this page active, and press a physical button so the browser can expose it.
02
Press and release buttons individually, then hold combinations to confirm simultaneous states remain visible.
03
Review the raw index, mapped label, analog value, touched state, press count, and bounded edge history.
Sampled evidence
Results reflect input exposed through the browser after controller firmware, transport, operating-system, driver, and mapping effects. They do not certify hardware health, prove the cause of a missed press, or guarantee every transition was sampled.
If presses stay idle
Plain answers
The Gamepad API exposes many triggers in the button array with both a pressed flag and an analog value between their resting and full range.
Touched-state support varies by controller, operating system, mapping, and browser. A false value does not prove the sensor is absent or broken.
Yes. This history records browser-observed frames, so a complete press and release between two samples may not appear.
No. Observation stays in browser memory, and the optional JSON download contains summary values only without the raw device identifier or browser user agent.