위모트를 블루투스 노트북에서 조이패드를 쓸수 있다면 참 좋을 꺼 같다는 생각에서 출발한 아이디어
Wii 구매 이후 만 이틀만에 Wii 컨트롤러를 PC에서 이용가능하다는 결론에 도달했다.
다른 블로그들에 포스팅된 바와 같이 Wii 컨트롤러(일명 위모트)는 블루투스방식을
이용하여 데이터를 전송한다. 그럼 먼저 PC에 디바이스를 연결해보자.
각자 하드웨어에서 제공하는 블루투스 스텍을 이용하여 새로운 디바이스를 맞이할 준비를 한다.
준비가 되었으면, 위모트의 뒷면의 배터리 박스를 열고 Sync버튼을 눌러준다. 간섭문제가 발생할 수 있으므로, Wii의 전원 플러그를 뽑아둔다.
다음과같이 Nintendo RVL-CNT-01이라는 이름의 표준 HID장치로 잡힌다. 선택후 다음으로 넘어가면 디바이스 등록이 완료된다.
스텍에 Wii 컨트롤러가 연결된 모습. PC에 연결된 경우 컨트롤러의 1P,2P,3P,4P LED가 깜박이게 된다.
제어판의 게임 컨트롤러에 가면 위와 같이 블루투스 게임패드로 등록되었음을 알 수 있다. 하지만...
정작 Test에 들어가보면 장치에는 아무런 버튼도 방향키도 존재하질 않는다! 여기서부턴 어둠의 영역;;
디바이스 레벨로 넘어가기전에 RAWHID로서 접근을 시도해보았다. HID Device를 Regist한 다음 컨트롤러에서 입력시 WM_INPUT으로 넘어오는지를 체크했다. 다행히도 아직 알수는 없지만 RAW Data가 넘어온다!!
Raw Data의 유형은 매우 단순했는데 1BYTE Header + 2 BYTE 로서 각각의 BYTE는 방향키와 버튼의 조합값을 의미하였다. 다만, 모션센서의 값은 IR 바를 통해서 전송되는지 찾을 수가 없었다.
최종으로 테스트 프로그램 완성! 다음엔 트레이에 상주하면서 키보드나 게임패드에 SendInput을 보내는 버전을 제작할 예정이다.