W3cubDocs

/Web APIs

GamepadEvent

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨March 2017⁩.

* Some parts of this feature may have varying levels of support.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

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

Event GamepadEvent

Constructor

GamepadEvent()

Returns a new GamepadEvent object.

Instance 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 gamepadconnected event.

window.addEventListener("gamepadconnected", (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 gamepaddisconnected event.

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

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
GamepadEvent 35 12 29 22 10.1 35 32 22 10.3 3.0 37 10.3
GamepadEvent 21 12 29 15 10.1 25 32 14 10.3 1.5 4.4 10.3
gamepad 21 12 29 15 10.1 25 32 14 10.3 1.5 4.4 10.3
secure_context_required 86 86 91 72 No 86 91 No No No No No

See also

Using the Gamepad API

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/GamepadEvent