DirectInput
Rubrik:Schnittstellen
Beschreibung
DirectInput ist eine von Microsoft entwickelte Programmierschnittstelle (API) zur Verarbeitung von Eingaben verschiedener Computer-Eingabegeräte. Sie gehört zur DirectX-Technologiefamilie und wurde insbesondere für Computerspiele und andere interaktive Anwendungen entwickelt. Mit DirectInput können Programme Eingaben von Tastaturen, Mäusen, Joysticks, Gamepads und weiteren Steuergeräten erfassen. Die Schnittstelle ermöglicht eine weitgehend einheitliche Verarbeitung unterschiedlicher Eingabegeräte unter Microsoft Windows.
Das grundlegende Funktionsprinzip besteht darin, die von einem Eingabegerät erzeugten Signale über eine standardisierte Software-Schnittstelle an eine Anwendung weiterzugeben. DirectInput kann beispielsweise den Zustand einzelner Tasten, die Position eines Steuerhebels oder die Werte analoger Achsen bereitstellen. Ein Computerspiel verarbeitet diese Informationen anschließend und setzt sie in Bewegungen, Aktionen oder andere Steuerbefehle um. Dabei unterstützt DirectInput sowohl digitale als auch analoge Eingaben.
Eine wichtige Eigenschaft von DirectInput ist die Unterstützung unterschiedlicher Gerätebauformen und Steuerungskonzepte. Während manche Gamepads nur wenige Tasten und Richtungsachsen besitzen, können komplexe Joysticks zahlreiche Schalter, Drehregler und zusätzliche Achsen aufweisen. DirectInput bietet Mechanismen, mit denen Anwendungen die vorhandenen Bedienelemente eines Geräts ermitteln und deren Eingabewerte auslesen können. Dadurch eignet sich die Schnittstelle auch für spezielle Steuergeräte, die vom klassischen Gamepad-Aufbau abweichen.
DirectInput entstand in den 1990er-Jahren im Rahmen der Entwicklung von Microsoft DirectX. Die Schnittstelle sollte unter anderem die Verarbeitung von Eingaben in Windows-Spielen vereinfachen und eine leistungsfähige Grundlage für unterschiedliche Spielsteuerungen schaffen. Besonders in der Zeit von Windows 95, Windows 98 und späteren Windows-Versionen spielte DirectInput eine wichtige Rolle bei der Unterstützung von Joysticks und anderen Spieleingabegeräten.
Neben der reinen Eingabeverarbeitung unterstützt DirectInput bei geeigneten Geräten auch Force Feedback. Dabei können Anwendungen mechanische Rückmeldungen wie Vibrationen, Widerstände oder gerichtete Kräfte auslösen. Ein Force-Feedback-Joystick kann beispielsweise Turbulenzen in einer Flugsimulation fühlbar darstellen. Voraussetzung dafür sind ein entsprechend ausgestattetes Eingabegerät, ein geeigneter Treiber und eine Software, die diese Funktionen unterstützt.
Mit der Einführung von XInput entstand eine weitere Microsoft-Schnittstelle, die speziell auf Xbox-kompatible Gamecontroller ausgerichtet ist. XInput verwendet ein weitgehend festgelegtes Controllerlayout und vereinfacht dadurch die Unterstützung entsprechender Gamepads. DirectInput ist dagegen flexibler und kann zahlreiche unterschiedliche Gerätefunktionen und Eingabeelemente abbilden. Bei manchen PC-Controllern lässt sich zwischen einem DirectInput- und einem XInput-Modus umschalten.
Bei modernen Windows-Anwendungen wird DirectInput für Tastatur- und Mauseingaben häufig nicht mehr bevorzugt. Microsoft empfiehlt für bestimmte Anwendungsfälle andere Eingabeschnittstellen, beispielsweise Raw Input oder die reguläre Windows-Eingabeverarbeitung. Für Joysticks, Flugsimulationsgeräte und ältere Computerspiele bleibt DirectInput jedoch weiterhin relevant. Die tatsächliche Unterstützung hängt vom Betriebssystem, den Gerätetreibern und der verwendeten Software ab.
Ein weiteres wichtiges Merkmal ist die Zusammenarbeit mit dem Windows-Gerätesystem. DirectInput stellt Anwendungen Informationen über erkannte Eingabegeräte und deren verfügbare Steuerungselemente bereit. Viele Geräte werden dabei über standardisierte Schnittstellen wie USB und die Geräteklasse HID (Human Interface Device) angebunden. DirectInput selbst ist jedoch kein Hardwareanschluss und kein Übertragungsprotokoll, sondern eine Software-Schnittstelle zwischen Anwendung und Eingabesystem.
DirectInput gehört zu den bedeutenden Technologien der PC-Spieleentwicklung. Die Schnittstelle trug dazu bei, unterschiedliche Eingabegeräte unter Windows einheitlich nutzbar zu machen. Obwohl moderne Anwendungen je nach Gerätetyp zunehmend andere Schnittstellen verwenden, besitzt DirectInput insbesondere für klassische Computerspiele, Joysticks und spezielle Simulationssteuerungen weiterhin Bedeutung.
Weiterführende Informationen
DirectX, XInput, Raw Input, USB-HID, Gamecontroller, Gamepad, Joystick, Force Feedback, Gerätetreiber