ToolActToolAct

Gamepad-Test

Gamepad-Tasten, Sticks, Trigger, Steuerkreuz und Vibration im Browser testen

Kein Gamepad erkannt
Gamepad anschließen und eine beliebige Taste drücken, um es zu aktivieren
LBRBYXBA

Linker Stick

X: 0.00Y: 0.00
Zentriert

Rechter Stick

X: 0.00Y: 0.00
Zentriert

Trigger

LT
0.00
RT
0.00

Vibrationstest

Dieses Gamepad oder dieser Browser unterstützt keine Vibration.

Ereignisverlauf

Drücke eine Gamepad-Taste, um den Test zu starten...

Was ist ein Gamepad-Test?

Ein Gamepad-Test liest die Signale, die dein Controller über die W3C Gamepad API an den Browser sendet, und zeigt sie in Echtzeit an: jeden Tastendruck, jede Analogstick-Position, jede Trigger-Tiefe, jede Steuerkreuz-Richtung und die Vibrationsmotoren. Er ist der schnellste Weg, um vor einer Partie zu prüfen, ob ein Controller funktioniert, eine klemmende Gesichtstaste zu diagnostizieren, Stick-Drift bei einem älteren Pad zu erkennen oder nachzuprüfen, ob beide Vibrationsmotoren auslösen. Die Seite hebt jeden Eingang in einem Xbox-artigen Layout hervor, zeigt die rohen Achs- und Trigger-Werte an und führt ein kurzes Ereignisprotokoll. Da die Gamepad API einen Controller erst freigibt, nachdem du eine Taste auf ihm gedrückt hast, bittet die Seite dich zuerst, eine beliebige Taste zu drücken – das ist eine Browsersicherheitsregel, kein Defekt deines Pads. Alles läuft lokal in deinem Browser; keine Eingabedaten verlassen dein Gerät.

Anleitung

Bedienung

  1. Gamepad per USB oder Bluetooth verbinden
  2. Eine beliebige Taste auf dem Gamepad drücken, um es zu aktivieren
  3. Beobachten, wie das Layout auf dem Bildschirm bei Tastendruck oder Stick-Bewegung aufleuchtet
  4. Mit den Vibrations-Tasten die Vibrationsmotoren testen
  5. Den Ereignisverlauf prüfen, um sicherzustellen, dass jeder Druck erkannt wurde

Tipps

  • Eine grüne Hervorhebung bedeutet, dass der Eingang den Browser korrekt erreicht
  • Ein Controller erscheint erst, nachdem du eine Taste auf ihm gedrückt hast – das ist eine Browsersicherheitsregel
  • Vibrationsunterstützung hängt von Browser und Gamepad ab; Firefox hat die breiteste Unterstützung
  • Wenn ein Stick im Ruhezustand einen Wert ungleich null anzeigt, warnt dich die Drift-Markierung vor Stick-Drift
  • Bei mehreren verbundenen Gamepads kannst du über die Slot-Chips zwischen ihnen wechseln

Anwendungsfälle

