Nach ungefähr einer Stunde Fummeln und Ausprobieren verschiedener Bibliotheken erkennt OIS (und SDL ) den Controller anscheinend nur als Joystick und stellt mir alles zur Verfügung, was ich brauche.
Wenn Sie OIS über den obigen Link installieren und das 'ConsoleTest'-Projekt erstellen / ausführen, können Sie die Ausgabe des Controllers im Debug-Fenster sehen.
Außerdem sind hier die Aufzählungen aufgeführt, die ich für die von SDL erstellten Achsen- / Tastennummern verwendet habe (beachten Sie, dass nicht OIS, für das ich mich jetzt entschieden habe, die Nummerierungen möglicherweise identisch sind). Beachten Sie, dass die Auslösetasten nicht als Achse klassifiziert sind. Ich bin mir ziemlich sicher, dass dies der Fall sein sollte (0-255 aus dem Speicher):
//Values SDL attributes to individual PS3 axes
enum EPS3RawAxesIndex
{
EPS3RawAxesIndex_LeftX = 0,
EPS3RawAxesIndex_LeftY = 1,
EPS3RawAxesIndex_RightX = 2,
EPS3RawAxesIndex_RightY = 3
};
//Values SDL attributes to individual PS3 controller buttons
enum EPS3RawButtonIndex
{
EPS3RawButtonIndex_Select = 0,
EPS3RawButtonIndex_JoyClickLeft = 1,
EPS3RawButtonIndex_JoyClickRight = 2,
EPS3RawButtonIndex_Start = 3,
EPS3RawButtonIndex_DpadUp = 4,
EPS3RawButtonIndex_DpadRight = 5,
EPS3RawButtonIndex_DpadDown = 6,
EPS3RawButtonIndex_DpadLeft = 7,
EPS3RawButtonIndex_TriggerLeft = 8,
EPS3RawButtonIndex_TriggerRight = 9,
EPS3RawButtonIndex_ShoulderLeft = 10,
EPS3RawButtonIndex_ShoulderRight = 11,
EPS3RawButtonIndex_Triangle = 12,
EPS3RawButtonIndex_Circle = 13,
EPS3RawButtonIndex_Cross = 14,
EPS3RawButtonIndex_Square = 15,
EPS3RawButtonIndex_PSButton = 16
};