DualSense Adaptive Trigger Test

Play resistance, click and vibration effects on a DualSense's L2 and R2 from your browser, and see where each trigger stops.

Connect a controller, then press any button

Plug it in with a USB data cable or pair it over Bluetooth. Browsers only reveal a controller after a button press, so press A or ✕ if nothing appears. Nothing is sent anywhere.

No controller yet

The diagram lights up as soon as your controller sends input.

Adaptive trigger test

Connect a DualSense or DualSense Edge directly to play resistance, click and vibration effects on its adaptive triggers and watch each trigger's position. Your browser asks which device to allow, and the permission lasts until you close the tab. This page only reads the controller and sends effect commands (trigger effects, light bar, player lights), never calibration or firmware, and it resets them when you leave.

Decoded from published formats (the Linux hid-playstation driver and SDL); not yet tested on a real controller. Over Bluetooth, deep mode switches the controller to its full report format until it reconnects, and asks first: if another app or game stops seeing it, turn the controller off and on.

Not connected.

Adaptive triggers (DualSense only)

Pick an effect, then press L2 or R2. Resistance pushes back from the start point; click is a section of resistance that gives way, like a trigger pull; vibration buzzes the trigger from the start point. The bars show where each trigger is.

L2
–
R2
–

Light bar and player lights

Motion sensors

Tilt and turn the controller: the model follows it, and the graphs show the gyroscope (turn rate, degrees per second) and the accelerometer (g) on each axis. Put it down flat and run the rest check to measure gyro drift.

Gyro – · Accel –

Touchpad

Draw on the touchpad with one or two fingers. Each finger gets its own colour and the ID the controller gives it; a dead strip shows up as a gap in the lines. Press the pad to test its click.

No touch yet.

Battery

The level the controller reports, in 10% steps, and whether it is charging. It updates live, so plug in a cable to check the charging port.

–

Report interval

How often the controller sends a report, from the controller's own clock and from the time each report reached this page. This is the report interval, not end-to-end input lag: it leaves out the time a press takes inside the controller, in the game and on the screen.

Live controller diagram: buttons light up when pressed, triggers fill as you squeeze themLTLBRTRBSelectStartHomeABXYLSRS
Left stick–
Right stick–
Left trigger
0%
Right trigger
0%
All buttons and axes · 0 buttons pressed

Press every button once: each one gets a tick when it registers. Values show analog pressure from 0.00 to 1.00.

Health tests

1. Stick drift

Measures where each stick settles when nobody touches it, and checks for buttons or triggers that read as pressed. Pass: under 5% of full travel. Warning: 5–10%. Fail: 10% or more.

Not run yet.

2. Circularity

Rotate each stick slowly around its outer edge. Measures how far the edge strays from a perfect circle. Pass: up to 10% average error. Warning: up to 20%. Fail: above 20% or a direction that can't reach 75% of full travel.

Left
Right

Not run yet.

3. Vibration

Plays a rumble. The strong motor is the heavy, low rumble in the left grip; the weak motor is the finer buzz on the right.

Connect a controller to test vibration.

4. Input update rate

Estimates how often the browser receives new data from the controller while you move a stick.

Not measured yet.

Controller health report

Selling or buying a used controller? Run the four tests, press every button, then share the report link in your listing or message.

Connect a controller to start the report.

How to test the adaptive triggers

  1. Connect the DualSense with a USB data cable or over Bluetooth, click Connect for more tests, and pick it in the browser’s list.
  2. Choose an effect, which triggers to apply it to, the start point (how far into the pull it begins) and the strength, then click Apply effect.
  3. Press the trigger slowly. The bars show each trigger’s position as the controller reports it, so you can see where the effect starts.

The three effects test different parts of the mechanism:

  • Resistance pushes back steadily from the start point to the end of the travel. It tests the motor and gears under constant load.
  • Click resists over a section and then gives way, like a gun trigger. It tests how quickly the motor lets go.
  • Vibration buzzes the trigger from the start point. It tests the motor’s fast movement.

Turn effects off releases both triggers. The effects also turn off by themselves when you leave this page, switch to another tab or disconnect the controller.

What a faulty trigger feels like

Test each trigger on its own and compare them. A healthy pair feels the same at the same setting. Common faults are a trigger with no resistance at all (a failed motor or a disconnected ribbon), resistance that stutters or grinds (worn gears), and a trigger that doesn’t return fully after an effect. Check the last one with the bars: after you let go, each trigger should read 0%.

Light bar and player lights

The same panel sets the light bar colour and the player lights, a quick check of the LEDs. Reset lights puts back the default blue light bar and the player 1 light, which the page also does when you leave.

How it works

The page speaks the DualSense’s own output report, as documented by the Linux kernel’s hid-playstation driver, SDL and the community’s reverse-engineered trigger effect formats. It writes only effect commands: never calibration, never firmware. It is based on published formats and not yet tested on a real controller. Over Bluetooth, deep mode switches the controller to its full report format until it reconnects, and it asks before doing so: if another app or game stops seeing the controller afterwards, turn the controller off and on. A DualShock 4 has no adaptive triggers, so these controls stay off for it. For rumble, use the vibration test.

Controller TesterSomeone shared their result

Suggested