What the result actually measures
The bench reads the buttons and axes your browser exposes through the Gamepad API and names them for the controller in front of it — Xbox, PlayStation or Nintendo, from the USB vendor id. It traces how round each stick’s outer edge is, counts how often the pad reports, and, if you allow it, runs the vibration motors so you can feel whether each one works.
Measurement boundary: Browser mappings differ by controller, operating system and driver. A missing vibration feature or an unusual label does not automatically mean the controller is defective, and the report rate cannot be seen past your display’s refresh rate.
How to interpret the output
Button response
A button should light once when pressed and go dark when released. Rapid flicker without a deliberate press may indicate a switch, driver or connection issue.
Stick circularity
Trace each stick around its edge. A few percent is normal for a new pad, and 0% is not the goal: many controllers deliberately reach past the circle at the diagonals. A pad that reads much worse than it used to is the signal.
Report rate
A reading at your display’s refresh rate means the pad is at least that fast — the browser cannot see further. A reading clearly below it is the controller’s own limit, and usually improves over a cable.
Vibration
The weak and strong motors should feel clearly different. A motor that feels identical to “both”, or does nothing, is the one to suspect. The browser starts the motors but cannot measure them.
Troubleshooting unexpected results
Nothing appears
Press a controller button — most browsers expose a pad only after an input — try a wired connection, and check whether another tab or game is holding exclusive access.
The names do not match my controller
Pads that do not use the standard mapping are shown by raw index, because a guessed name would be wrong. The raw indices are under “Raw indices and axes”.
Vibration does nothing
Chrome and Edge on a desktop expose vibration for most Xbox and PlayStation pads; Firefox and Safari usually do not. Try a cable, and press a button on the pad first so the page can reach its motors.
Frequently asked questions
Does this install a driver?
No. It reads only the controller signals already exposed by your browser.
Which controllers does it recognise?
Any controller the browser can see. Xbox, PlayStation and Nintendo pads are named and drawn in their own layout from the USB vendor id; other pads use a generic layout, and non-standard ones are shown by raw index.
Does the vibration test need permission?
Yes. The page sends nothing to the controller until you press “Allow vibration for this visit”, every pattern stops by itself within two seconds, and the permission ends when you leave.
Why does the report rate say “at least 60 Hz”?
A browser hands controller state to a page once per displayed frame, so on a 60 Hz screen nothing faster than 60 Hz can be seen. The page says when the number is your display’s ceiling rather than the controller’s own rate.
Can this prove my controller is broken?
It can document observed browser input, but hardware diagnosis should also be confirmed in another browser, connection and device.
Is my controller ID uploaded?
No. The live session is processed in your browser and controller input or identifiers are not sent to Keymap Labs.