Entonces, una hora más o menos jugando y probando diferentes bibliotecas, y parece que OIS (y SDL ) simplemente reconoce el controlador como un joystick y me proporciona todo lo que necesito.
Si instala OIS desde el enlace anterior y realiza / ejecuta el proyecto 'ConsoleTest', puede ver la salida del controlador en la ventana de depuración.
Además, aquí hay enumeraciones que he estado usando que coinciden con los números de ejes / botones producidos por SDL (nota no OIS, que ahora he decidido no usar, las numeraciones podrían ser las mismas). Tenga en cuenta que los botones de activación no se clasifican como un eje, que estoy bastante seguro de que deberían ser (0-255 de 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
};