Analog Trigger (LT / RT) Calibration Test
Inspect live 0.000–1.000 float values and 0%–100% pull bars for Button 6 (Left Trigger) and Button 7 (Right Trigger). Compare smooth analog travel against digital switch triggers and hair-trigger stops.
Plug in your controller & press any button, or test using keyboard emulation / auto demo.
Test all buttons, sticks, triggers, deadzones, and developer telemetry together.
Overview & Diagnostic Methodology
Use the side-by-side Left and Right Trigger meters below to check how your triggers behave across their full physical stroke. Proportional analog triggers (such as Xbox LT/RT and PlayStation L2/R2) should climb smoothly through intermediate decimals, whereas digital triggers (such as Nintendo Switch ZL/ZR or pro controllers with microswitch hair-trigger locks) jump directly from 0.000 to 1.000.
Analog vs. Digital Triggers, Saturation Limits, and Non-Standard HID Mappings
Proportional Analog Triggers vs. Digital Switch Triggers: Not all controller triggers measure partial pull depth. Xbox Wireless controllers (LT/RT) and PlayStation DualSense/DualShock 4 controllers (L2/R2) use Hall-effect magnetic sensors or potentiometers that report continuous decimals from 0.000 to 1.000 as you squeeze. By contrast, Nintendo Switch Pro Controllers and Joy-Cons use physical digital switches on ZL and ZR—they have no intermediate travel sensor and will jump straight from 0.000 (0%) to 1.000 (100%) the instant the switch clicks. Many third-party pro controllers also include mechanical hair-trigger locks that switch the trigger from a full analog sweep to a tactile microswitch click.
Diagnosing Incomplete Saturation (< 100%) and Resting Creep (> 0.000): Two physical faults commonly affect analog triggers. First, if pulling RT or R2 all the way to the plastic shell stops the gauge at 0.820–0.920 instead of lighting up "100% PULL", an internal silicone bumper pad may have shifted, or a mechanical trigger-stop slider is engaged without matching firmware recalibration—preventing full throttle in racing games or sprint/fire lockouts in shooters. Second, if releasing the trigger leaves the readout hovering at 0.025–0.080 with the "ACTIVE" badge lit, a weakened return spring or shifted magnet/potentiometer zero-point is keeping the trigger slightly engaged.
Why Some Controllers Display "Raw HID (Unmapped)" on B6 and B7: This diagnostic reads buttons[6] and buttons[7] when the browser reports Gamepad.mapping === "standard". Older DirectInput gamepads, flight throttles, racing pedals, or PlayStation controllers on certain Linux/macOS configurations may report mapping: "". On those unmapped HID devices, the browser sometimes places trigger travel on raw axes (such as axes[2] or axes[5] ranging from -1.000 to +1.000) or different button numbers. Rather than displaying misleading numbers on LT/RT, this card flags "Raw HID (Unmapped)" and directs you to the raw axis and button arrays.
Measurement & Telemetry Classification
Technical distinction between direct hardware reads, client-side algorithms, and educational thresholds.
- GamepadButton.value (0.000 to 1.000) and GamepadButton.pressed (true/false) for standard indices buttons[6] and buttons[7].
- Active Gamepad.mapping state ("standard" vs. "") and detected device profile (Xbox, PlayStation, or Nintendo Switch).
- Rounded integer percentage (Math.round(value * 100)) and fill-bar width for each trigger.
- Full-pull confirmation threshold (value >= 0.98) displayed via the green "100% PULL" badge.
- Why Nintendo Switch ZL/ZR triggers jump from 0.000 to 1.000: Switch Pro and Joy-Con controllers use digital contact switches rather than analog sensors.
- How mechanical trigger stops and hair-trigger locks affect maximum output if controller firmware does not rescale the shortened stroke.
- Why non-standard DirectInput/HID controllers show "Raw HID (Unmapped)" here when the browser places trigger data on raw axes instead of B6/B7.
Key Diagnostic Parameters
How to Test Step-by-Step
- 1Connect your controller and press any button so the browser populates navigator.getGamepads().
- 2With both triggers completely released, verify that Left Trigger (B6) and Right Trigger (B7) rest at 0.000 (0%) and that the "ACTIVE" badge is off.
- 3Slowly squeeze Left Trigger (LT / L2) from rest to full bottom-out: watch whether the readout climbs smoothly through intermediate decimals (analog sensor) or jumps straight from 0.000 to 1.000 (digital switch).
- 4Confirm that the green "100% PULL" badge lights up when each trigger is pressed firmly against its physical stop (value >= 0.980).
- 5Release both triggers quickly and confirm they snap cleanly back to 0.000 without lingering at a low non-zero value.
What This Test Verifies
Under W3C Standard Gamepad mapping, Left Trigger (LT / L2 / ZL) maps to buttons[6] and Right Trigger (RT / R2 / ZR) maps to buttons[7]. Analog triggers report continuous floating-point values from 0.000 (released) to 1.000 (bottomed out), whereas digital triggers (such as Nintendo Switch ZL/ZR) step directly between 0.000 and 1.000.
Specifies how proportional analog triggers and binary switches report 0.0–1.0 values.
Defines canonical L2/LT (B6) and R2/RT (B7) positions in standard browser mappings.
Frequently Asked Questions
Why do my triggers jump straight from 0.000 (0%) to 1.000 (100%) with no numbers in between?
Your controller is sending digital switch inputs rather than proportional analog values. This is normal hardware behavior on Nintendo Switch Pro Controllers and Joy-Cons (where ZL and ZR are digital buttons), on arcade fightpads, and on pro controllers that have microswitch hair-trigger locks enabled. It can also happen on PC if Steam Input or a remapper is configured to map your analog trigger as a digital button.
Why does the trigger card show "Raw HID (Unmapped)" and "—" instead of a percentage?
Your browser detected the controller with an empty mapping string (mapping: "") instead of the W3C "standard" layout. When a device uses non-standard DirectInput or raw HID descriptors, its triggers may be wired to raw axis channels or different button indices rather than B6 and B7. To avoid guessing and showing false trigger readings, this tool displays "Raw HID (Unmapped)"; you can inspect the raw axis and button arrays in our Gamepad Tester.
Why does my trigger stop around 85%–93% instead of lighting up "100% PULL"?
If you are pressing the trigger firmly against the shell and the value caps below 0.980, check two things: first, verify that any physical hair-trigger stop slider on the back of the controller is switched off. Second, if no stop is engaged, the internal silicone cushion pad or sensor range has shifted, which you can re-scale using Windows joy.cpl, Xbox Accessories, PlayStation Accessories, or Steam Input calibration.
What does it mean if my trigger stays at 0.020–0.060 when my finger is completely off it?
A non-zero resting value means the trigger sensor has not returned to electrical zero. This can be caused by a fatigued torsion return spring, dust in a potentiometer gear, or a slightly shifted Hall-effect magnet after a drop. Games with very sensitive trigger thresholds may interpret that small resting value as continuous aiming or braking unless you recalibrate or add a small trigger deadzone.