따라서 한 시간 정도의 다른 라이브러리 를 찾고 시도하면 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
};