Quick answers before you test
Why raw HID instead of the Gamepad API?
The Gamepad API gives a processed −1..1 value after the browser's own deadzone and mapping. HID reports show the exact 8-bit byte the controller sends, so a centre of 131 instead of 128 is visible before any software rounds it away.
Does this recalibrate my controller?
No. The inspector only reads input reports. Recalibration tools write to the controller and can make things worse; this lab documents the state before you decide.
Browser-level stick drift test →Which controllers work?
Sony DualSense, DualSense Edge and DualShock 4 over USB or Bluetooth in Chrome, Edge or Opera on desktop. Xbox controllers use XInput and are not exposed to WebHID; use the gamepad tester for them.
What the result actually measures
The inspector opens the controller through WebHID and parses each input report: raw stick bytes and triggers, buttons, gyroscope and accelerometer as signed 16-bit values, touchpad contacts, battery level and charging state. The rest sample averages the raw stick centres over three seconds into a drift percentage and derives gyro bias and noise. The report rate counts input reports per second as they reach the browser, and the sweep counts distinct raw values per axis.
Measurement boundary: The layouts follow the public Linux driver documentation; unknown Sony product ids may misalign fields. Report rate reflects the host stack as much as the controller. The inspector never writes to the device and cannot see firmware calibration tables.
How to interpret the output
Raw centre
128 is a perfect centre on an 8-bit stick. Each step is about 0.8% of travel; a resting centre of 124 or 132 is roughly 3% drift before any deadzone.
Report rate
USB DualSense typically delivers 250 reports per second; Bluetooth varies from 100 to 1000 Hz with the host. A rate far below expectation on USB usually means a hub or host problem, not the controller.
Gyro bias
The average gyro reading while resting. Large bias with low noise is a calibration offset; large noise suggests vibration on the surface or a failing sensor.
Troubleshooting unexpected results
The controller is not in the dialog
On Windows, Steam Input and DS4Windows take exclusive access; close them. On Linux, udev rules must allow the user to open hidraw devices. Bluetooth pads must be paired and awake.
Values look shifted
Bluetooth and USB reports use different offsets; the inspector switches on the report id. If a Sony product id is not in the known list, fields may be misaligned and the label says so.
Report rate reads 60 Hz or less
The tab must stay in the foreground; background throttling limits how often the browser dispatches HID events.
Frequently asked questions
Is WebHID safe?
The browser asks permission per device, only the selected controller is exposed and only while the page is open. This page reads input reports and never sends output or feature reports.
Why does HID drift differ from the stick drift test?
The Gamepad API applies browser processing, and games apply their own deadzones. Raw HID is the earliest view available to a web page; the difference tells you how much software is hiding.
Can a chatbot read my controller's raw centre?
No. The bytes exist only on your controller and in your browser session while the inspector runs.