2006年 12月 22日

Wiiリモコン

自らのライトセーバーを作るべく、Wiiリモコンをコントロールするプログラムを作成中…
出来合いのドライバを使おうかと思ったけど、どうせなら複数認識させたいし、中身どうなってるのかようわからんので、DDKも何故かインストール済みだったので一から作ってみることに。

WiiリモコンはBluetoothのHIDデバイスになっていて、要はUSBのゲームコントローラーなんかと感覚は一緒つーことです。とはいっても、USBも装置側のファームウェアの方は触ったことあったけど、ホスト側のドライバは経験無し…
って思ってたけど、HIDデバイスってドライバ名取ってくれば普通にWin32APIのWriteFileとかReadFileとかで突っつけば良い訳なのね。

っていうわけで、久々にC++でもってmultimapにHIDデバイス名突っ込むクラスをこしらえ、そこからHIDデバイス入出力をするクラスをこしらえて、WiiリモコンのVendorIDとProductID突っ込んでみてアレコレやってみるが一向に反応なし…
なにやら時々値を返してくることもあるけども、全く意味不明。。。
やっぱJediの修行をもっと積まねばライトセーバーは作れないのだろうか…

そんなこんなで3日ほど経った今日。とあるページにて、「WindowsのGenericのBluetoothのプロトコルスタックはバグってるっぽいよーん」なんて書き込みが…(汗
そういや、前に出来合いのプログラムでライトセーバー試したときは別マシンで、そっちにはBTアダプタ付属のドライバが入れてあった…。GenericドライバでWirelessMightyMouse動いていたから安心してた…

早速ドライバ入れなおしてみたら、すんなり動きやんの…(汗
ああ、俺の3日間…

posted in Computer, Game, 工作 | 2 Comments