Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
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 navigator.getGamepads(). Gamepads are strictly associated with the WebXR hardware and are not general-purpose gaming devices.Gamepad.id is an empty string ("")Gamepad.index is -1Gamepad.connected is true until the XRInputSource is removed from the list of active XR input sources or the XRSession is ended.Gamepad.axes represents an axis of a touchpad, the value is 0 when the associated GamepadButton.touched property is false.Gamepad.mapping returns "xr-standard".for (const source of frame.session.inputSources) {
const gamepad = source.gamepad;
if (gamepad) {
if (gamepad.buttons[2].pressed) {
// do something
}
}
}