Firefox Tomorrow

web api instance property

XRInputSource: gamepad property

View on MDN ↗

Secure context

The read-only XRInputSource property gamepad returns a Gamepad object describing the state of the buttons and axes on the XR input source, if it is a gamepad or comparable device. If the device isn’t a gamepad-like device, this property’s value is null.

The Gamepad instance returned behaves as described by the Gamepad API. However, there are a few things to note:

  • Gamepad instances belonging to XRInputSource are not included in the array returned by getGamepads(). Gamepads are strictly associated with the WebXR hardware and are not general-purpose gaming devices.
  • id is an empty string ("")
  • index is -1
  • connected is true until the XRInputSource is removed from the list of active XR input sources or the XRSession is ended.
  • If an axis reported by axes represents an axis of a touchpad, the value is 0 when the associated touched property is false.
  • mapping returns “xr-standard”.

Examples

Using a gamepad input source

for (const source of frame.session.inputSources) {
  const gamepad = source.gamepad;
  if (gamepad) {
    if (gamepad.buttons[2].pressed) {
      // do something
    }
  }
}

Specifications

SpecificationsStandards references are available on the canonical MDN page.

Browser compatibility

Browser compatibilityCompatibility data is available on the canonical MDN page.