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.

* Some parts of this feature may have varying levels of support.

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, wodurch der Zugriff auf Informationen wie Tastenanschläge, Achsenpositionen und ID ermöglicht wird.

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

Hinweis: Die Unterstützung von Gamepad-Funktionen variiert zwischen verschiedenen Kombinationen von Plattformen und Controllern. Selbst wenn der Controller eine bestimmte Funktion (zum Beispiel haptisches Feedback) unterstützt, heißt das nicht, dass die Plattform diese Funktion für diesen Controller unterstützt.

Instanz-Eigenschaften

Gamepad.axes Schreibgeschützt

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

Gamepad.buttons Schreibgeschützt

Ein Array von gamepadButton Objekten, die die auf dem Gerät vorhandenen Tasten darstellen.

Gamepad.connected Schreibgeschützt

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

Gamepad.displayId Schreibgeschützt Veraltet Nicht standardisiert

Gibt die VRDisplay.displayId eines zugehörigen VRDisplay zurück (falls relevant) — das VRDisplay, das das Gamepad steuert, um die angezeigte Szene darzustellen.

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 eine auf dem Controller verfügbare haptische Rückmeldungshardware darstellt.

Gamepad.vibrationActuator Schreibgeschützt

Ein GamepadHapticActuator Objekt, das die auf dem Controller verfügbare haptische Rückmeldungshardware darstellt.

Gamepad.id Schreibgeschützt

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

Gamepad.index Schreibgeschützt

Eine ganze Zahl, die automatisch hochgezählt wird, um für jedes derzeit mit dem System verbundene Gerät eindeutig zu sein.

Gamepad.mapping Schreibgeschützt

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

Gamepad.pose Schreibgeschützt Experimentell

Ein GamepadPose Objekt, das die Pose-Informationen darstellt, die mit einem WebVR-Controller verbunden sind (z.B. seine Position und Ausrichtung im 3D-Raum).

Gamepad.timestamp Schreibgeschützt

Ein DOMHighResTimeStamp, der die letzte Zeit darstellt, zu 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

Siehe auch