GamepadEvent

The GamepadEvent interface of the Gamepad API contains references to gamepads connected to the system, which is what the gamepad events Window.gamepadconnected and Window.gamepaddisconnected are fired in response to.

Constructor

GamepadEvent()
Returns a new GamepadEvent object.

Properties

GamepadEvent.gamepad Read only
Returns a Gamepad object, providing access to the associated gamepad data for the event fired.

Examples

The gamepad property being called on a fired Window.gamepadconnected event.

window.addEventListener("gamepadconnected", function(e) {
  console.log("Gamepad connected at index %d: %s. %d buttons, %d axes.",
  e.gamepad.index, e.gamepad.id,
  e.gamepad.buttons.length, e.gamepad.axes.length);
});

And on a Window.gamepaddisconnected event.

window.addEventListener("gamepaddisconnected", function(e) {
  console.log("Gamepad disconnected from index %d: %s",
  e.gamepad.index, e.gamepad.id);
});

Specifications

Specification Status Comment
Gamepad
The definition of 'GamepadEvent' in that specification.
Working Draft Initial definition

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
GamepadEventChrome Full support 35
Full support 35
No support 21 — 34
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support ≤18Firefox Full support 29
Full support 29
No support 24 — 28
Disabled
Disabled From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 22
Full support 22
No support 15 — 21
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari Full support 10.1WebView Android No support NoChrome Android Full support YesFirefox Android Full support 32Opera Android Full support 22
Full support 22
No support 14 — 21
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari iOS Full support 10.3Samsung Internet Android Full support Yes
GamepadEvent() constructorChrome Full support 35Edge Full support 12Firefox Full support 29
Full support 29
No support 24 — 28
Disabled
Disabled From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 22Safari Full support 10.1WebView Android No support NoChrome Android Full support YesFirefox Android Full support 32Opera Android Full support 22Safari iOS Full support 10.3Samsung Internet Android Full support Yes
gamepadChrome Full support 35
Full support 35
No support 21 — 34
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge Full support 12Firefox Full support 29
Full support 29
No support 24 — 28
Disabled
Disabled From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera Full support 22
Full support 22
No support 15 — 21
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari Full support 10.1WebView Android No support NoChrome Android Full support YesFirefox Android Full support 32Opera Android Full support 22
Full support 22
No support 14 — 21
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Safari iOS Full support 10.3Samsung Internet Android Full support Yes

Legend

Full support
Full support
No support
No support
User must explicitly enable this feature.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

See also

Using the Gamepad API