Ein Klassiker am PC: Der Controller funktioniert in einem Spiel, tut im nächsten gar nichts und verhält sich im dritten seltsam. Die Hardware ist dabei meistens in Ordnung. Unterschiedlich ist die Art, wie jedes Spiel Windows nach Controller-Eingaben fragt. Zwei Programmierschnittstellen, XInput und DirectInput, bestimmen das bis heute zu einem großen Teil. Wer weiß, welche davon ein Spiel und ein Gerät nutzen, kann die meisten dieser Probleme erklären.
Was XInput ist
XInput ist die Schnittstelle von Microsoft für Controller im Xbox-Stil. Sie kam zusammen mit dem Xbox-360-Controller für Windows und geht von einem festen Layout aus: zwei Analogsticks, zwei analoge Trigger, ein Steuerkreuz, die Tasten A/B/X/Y, zwei Schultertasten, Back/View und Start/Menu, zwei Stick-Klicks und zwei Vibrationsmotoren. Bis zu vier Controller werden gleichzeitig unterstützt.
Weil sich das Layout nie ändert, ist XInput für Entwickler bequem. Ein Spiel weiß, dass „A“ immer an derselben Stelle liegt und die Trigger getrennte Achsen sind. So kann es die richtigen Tastensymbole anzeigen und braucht keinen Einrichtungsbildschirm. Genau diese Einfachheit ist aber auch die Grenze: Alles, was nicht ins Xbox-Layout passt, etwa ein Lenkrad mit vielen Tasten, ein Schubhebel mit zusätzlichen Achsen oder ein Coolie-Hat am Flugstick, lässt sich über XInput nicht abbilden.
Was DirectInput ist
DirectInput ist die ältere und flexiblere Schnittstelle und gehört seit den 1990er-Jahren zu DirectX. Statt eines festen Layouts meldet das Gerät selbst, was es hat: eine bestimmte Anzahl an Achsen, Tasten und POV-Hats. Das Spiel liest dann aus, was vorhanden ist, und lässt dich die Funktionen meist in einem Belegungsmenü zuweisen. DirectInput deckt außerdem Force-Feedback-Effekte ab, weshalb Lenkräder darauf angewiesen sind.
Lenkräder, Pedale, Joysticks, HOTAS-Schubhebel, Button-Boxen und viele einfache oder ältere Gamepads melden sich als DirectInput-Geräte. Wenn du in Windows joy.cpl öffnest und eine Liste von Achsen und nummerierten Tasten siehst, schaust du genau auf diese Art von Gerätebeschreibung.
Warum ein Controller in einem Spiel geht und im anderen nicht
Viele moderne PC-Spiele, vor allem Konsolen-Ports und Actionspiele, sind auf XInput ausgelegt. Sie erwarten einen Controller im Xbox-Stil und ignorieren oft alles andere. Renn- und Flugsimulationen gehen den umgekehrten Weg: Sie listen DirectInput-Geräte auf, damit du Lenkrad, Pedale, Schaltung und Button-Box oder Stick, Schubhebel und Ruderpedale kombinieren kannst.
- Ein einfaches DirectInput-Gamepad in einem reinen XInput-Spiel: Das Spiel sieht es schlicht nicht, obwohl es in
joy.cplfunktioniert. - Ein Lenkrad oder HOTAS in einem Spiel ohne DirectInput-Unterstützung: dasselbe Ergebnis. Manche Geräte bieten einen Xbox- oder PC-Modus, aber ein Lenkrad, das sich als Gamepad ausgibt, verliert das meiste, was es nützlich macht.
- Ein Xbox-Controller in einem älteren DirectInput-Spiel: Das klappt meistens, weil Windows XInput-Controller auch über DirectInput bereitstellt. Dabei gibt es eine bekannte Altlast: Auf diesem Weg meldet ein Controller im Stil des Xbox 360 beide Trigger auf einer gemeinsamen Achse. Drückst du beide, heben sie sich auf, und das Spiel kann „beide gedrückt“ nicht von „keiner gedrückt“ unterscheiden.
- PlayStation- und Switch-Controller: Sie sind keine XInput-Geräte. Spiele mit nativer Unterstützung funktionieren problemlos, andere brauchen eine Übersetzungsschicht.
Windows hat inzwischen auch neuere Eingabeschnittstellen, und viele Spiele nutzen darauf aufbauende Eingabebibliotheken ihrer Engine. In der Praxis unterscheiden auch diese zwischen Gamepads und anderen Controller-Arten, sodass die Trennung für dich als Spieler oft sichtbar bleibt.
Vergleich
| XInput | DirectInput | |
|---|---|---|
| Layout | Festes Xbox-Layout | Vom Gerät festgelegt |
| Anzahl Geräte | Bis zu vier Controller | Viele Geräte gleichzeitig |
| Trigger | Zwei getrennte analoge Achsen | Geräteabhängig (gemeinsame Achse bei Xbox-360-Pads) |
| Force Feedback | Zwei Vibrationsmotoren | Vollständige Effekte, genutzt von Lenkrädern |
| Typische Geräte | Xbox- und Xbox-kompatible Gamepads | Lenkräder, Pedale, Joysticks, HOTAS, einfache Pads |
| Typische Spiele | Moderne Actionspiele, Konsolen-Ports | Renn- und Flugsimulationen, ältere Spiele |
Wie Übersetzungsschichten helfen
Eine Übersetzungsschicht liest deinen Controller aus und gibt gegenüber dem Spiel einen virtuellen Controller eines anderen Typs aus. Die bekannteste ist Steam Input. Bei Spielen, die du über Steam startest, kann es einen PlayStation-, Switch- oder einfachen Controller als Controller im Xbox-Stil erscheinen lassen und die Tasten pro Spiel neu belegen. Du aktivierst es pro Controller-Typ in den Controller-Einstellungen von Steam und kannst es in den Eigenschaften eines Spiels gezielt überschreiben.
Daneben gibt es Remapping- und Emulationstools von Drittanbietern, von denen manche virtuelle Controller-Treiber installieren. Sie können nützlich sein, fügen aber eine weitere Schicht hinzu, die doppelte Eingaben, Konflikte mit Steam Input oder Probleme nach Updates verursachen kann.
Bevor du ein Remapping-Tool installierst, prüfe, ob das Gerät einen Xbox/PC-Modusschalter oder eine Hersteller-App mit XInput-Unterstützung hat. Wenn du doch ein Drittanbieter-Tool nutzt, lade es nur von der offiziellen Projektseite, verwende immer nur ein Remapping-Tool gleichzeitig und deinstalliere es sauber, wenn du es nicht mehr brauchst.
Wie Browser Controller sehen
Browser geben XInput oder DirectInput nicht an Webseiten weiter. Sie lesen Controller über das Betriebssystem aus und reichen sie über die Gamepad API weiter. Erkennt ein Browser ein Gerät als normales Gamepad, meldet er das Mapping "standard": Tasten und Achsen in einer festen Reihenfolge, die dem Xbox-/PlayStation-Layout entspricht. Bei Lenkrädern, Joysticks und unbekannten Pads meldet er stattdessen das rohe Layout, mit Tasten und Achsen in der Reihenfolge, in der das Gerät sie beschreibt.
Deshalb zeigt unser Gamepad-Tester einen Controller manchmal mit übersichtlicher Tastengrafik und manchmal als schlichte Liste nummerierter Tasten und Achsen. Beides ist normal. Wenn ein Controller in Spielen funktioniert, im Browser aber gar nicht auftaucht, hilft unser Ratgeber zu Controllern, die der Browser nicht erkennt.
Checkliste zur Fehlersuche
- Prüfe, ob Windows das Gerät sieht: Drücke Win + R, gib
joy.cplein und teste die Eingaben unter Eigenschaften. - Finde heraus, was das Spiel unterstützt. Shopseite, Einstellungsmenü oder Handbuch verraten meist, ob nur Gamepads oder auch Lenkräder und Joysticks unterstützt werden.
- Hat das Gerät einen Modusschalter, probiere den Xbox- oder PC-Modus, der zum Spiel passt.
- Aktiviere bei Steam-Spielen Steam Input für Nicht-Xbox-Controller oder deaktiviere es pro Spiel, wenn du doppelte Eingaben bemerkst.
- Beende andere Remapping-Tools und Overlays und schließe den Controller neu an.
- Installiere bei Lenkrädern und HOTAS den Treiber des Herstellers und prüfe, ob das Gerät korrekt aufgeführt wird. Siehe Lenkrad wird am PC nicht erkannt.
- Werden Eingaben erkannt, aber falsch zugeordnet, nutze das Belegungsmenü im Spiel, statt dich auf die Standardbelegung zu verlassen.
Ist XInput besser als DirectInput?
Keine der beiden ist generell besser. XInput ist einfacher und gibt Spielen ein vorhersehbares Gamepad-Layout. DirectInput ist flexibler und wird für Lenkräder, Joysticks und Force-Feedback-Effekte gebraucht. Sie passen zu unterschiedlichen Geräten.
Warum verhalten sich die Trigger meines Xbox-Controllers in einem alten Spiel wie eine Achse?
Das Spiel liest den Controller über DirectInput aus, wo sich die Trigger von Xbox-360-Pads eine Achse teilen. Suche im Spiel nach einer XInput-Option, nach einem Community-Patch aus vertrauenswürdiger Quelle oder nutze eine Belegung über Steam Input.
Spielt es für den Browser eine Rolle, ob mein Controller XInput oder DirectInput nutzt?
Nicht direkt. Der Browser gibt beide über die Gamepad API aus. Der Unterschied, den du bemerkst, ist, ob er das Standard-Mapping oder eine rohe Liste von Tasten und Achsen meldet.