← Zur Begriffsliste X

XInput

Rubrik:Schnittstellen

Beschreibung

XInput ist eine von Microsoft entwickelte Programmierschnittstelle (API), die zur Verarbeitung von Eingaben kompatibler Gamecontroller unter Windows verwendet wird. Sie ermöglicht es Computerspielen und anderen Anwendungen, den Zustand von Tasten, Analogsticks und Triggern auszulesen sowie bestimmte Vibrationsfunktionen anzusteuern. XInput wurde insbesondere für die Verwendung von Xbox-Controllern am PC entwickelt und bietet eine einheitliche Schnittstelle für entsprechend kompatible Eingabegeräte.

Das grundlegende Funktionsprinzip besteht darin, die Eingabedaten eines Controllers über eine standardisierte Software-Schnittstelle bereitzustellen. Eine Anwendung kann beispielsweise abfragen, welche Tasten gedrückt werden, wie weit ein Analogstick ausgelenkt ist oder in welchem Umfang ein analoger Trigger betätigt wird. Die erfassten Zustände werden anschließend vom Spiel verarbeitet und in Bewegungen oder Aktionen innerhalb der virtuellen Umgebung umgesetzt.

XInput verwendet ein weitgehend festgelegtes Controllerlayout, das sich an den Bedienelementen der Xbox-Controller orientiert. Dazu gehören zwei Analogsticks, ein digitales Steuerkreuz, Aktionstasten, Schultertasten und zwei analoge Trigger. Diese einheitliche Anordnung erleichtert die Entwicklung von Computerspielen, da kompatible Controller nach einem gemeinsamen Eingabeschema angesprochen werden können. Die Anwendung muss dadurch nicht für jedes unterstützte Modell eine vollständig eigene Tastenbelegung implementieren.

Die Schnittstelle wurde im Zusammenhang mit dem Xbox-360-Controller eingeführt und verbreitete sich ab Mitte der 2000er-Jahre zunehmend unter Windows. Microsoft stellte XInput als Bestandteil seiner Entwicklungswerkzeuge und Windows-Komponenten bereit. Durch die Verbreitung der Xbox-Controller und zahlreicher kompatibler Geräte entwickelte sich die Schnittstelle zu einem wichtigen Standard für die Gamepad-Unterstützung bei Windows-Spielen.

Ein wesentlicher Bestandteil von XInput ist die Unterstützung für analoge Eingaben. Die beiden Analogsticks liefern Positionswerte entlang ihrer horizontalen und vertikalen Achsen. Auch die Trigger können abgestufte Werte übertragen. Dadurch lassen sich beispielsweise die Bewegungsrichtung einer Spielfigur, die Kamerasteuerung oder die Beschleunigung eines Fahrzeugs differenziert erfassen. Zusätzlich können Anwendungen den Zustand einzelner digitaler Tasten abfragen.

Neben der Eingabeverarbeitung unterstützt XInput auch die Ansteuerung von Vibrationsmotoren kompatibler Controller. Spiele können dadurch bestimmte Ereignisse wie Kollisionen, Explosionen oder Fahrbahnunebenheiten durch fühlbare Rückmeldungen begleiten. Die klassische XInput-Vibrationssteuerung ermöglicht die getrennte Regelung zweier Vibrationsmotoren. Erweiterte haptische Funktionen moderner Controller werden jedoch nicht zwangsläufig über die klassische XInput-Schnittstelle bereitgestellt.

XInput wird häufig mit der älteren Microsoft-Schnittstelle DirectInput verglichen. DirectInput ist flexibler auf unterschiedliche Eingabegeräte ausgelegt und kann beispielsweise auch Joysticks mit zahlreichen Achsen und Tasten unterstützen. XInput konzentriert sich dagegen auf ein festgelegtes Controllerkonzept. Bei manchen PC-Gamepads lässt sich zwischen einem XInput- und einem DirectInput-Modus umschalten, um die Kompatibilität mit u

Weiterführende Informationen

DirectInput, DirectX, Gamecontroller, Gamepad, Analogstick, Steuerkreuz, USB-HID, Vibrationsfeedback, Xbox 360