Gamepad info.
Scans for connected controllers via the Gamepad API. Reports identifier string, button count, axis count, mapping standard, and vibration support.
Press a button on the controller before pressing Start — Chrome only exposes gamepads after the first input event.
Connect a gamepad and press any button — browsers only expose pads after the first input. This view then updates live.
We call navigator.getGamepads() on entry. If nothing is enumerated, we add a one-shot gamepadconnected listener and wait up to 6 seconds for a button press to register a controller.
Per pad we report identifier string (vendor + product), button count, axis count, mapping standard, and whether the vibration actuator is exposed. The identifier is what controller-mapping libraries use to pick the right button layout.