Jadi, sekitar satu jam mengutak-atik dan mencoba berbagai perpustakaan, dan sepertinya OIS (dan SDL ) hanya mengenali controller sebagai joystick dan memberi saya semua yang saya butuhkan.
Jika Anda menginstal OIS dari tautan di atas, dan membuat / menjalankan proyek 'ConsoleTest', Anda dapat melihat output dari pengontrol di jendela debug.
Selain itu, inilah enum yang telah saya gunakan yang cocok dengan nomor sumbu / tombol yang diproduksi oleh SDL (perhatikan bukan OIS, yang sekarang saya putuskan untuk tidak digunakan, penomorannya bisa saja sama). Perhatikan bahwa tombol pemicu tidak diklasifikasikan sebagai sumbu, yang saya cukup yakin seharusnya (0-255 dari memori):
//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
};