XRInputSource: gamepad-Eigenschaft

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die schreibgeschützte XRInputSource-Eigenschaft gamepad gibt ein Gamepad-Objekt zurück, das den Zustand der Tasten und Achsen der XR-Eingabequelle beschreibt, wenn es sich um einen Gamepad-ähnlichen oder vergleichbaren Gerätetyp handelt. Sollte das Gerät nicht wie ein Gamepad sein, ist der Wert dieser Eigenschaft null.

Die zurückgegebene Gamepad-Instanz verhält sich so, wie es in der Gamepad API beschrieben ist. Es gibt jedoch einige wichtige Punkte zu beachten:

  • Gamepad-Instanzen, die zu XRInputSource gehören, sind nicht in dem Array enthalten, das durch navigator.getGamepads() zurückgegeben wird. Gamepads sind ausschließlich mit der WebXR-Hardware verbunden und keine Allzweck-Gaming-Geräte.
  • Gamepad.id ist ein leerer String ("").
  • Gamepad.index ist -1.
  • Gamepad.connected ist true, bis die XRInputSource aus der Liste der aktiven XR-Eingabequellen entfernt wird oder die XRSession beendet wird.
  • Wenn eine Achse, die durch Gamepad.axes gemeldet wird, eine Achse eines Touchpads darstellt, ist der Wert 0, wenn die zugehörige GamepadButton.touched-Eigenschaft false ist.
  • Gamepad.mapping gibt "xr-standard" zurück.

Beispiele

Verwendung einer Gamepad-Eingabequelle

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

Spezifikationen

Specification
WebXR Gamepads Module - Level 1
# dom-xrinputsource-gamepad

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
gamepad

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support