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

BCD tables only load in the browser