Servus
Nach langer Zeit brauche ich AutoIt tatsächlich mal wieder. In diesem Fall habe ich den Input von einem Game Controller benötigt. Da mir die bisherigen UDF nicht so gefallen haben, hab ich eine 1:1 Übersetzung der XInput.h geschrieben. Diese umfasst sämtliche Konstanten und DLL Calls, welche die XInput API mitliefern. Die Dokumentation dazu findet ihr hier:
Im Anhang findet ihr die UDF! Wie gesagt, es handelt sich dabei um eine 1:1 Übersetzung der XInput.h welche für C / C++ zur Verfügung stehen. Einige Hinweise:
Konstanten sind im $XINPUT_*-Format (Eigentlich genau so, wie es die Doku anzeigt, lediglich mit $ am Anfang)
Strukturen sind im $_XINPUT_*-Format (Auch wie es die Doku anzeigt, mit $ am Anfang)
Funktionen sind im XInput*()-Format (Doku :d)
Hilfsfunktionen intern für die UDF sind mit _XINPUT_*() deklariert. (Da müsst und solltet ihr normalerweise nicht drauf zugreifen...)
Ein einfaches Beispiel um den Button Status auszulesen (also welche Buttons auf einen Controller gedrückt sind):
#include "XInput.au3"
; Struktur für die Button Infos
$tState = DllStructCreate($_XINPUT_STATE)
; Wenn [Start] gedrückt wird, beendet sich das Programm
While Not BitAND($tState.wButtons, $XINPUT_GAMEPAD_START)
Sleep(1000)
XInputGetState(0, $tState) ; Buttons erfassen
ConsoleWrite($tState.wButtons & @CRLF)
WEnd
Alles anzeigen
Bei Problemen, Fragen und Anregungen stehe ich euch zur Verfügung!