Mac OSX에서 입력을 위해 PS3 컨트롤러 사용


16

OSX에서 PS3 컨트롤러에 연결할 USB 드라이버 를 찾았으며 여기보고 된 대로 블루투스를 통해 컨트롤러에 연결할 수 있습니다.

Snes9x를 통해 입력이 제대로 작동하는지 확인했습니다.

어쨌든, 그것은 실제 질문의 배경입니다 . Mac에서 C ++를 통해 PS3 HID에 액세스 할 수있는 방법이 있습니까? XCode를 사용하는 Mac에서 C ++ 개발에 비교적 익숙하지 않으며 사용할 라이브러리를 찾는 데 인터넷이 실망했습니다.

코드에서 컨트롤러 버튼 / 축 상태에 액세스하는 방법에 대한 아이디어가 있습니까? 그래서 입력 맵으로 전송할 수 있습니까?


2
괜찮은 질문이므로 닫거나 삭제하는 것이 실제로 적절하지 않습니다. 당신은 그것에 대한 답변을 게시하고 나중에 조금 받아 들일 수 있어야합니다. 나는 거기에 명성의 문이 있다는 것에 놀랐습니다. 그렇지 않다면 조금 더 평판이 좋을 때이 질문으로 돌아갈 계획입니다.

답변:


4

따라서 한 시간 정도의 다른 라이브러리 를 찾고 시도하면 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
};
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.