Assim, uma hora ou mais de mexer e tentar diferentes bibliotecas, e parece que o OIS (e SDL ) reconhece o controlador como um joystick e me fornece tudo o que preciso.
Se você instalar o OIS a partir do link acima e criar / executar o projeto 'ConsoleTest', poderá ver a saída do controlador na janela de depuração.
Além disso, aqui estão as enumerações em que uso essa correspondência com os números de eixos / botões produzidos pelo SDL (observe que não o OIS, que agora decidi não usar, as numerações podem muito bem ser as mesmas). Observe que os botões de disparo não são classificados como um eixo, o que tenho certeza de que eles devem ter (0 a 255 da memória):
//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
};