55 / Device Tests
Gamepad & Controller Tester
Test every controller button, trigger, stick, drift, range, browser-visible update rate, and vibration, then save a repair or resale report.
Waiting for the first controller input. Keyboard and mouse events are ignored.
01 / Stick drift
Five seconds at rest
- 95th percentile
- —
- Maximum
- —
- Suggested deadzone
- —
- 95th percentile
- —
- Maximum
- —
- Suggested deadzone
- —
A browser can show whether a released stick keeps reporting movement. It cannot recalibrate controller firmware. Compare the result in a game before repairing or returning hardware.
02 / Range
Rotate both sticks fully
Coverage compares the lowest and highest browser-reported values with the standard −1 to +1 range. Small shortfalls can come from the controller, driver, or browser mapping.
03 / Haptics
Test controller vibration
No haptics test has run.
A failed browser vibration test does not prove the motor is broken. Some controllers expose input but keep haptics unavailable to the Web Gamepad API.
04 / Buttons & triggers
Press every control once
Field note
Test a controller before replacing, repairing, or reselling it
Connect the controller by USB or Bluetooth, leave this page visible, and press a button. Browsers intentionally wait for controller interaction before exposing input. Siftlet then reads the latest buttons and axes locally with navigator.getGamepads().
Controller button and trigger test
Press every button once and pull both triggers through their full travel. The standard mapping covers Xbox, PlayStation, Switch-style, and many generic PC controllers. Extra buttons and axes still appear in the raw report even when the browser has no friendly label for them.
Stick drift, deadzone, and range test
Release both sticks before the five-second resting test. The 95th-percentile reading ignores a small number of isolated spikes, while the maximum preserves the worst sample. The suggested deadzone adds a small margin above the resting reading; it is a diagnostic starting point, not a firmware calibration.
What the polling number means
The update-rate estimate uses changes in the Gamepad API timestamp. It measures updates visible to this browser tab. It is not a certified USB polling or end-to-end input-latency measurement, and browsers may cap or merge visible updates.
The implementation follows the W3C Gamepad specification and current MDN usage guidance. The saved report includes the device label the browser exposes, button counts, stick range, drift summaries, and browser-visible update rate.