Quindi, circa un'ora di giocherellare e provare diverse librerie, e sembra che OIS (e SDL ) riconoscano il controller come un joystick e mi forniscono tutto ciò di cui ho bisogno.
Se si installa OIS dal collegamento sopra e si esegue / esegue il progetto "ConsoleTest", è possibile visualizzare l'output dal controller nella finestra di debug.
Inoltre, ecco le enumerazioni che ho usato per abbinare gli assi / i numeri dei pulsanti prodotti da SDL (nota non OIS, che ora ho deciso di non usare, le numerazioni potrebbero essere uguali). Si noti che i pulsanti di trigger non sono classificati come un asse, che sono abbastanza sicuro che dovrebbero essere (0-255 dalla memoria):
//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
};