This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The pulse() method of the GamepadHapticActuator interface makes the hardware pulse at a certain intensity for a specified duration.


gamepadHapticActuatorInstance.pulse(value, duration).then(function(result) { ... });


A double representing the intensity of the pulse. This can vary depending on the hardware type, but generally takes a value between 0.0 (no intensity) and 1.0 (full intensity).
A double representing the duration of the pulse, in milliseconds.

Note: Repeated calls to pulse() override the previous calls if they are still ongoing.

Return value

A promise that resolves with a value of true when the pulse has successfully completed.




Specification Status Comment
Gamepad Extensions
The definition of 'pulse()' in that specification.
Editor's Draft Initial definition

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Chrome No support NoEdge No support 15 — 79Firefox Full support Yes
Notes Disabled
Full support Yes
Notes Disabled
Notes The flag is enabled by default in Firefox Nightly and Beta, versions 55 and above.
Disabled This feature is behind the dom.gamepad-extensions.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No


Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.

See also