Reaktionslose oder doppelt auslösende Tasten diagnostizierenJede Gesichtstaste, jede Schultertaste und jede Steuerkreuz-Richtung einmal antippen und beobachten, wie das Layout auf dem Bildschirm anhand des echten Tastenzustands aufleuchtet. Der Ereignisverlauf protokolliert jedes Drücken und Loslassen, sodass ein Schalter, der bei einem einzigen Antippen zweimal feuert oder gar nicht reagiert, sofort im Vergleich zu einer funktionierenden Taste sichtbar wird.
Analogstick-Drift erkennenBeide Sticks zentriert lassen und die Live-X/Y-Werte ablesen. Ein intakter Stick liegt im Ruhezustand nahe 0,00; die Drift-Markierung wird orange, sobald ein Stick in Ruhe mehr als etwa 0,12 meldet – das klassische Symptom verschlissener Stick-Module, das deine Figur oder den Mauszeiger von selbst verschiebt.
Trigger-Linearität prüfenLT und RT langsam durchziehen und beobachten, wie der Wert auf den Trigger-Balken von 0,00 auf 1,00 steigt. Ein Trigger, der springt, zu früh auf Maximum geht oder den vollen Wert nie erreicht, hat ein verschlissenes Potentiometer – nützlich, das zu bestätigen, bevor man der Gaspedal-Feeling eines Rennspiels die Schuld gibt.
Vibrationsmotoren unabhängig voneinander testenDie Schaltflächen für Schwach, Stark und Dual Rumble steuern den Hochfrequenz- und den Niederfrequenz-Motor über die GamepadHapticActuator API getrennt an. Wenn nur eine Intensität auslöst, ist ein Motor defekt; passiert gar nichts, fehlt entweder dem Pad oder dem Browser die Vibrationsunterstützung, und die Seite zeigt das ausdrücklich an.
Mehrere Gamepads erkennen und zwischen ihnen wechselnDas Statusfeld zeigt für jedes Pad die Vendor-ID-Zeichenkette, den Mapping-Typ (Standard vs. nicht standard), den Slot-Index sowie die Anzahl der Tasten und Achsen an. Wenn mehrere Pads gekoppelt sind, kannst du über die Slot-Chips ohne erneutes Verbinden zwischen ihnen wechseln – praktisch, um vor einer lokalen Multiplayer-Runde einen ganzen Satz Controller zu prüfen.

Technisches Prinzip

Der Browser stellt Gamepads über die W3C Gamepad API bereit. Ein Controller wird durch ein Gamepad-Objekt repräsentiert, das von navigator.getGamepads() geliefert wird und bis zu vier Slots zurückgibt. Jedes Gamepad trägt eine id-Zeichenkette (Vendor und Product), ein mapping-Feld ('standard' für Geräte mit Xbox-Layout, sonst leer), ein buttons-Array und ein axes-Array. Unter dem Standard-Mapping hat buttons 17 Einträge: vier Gesichtstasten (A/B/X/Y), zwei Bumper (LB/RB), zwei analoge Trigger (LT/RT), Select/Start, zwei Stick-Klicks (L3/R3), vier Steuerkreuz-Richtungen und die Home/Guide-Taste. Jede Taste verfügt über .pressed (boolesch) und .value (0 bis 1 – Trigger sind analog, digitale Tasten 0 oder 1). Das axes-Array enthält vier Werte im Bereich -1 bis 1: linker Stick X/Y, dann rechter Stick X/Y. Die API ist poll-basiert, nicht ereignisbasiert, daher betreibt die Seite eine requestAnimationFrame-Schleife und liest jeden Frame einen frischen Snapshot. Um nutzlose Re-Renders im Leerlauf zu vermeiden, wird der Zustand nur aktualisiert, wenn sich gamepad.timestamp ändert – dieser Zeitstempel rückt mit jedem neuen Eingabe-Report vor. Verbinden und Trennen kommen als gamepadconnected- und gamepaddisconnected-Events am window an. Aus Sicherheitsgründen bleibt ein Gamepad-Objekt null, bis der Benutzer eine Taste darauf drückt, weshalb die Seite ein frisch eingestecktes Pad nicht lautlos auslesen kann. Vibration ist optional: Existiert gamepad.vibrationActuator, steuert ein Aufruf von playEffect('dual-rumble', { duration, weakMagnitude, strongMagnitude }) die beiden Motoren an; Safari und einige Chromium-Builds implementieren das nicht, weshalb die Seite ein Feature-Detection durchführt und die Schaltflächen andernfalls deaktiviert.

  • navigator.getGamepads() liefert bis zu vier Slots; ein Pad ist erst nach einem Tastendruck auf ihm nicht null.
  • Standard-Mapping: buttons[0-3] Gesichtstasten, [4-5] Bumper, [6-7] analoge Trigger, [8-9] Select/Start, [10-11] L3/R3, [12-15] Steuerkreuz, [16] Home.
  • axes[0-1] ist der linke Stick (X, Y), axes[2-3] der rechte Stick, jeweils im Bereich -1 bis 1.
  • Polling-Modell: Eine requestAnimationFrame-Schleife liest Snapshots; gamepad.timestamp steuert die Aktualisierung, sodass Leerlauf-Frames nichts tun.
  • Vibration über gamepad.vibrationActuator.playEffect('dual-rumble', ...) – per Feature-Detection, nicht in jedem Browser unterstützt.
  • gamepadconnected / gamepaddisconnected signalisieren Verbinden und Trennen; der .index des Pads identifiziert seinen Slot.

