# Window: gamepadconnected event



The `gamepadconnected` event is fired when the browser detects that a gamepad has been connected or the first time a button/axis of the gamepad is used.

The event will not fire if disallowed by the document's [gamepad](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Permissions-Policy%2Fgamepad) [Permissions Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Permissions_Policy).

This event is not cancelable and does not bubble.

## Syntax

Use the event name in [addEventListener()](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget%2FaddEventListener):

```js-nolint
addEventListener("gamepadconnected", (event) => { })
```

Alternatively, assign to the [event handler property](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Events#using_onevent_properties) of the interface:

```js-nolint
ongamepadconnected = (event) => { }
```

## Examples

To be informed when a gamepad is connected, you can add a handler to the window using [addEventListener()](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener), like this:

```js
window.addEventListener("gamepadconnected", (event) => {
  // All buttons and axes values can be accessed through
  const gamepad = event.gamepad;
});
```

Alternatively, you can use the `window.ongamepadconnected` event handler property to establish a handler for the `gamepadconnected` event (but note that this replaces other event listeners added using `ongamepadconnected`, if any):

```js
window.ongamepadconnected = (event) => {
  // All buttons and axes values can be accessed through
  const gamepad = event.gamepad;
};
```

## Specifications

## Browser compatibility

## See also

- [gamepaddisconnected](https://developer.mozilla.org/en-US/docs/Web/API/Window/gamepaddisconnected_event)
- [Using Gamepad API](https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API/Using_the_Gamepad_API)
