だから、1時間かそこらでさまざまなライブラリをいじって試してみると、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
};