USBジョイスティック自作ツールキット

最近店で見かけるゲームパッドはアナログスティックが2本付いていたりする。これがリポートディスクリプタ的にどんなUSAGEで書かれているのか気になっていた(実は私は昔ながらのジョィスティックしか持っていないのだ)。調べていくと、どうやらRx,Ry,Rzを使っている模様。
そこでOpenStickConfigでRx,Ry,Rzを指定する実験をした。

OSConfigRxRyRz

OpenStickConfig Rx,Ry,Rz追加実験

ここで問題が発生。Windowsのプロパティで動作を見ると、Rzだけ棒グラフの半分までしか上がらない。 XYZ軸およびRxRyRz軸は-128~+127を値とする様に作ったが、PC側はRzだけ0~255として受取っている様に見える。
そこでRzを0~255に変更して試そうとすると、次の問題が発生。VID(ベンダーID),PID(プロダクトID)を変更せずに軸構成をいじると、所々変更が反映されない模様。Revだけ値を変えても変化なく、PIDを一つ上げると反映される。 別のUSBポートに差し替えても反映される模様。でもこれって何かクリアーする方法がありそうな気がするが・・・みつからない。

とりあえずPIDを一つ上げ、全部の軸を0~255にしてみた結果がこれ。

XYZRxRyRzSDHB6

X,Y,Z,Rx,Ry,RzにSlider、Dial、ハットスイッチ、ボタン6個

18本の入力全てを使用してゴージャスな感じになった。
で、最終的にはどうしよう・・・・OpenStickConfigが返すアナログ値、全てを0~255に変更しようかな?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


*