Отож, годину або близько того, щоб обмацувати та пробувати різні бібліотеки, і, здається, OIS (і SDL ) просто розпізнає контролер як джойстик і надає мені все, що мені потрібно.
Якщо встановити OIS за посиланням вище та зробити / запустити проект 'ConsoleTest', ви можете побачити вихід з контролера у вікні налагодження.
Крім того, ось переліки, які я використовував цю відповідність номерам осей / кнопок, вироблених SDL (зауважте, не OIS, який я зараз вирішив не використовувати, нумерація цілком може бути однаковою). Зауважте, що кнопки спуску не класифікуються як вісь, що я впевнений, що вони повинні бути (0-255 з пам'яті):
//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
};