HID Inspector · raw PlayStation controller reports

Controller HID Inspector

Read the raw HID reports of a DualSense or DualShock 4: stick centres to the byte, drift percentage, gyro bias, report rate, battery and touchpad, read-only over WebHID.

Controller HID inspectorDualSense · DualSense Edge · DualShock 4 · raw reports over WebHID
Connect a PlayStation controller by USB or Bluetooth, then pick it in the browser dialog. Nothing is written to the controller.
Model
Transport
Report rateReports per second reaching the browser
Battery

Left stick

X 128Y 128
Raw centre offset

Right stick

X 128Y 128
Raw centre offset

Buttons, triggers, motion

no buttons
L2 · R20 · 0
Gyro (pitch · yaw · roll)
Accelerometer
Touchpad contacts0
Rest sample: put the controller down, release both sticks and hold still for three seconds.
Left stick drift (HID)Raw centre · 128 is perfect
Right stick drift (HID)Raw centre · 128 is perfect
Gyro bias at restNoise —
Stick resolutionDistinct raw values per axis during a sweep (max 256)
Reports sampled0Rest sample size
Gamepad API centreSame sticks as the browser exposes them

Boundary: the inspector reads input reports only. It does not send feature reports, change calibration or write anything to the controller. Report rate is what reaches the browser: USB DualSense typically 250 Hz, Bluetooth 100–1000 Hz depending on the host; a lower number here often points to the host, not the pad.

Keep and share this result

Save the numbers to your private Device Passport in this browser, or copy a card that shows exactly what was measured.

Open passport

Nothing is uploaded unless you contribute. Cards and links contain only the numbers shown above.

Words on this page
HID / WebHID

The standard language input devices speak to a computer, and the browser feature that lets a page read it directly. It exposes what the device itself reports, not what a driver decided to show.

Gyro

The motion sensor in a phone or controller, reporting rotation. Games use it for fine aiming on top of stick or touch input.

Stick drift

The controller reporting movement while you are not touching the stick. A worn or badly calibrated stick never returns to exactly zero.

Axis

One direction of stick movement, reported from -1 to 1. Each stick has two: left/right and up/down.

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.