Gamepad

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.

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

Das Gamepad-Interface der Gamepad API definiert ein einzelnes Gamepad oder einen anderen Controller und ermöglicht den Zugriff auf Informationen wie Tastendrücke, Achsenpositionen und ID.

Ein Gamepad-Objekt kann auf zwei Arten zurückgegeben werden: über die gamepad-Eigenschaft der gamepadconnected und gamepaddisconnected Ereignisse oder durch Abrufen einer beliebigen Position im Array, das von der Methode Navigator.getGamepads() zurückgegeben wird.

Hinweis: Die Unterstützung von Gamepad-Funktionen variiert je nach Kombination von Plattformen und Controllern. Auch wenn der Controller eine bestimmte Funktion (zum Beispiel haptisches Feedback) unterstützt, kann es sein, dass die Plattform diese Funktion für diesen Controller nicht unterstützt.

Instanz-Eigenschaften

Gamepad.axes Schreibgeschützt

Ein Array, das die Steuerungen mit Achsen darstellt, die auf dem Gerät vorhanden sind (z.B. analoge Daumensticks).

Gamepad.buttons Schreibgeschützt

Ein Array von gamepadButton-Objekten, die die Tasten darstellen, die auf dem Gerät vorhanden sind.

Gamepad.connected Schreibgeschützt

Ein Boolean-Wert, der angibt, ob das Gamepad noch mit dem System verbunden ist.

Gamepad.displayId Schreibgeschützt Veraltet Nicht standardisiert

Gibt die VRDisplay.displayId eines zugeordneten VRDisplay zurück (falls relevant) — das VRDisplay, das das Gamepad zur Steuerung der angezeigten Szene verwendet.

Gamepad.hand Schreibgeschützt Experimentell

Ein Enum, das definiert, in welcher Hand der Controller gehalten wird oder wahrscheinlich gehalten wird.

Gamepad.hapticActuators Schreibgeschützt Experimentell

Ein Array, das GamepadHapticActuator-Objekte enthält, von denen jedes die auf dem Controller verfügbare haptische Feedback-Hardware darstellt.

Gamepad.vibrationActuator Schreibgeschützt

Ein GamepadHapticActuator-Objekt, das die auf dem Controller verfügbare haptische Feedback-Hardware darstellt.

Gamepad.id Schreibgeschützt

Ein String, der Identifikationsinformationen über den Controller enthält.

Gamepad.index Schreibgeschützt

Ein Integer, der automatisch inkrementiert wird, um für jedes aktuell mit dem System verbundene Gerät einzigartig zu sein.

Gamepad.mapping Schreibgeschützt

Ein String, der angibt, ob der Browser die Steuerelemente auf dem Gerät auf ein bekanntes Layout umgemappt hat.

Gamepad.pose Schreibgeschützt Experimentell

Ein GamepadPose-Objekt, das die Poseninformationen eines WebVR-Controllers darstellt (z.B. seine Position und Orientierung im 3D-Raum).

Gamepad.timestamp Schreibgeschützt

Ein DOMHighResTimeStamp, der die letzte Zeit repräsentiert, in der die Daten für dieses Gamepad aktualisiert wurden.

Beispiel

js
window.addEventListener("gamepadconnected", (e) => {
  console.log(
    "Gamepad connected at index %d: %s. %d buttons, %d axes.",
    e.gamepad.index,
    e.gamepad.id,
    e.gamepad.buttons.length,
    e.gamepad.axes.length,
  );
});

Spezifikationen

Specification
Gamepad
# gamepad-interface
Gamepad Extensions
# partial-gamepad-interface

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch