Gamepad: index property

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.

The Gamepad.index property of the Gamepad interface returns an integer that is auto-incremented to be unique for each device currently connected to the system.

This can be used to distinguish multiple controllers; a gamepad that is disconnected and reconnected will retain the same index.

Value

A number.

Examples

js
window.addEventListener("gamepadconnected", () => {
  const gp = navigator.getGamepads()[0];
  gamepadInfo.textContent = `Gamepad connected at index ${gp.index}: ${gp.id}.`;
});

Specifications

Specification
Gamepad
# dom-gamepad-index

Browser compatibility

See also

Using the Gamepad API