Skip to main content
GEARCHECK LAB
Controller Lab // Haptic Capability

CONTROLLER VIBRATION TEST

Detect whether your current browser, platform and controller expose haptic feedback through the Gamepad API. Where supported, test weak/strong dual-rumble channels, combined rumble and a short pulse without installing software.

Capability-aware diagnostic

Gamepad haptic actuator

AWAITING CONTROLLER
Connect a controller and press a button.Haptic support depends on the exact browser, operating system, connection and controller. A controller can vibrate in games yet still be unavailable to a browser.
NO CONTROLLER DETECTED
CAPABILITY UNKNOWNConnect a controller to inspect browser-exposed haptics.

How to test controller vibration

  1. Connect the controller and press a button so the browser exposes it.
  2. Check the capability panel. If no haptic actuator is exposed, the page will not try to force vibration.
  3. Try a short weak/strong/combined effect. Keep the controller in your hands so you can compare the channels.
  4. Use STOP VIBRATION if an effect remains active.
  5. Repeat in another supported browser or wired/wireless mode if a controller that normally vibrates is reported unsupported.

Why vibration support is limited

Browser haptics are not universally available. The Gamepad API can expose a vibration actuator on one browser/platform/controller combination and omit it on another.

An UNSUPPORTED result means the page cannot access haptics in this environment. It does not prove that the physical vibration motors are broken.

Weak versus strong rumble

The modern dual-rumble effect exposes separate weakMagnitude and strongMagnitude controls. GearCheck Lab only enables those separate tests when a playEffect() path is available and dual-rumble is advertised—or, on older implementations without an effects list, when the request can be tried and its browser result reported.

A generic pulse() fallback does not prove separate weak/strong motors, so it is offered only as one generic vibration pulse.

Effect detection

The actuator effects list is the strongest browser-level signal for which modern haptic effects can be requested. GearCheck Lab enables trigger-rumble controls only when trigger-rumble is explicitly listed. If playEffect() exists but the browser exposes no effects list, dual-rumble is shown as an unverified trial rather than declared support.

The page prefers gamepad.vibrationActuator when available and labels hapticActuators[0] / pulse() as a legacy or compatibility path.

What the browser result means

playEffect() can resolve as complete when an effect finishes or preempted when it is stopped or replaced. A request can also reject when the document is inactive/hidden or the effect is unsupported. GearCheck Lab reports that result exactly and still asks you to confirm the physical vibration you actually felt.

A successful API result confirms the browser accepted/completed the request path; it does not measure motor force, frequency or mechanical health.

Limitations

  • No force sensor confirms physical vibration intensity.
  • The page cannot verify vibration motors that the browser does not expose.
  • Wireless adapters, remote sessions and OS drivers can affect capability.
  • Trigger-rumble hardware is not guaranteed to be accessible even when the controller supports it in native games.
  • Gamepad haptics are not Baseline across major browsers, so cross-browser support can differ substantially.

A repeatable controller rumble comparison

Use the tool as a controlled comparison, not a one-click motor verdict. Keep the controller, browser and connection recorded so another run can be reproduced.

  1. Record the setup. Note the controller model, browser, operating system and whether the connection is USB, Bluetooth or a wireless adapter.
  2. Wake the controller. Press a button, then wait for the capability panel to identify the actuator path and exposed effects.
  3. Run each available effect twice. Compare weak, strong and dual rumble without changing grip or placing the controller on a different surface.
  4. Confirm the physical response. Record what you felt separately from the API completion message; the browser cannot sense motor force.
  5. Change one variable. If troubleshooting, switch only the browser or connection mode and repeat the same sequence.
  6. Stop on abnormal behaviour. Use Stop Vibration if an effect persists and do not continue if the controller becomes unusually hot or behaves unpredictably.

Worked rumble results and next steps

Observed resultWhat it supportsUseful next step
API completes and both effects feel distinctThis browser/controller path accepted the requests and produced a physically noticeable difference under this setup.Repeat once, then record the exact browser and connection with the result.
API completes but no vibration is feltThe request path completed; physical motor movement was not verified.Retry while holding the controller, compare a native game, then test another browser or connection.
Request is preempted or resetThe effect was replaced, stopped or interrupted before normal completion.Keep the tab visible, run one effect at a time and retry after reconnecting.
Haptics unsupportedThe current browser stack exposes no compatible actuator path.Do not diagnose broken motors from this alone; compare another supported browser or native game.
Works over USB but not BluetoothThe connection, driver, battery or wireless platform path may be relevant.Charge and re-pair the controller, then repeat both modes with the same browser.

Troubleshoot a missing or inconsistent vibration response

  • No controller detected: focus the page, press a face button, reconnect the cable or re-pair Bluetooth before assessing haptics.
  • Controls stay disabled: the browser has not exposed a compatible actuator or declared effect; try another browser/platform path.
  • Only generic pulse is available: treat it as one vibration capability, not proof of separate weak and strong motors.
  • Results change between runs: keep the tab visible, avoid overlapping effects and repeat with one connection variable at a time.
  • Native games vibrate but this page does not: the native driver/game path and browser Gamepad haptics path are different; this is not automatic evidence of hardware failure.
The page observes capability and request completion. It cannot measure motor force, frequency, mechanical noise, battery health or internal controller damage.

Controller vibration test FAQ

My controller vibrates in games but says unsupported here. Is it broken?

No. Browser haptic support is limited and platform-dependent. Test another browser or connection mode before drawing a hardware conclusion.

Can this test damage the controller?

The presets use short, bounded browser haptic requests. Stop the test if the device behaves unexpectedly.

Can you test trigger rumble?

Only when the browser explicitly lists trigger-rumble for the current actuator. Missing browser support does not prove the controller lacks native trigger haptics.

Why can the API report complete when I feel no vibration?

Complete means the browser and exposed actuator accepted and finished the request path. It does not verify physical motor movement, force or frequency.

Should I compare USB and Bluetooth rumble?

Yes, when both modes are available. A difference can point toward a connection, driver or platform path, but repeat each mode before interpreting it.

Can this page measure vibration strength?

No. Browsers provide effect requests and completion states, not calibrated force measurements. Compare only what you physically feel under the same setup.