2013-07-19 1 views
7

저는 게임 컨트롤러 용 드라이버를 만들려고합니다 (코발트 플럭스 www.cobaltflux.com). 물리적 컨트롤러 자체에는 9 개의 얼굴 버튼과 2 개의 컨트롤 박스 버튼 (시작/선택)이 있습니다. 컨트롤 박스에는 USB 포트가 있지만, 아무도 내가 전에 드라이버를 작성한 적이 없다는 것을 말할 수 있습니다. 내가 원하는 최종 결과는 USB 포트를 통해 코발트 플럭스를 꽂아서 창을 게임 컨트롤러로 인식하도록하는 것입니다.USB를 통해 연결된 일부 하드웨어 용 게임 컨트롤러 드라이버 작성하기

프로그래밍 경험이 있습니다. 저는 UC Davis의 컴퓨터 과학 분야의 수석 학부생이자 대형 임베디드 시스템 회사의 인턴입니다. 그러나이 프로젝트에는 USB 포트를 통해 하드웨어 및 소프트웨어 인터페이스를 연결하고 하드웨어에서 피드백을 조사한 경험이 없습니다. (버튼을 누를 때 어떤 비트가 켜지 는가?) 빌드하고 윈도우 용 드라이버와 실제로 프로그램을 생성하십시오.

개인적으로이 문제를 해결하기 위해 올바른 방법으로 나를 설정할 수있는 사람을 알지 못하기 때문에 여기에서 묻습니다. 내가 좋아하는 뭔가가는 방법 상상 :

가 내가 밀어 버튼의 효과가

내가 프로그램을 작성하는 USB 채널에 어떤 폴링 프로그램을 열어

의 USB를 통해 장치를 연결을 그 USB 포트의 신호를 윈도우가있는 게임 컨트롤러 드라이버에 연결합니다.

joyPAD를 지원하고 joySTICK를 지원하지 않아도됩니다. 한 번 및 조이스틱은 일반적으로 한 방향의 입력 만 등록합니다. 어떤 주어진 시간.

모든 조언이나 도움을 주시면 대단히 감사하겠습니다. 어디서부터 시작해야할지 생각하는 데 어려움을 겪고 있습니다.

+0

불명확하거나 너무 광범위하게 투표를 마감하십시오. –

+1

나는 비슷한 질문을하고 있으며 너무 광범위하거나 명확하지 않다고 생각하지 않습니다. W8 또는 W10에서 지원되지 않는 Logitech Steering Wheel 컨트롤러가 있습니다. 인식하지만 입력을 읽지는 않습니다. 나는 그 USB 포트를 듣고 그 정보를 게임 컨트롤러 인터페이스에 매핑 할 수있는 무언가를 쓰고 싶다. – Tanoshimi

답변

4

저는 1 년 넘게 똑같은 문제가 있었지만 아직 정확한 해결책을 찾지 못했습니다.

USB를 통해 패드를 연결하면 장치 ID와 해당 장치가 공급 업체 ID로 알려줍니다. Windows 플러그 앤 플레이가 드라이버 검색을 시작합니다. 이 메커니즘은 포인팅 장치 (내 경우에는 1 ~ 2 개의 마우스)를 인식하고 원시 데이터 입력 장치로 처리되도록합니다. 이러한 장치의 입력은 OS에서 처리하는 메시지로 변환됩니다. 해결책은 이러한 원시 입력 장치의 메시지를 올바른 처리기로 전달하는 것으로 보입니다. 내 경우에는 두 마리의 마우스가 모두 마우스로 인식되며 메시지는 실제로 제 포인팅 장치 인 세 번째 마우스에서 오는 핸들러와 동일한 핸들러에서 사용됩니다. 나는 rawinput API를 파고 들기 위해 C++ 코딩을 충분히 경험하지 못했다. 방금 내 질문에 대한 답변으로 흥미로운 링크를 받았습니다 : http://www.icculus.org/manymouse/ 적어도 내 문제에 대한 답변을 제공합니다. 운전 기사 작성을위한 아이디어를 줄 수 있습니다. 행운을 빕니다 !!! 스테판

관련 문제