Beispiele

Gesichtstaste drücken

A drücken -> buttons[0].pressed = true, value = 1.0

Linken Stick bewegen

Linken Stick nach oben-rechts schieben -> axes[0] = 0.71, axes[1] = -0.68

Trigger durchziehen

RT halb durchziehen -> buttons[7].value = 0.50, pressed = false (unterhalb Schwelle)

FAQ

Warum reagiert mein Gamepad nach dem Anschließen nicht?

Die Gamepad API hält einen Controller verborgen, bis du eine Taste darauf drückst, um zu verhindern, dass Seiten angeschlossene Geräte lautlos fingerprinten. Verbinde das Pad per USB oder Bluetooth, fokussiere diesen Tab und drücke dann eine beliebige Taste – das Statusfeld schaltet auf „Verbunden“. Dieser Aktivierungsschritt ist eine Browsersicherheitsregel, kein Defekt.

Welche Controller werden unterstützt?

Jeder Controller, den der Browser mit Standard-Mapping bereitstellt: Xbox One/Series-Controller, DualShock 4 und DualSense (die meisten Systeme bilden sie auf Standard ab) sowie die meisten generischen USB-Gamepads. Egal ob per Bluetooth oder USB – der Browser normalisiert sie alle auf dasselbe 17-Tasten- und 4-Achsen-Layout. Nicht-Standard-Pads funktionieren ebenfalls, aber ihre Tastenreihenfolge stimmt möglicherweise nicht mit den Bildschirm-Beschriftungen überein.

Warum funktioniert die Vibration nicht?

Die Vibrationsunterstützung variiert. Firefox bietet die breiteste Unterstützung; Chrome und Edge unterstützen sie in aktuellen Versionen; Safari implementiert sie nicht. Auch das Pad selbst muss gamepad.vibrationActuator bereitstellen. Die Seite prüft das und zeigt einen ausdrücklichen Hinweis „nicht unterstützt“ statt einfach nichts zu tun – fehlende Vibration ist also ein Browser- oder Hardware-Limit, kein Bug dieses Tools.

Mein Stick zeigt einen Wert an, ohne dass ich ihn berühre – ist er kaputt?

Ein kleiner Wert nahe 0 ist normales Dead-Zone-Rauschen. Liegt ein Stick im Ruhezustand auf einer Achse über etwa 0,12, wird die Drift-Markierung orange – das ist klassischer Stick-Drift, verursacht durch verschlissene Potentiometer-Module. Es ist ein Hardware-Problem, das mit der Zeit meist schlimmer wird; das Werkzeug erlaubt dir, es zu bestätigen, bevor du einem Spiel die Schuld gibst.

Wird etwas davon an einen Server gesendet?

Nein. Die Gamepad API wird vollständig in deinem Browser gelesen. Tastendrücke, Stick-Positionen und Vibrationsbefehle verlassen niemals dein Gerät. Nichts wird protokolliert oder übertragen.

Kann das Tool DualSense-adaptive Trigger, das Touchpad oder Gyroskop testen?

Nein. Die Standard-Gamepad API stellt nur Tasten, Achsen und einfache Vibration bereit. Die adaptiven Trigger des DualSense, das kapazitive Touchpad und die Bewegungssensoren gehören nicht zum Web-Standard (einige stecken hinter experimentellen Erweiterungen mit schlechter Browser-Unterstützung) und lassen sich daher nicht zuverlässig aus dem Browser testen.