Controller button test

Press and release each controller button to check its browser-visible state. See analog trigger values and which buttons you have already pressed.

Connect your controller

Press a controller button, then check the connection.

Waiting for browser input

Buttons and triggers

Press buttons one at a time. “Not observed” is not a failure.

Button readings appear here after you start a test.

Joystick axes

Move a stick to check its browser-reported axis values.

Test vibration

If the controller and browser expose rumble, this plays a one-second dual-motor pulse. It does not test adaptive-trigger resistance, trigger haptics or DualSense light-bar and haptic effects.

Support is detected when you click it; some controllers cannot rumble in the browser.

Run the guided stick drift test →

How to test controller buttons

  1. 01

    Connect your gamepad to this computer or phone using USB or Bluetooth. Press a controller button, then choose Check connection.

  2. 02

    Select your controller and start the test. Press and release each button one at a time; the grid shows its current value and whether it has been observed pressed.

  3. 03

    Squeeze both triggers and move each joystick. Clear the history to repeat the check. For a resting joystick measurement, use the stick drift test.

Pressed, released or not observed?

Pressed describes the current browser-reported state. Observed means this page has seen that button pressed during this session. Not observed does not mean broken: you may not have pressed it, or your browser may not expose it.

Test limitations

Nonstandard controllers show numbered buttons and axes instead of assumed labels. Very short presses between browser observations can be missed. This is not an input-latency or hardware polling-rate test.

Readings stay in this page’s memory. No account, controller-reading uploads or automatic calibration. If an input is missing, check the connection and browser mapping before assuming a hardware fault.

Controller connection help →