トップページ > 記事閲覧
同名ジョイパッドを区別したい
名前:れもん 日時: 2017/10/23 16:52

Win7(64bit)のVisualStudio上でC++を使用してコーディングをしています。 同じ種類のジョイパッドをUSBでつなぎ、それぞれに番号を振って1P,2Pのように使いたいと考えています。 以前はUSBポートごとに順番が決められており(なぜ決まっていたのかはわかりませんが)、都合の良い順番になるように ジョイパッドを接続していました。 最近新しいパソコンに変えて、同じプログラムを実行したのですが、 プログラムを実行するごとに1P,2Pに対応するコントローラの順番が変わるようになってしまいました。 対応策として、レジストリエディタからfriendlynameを変える方法を試してみましたがうまくいかず、 GetJoypadGUID()関数を使えば一意に識別できるのではないか、とにらんでいますが苦戦しています。 うまく識別する方法はないでしょうか。 ご返答よろしくお願いします。
メンテ

Page: 1 |

Re: 同名ジョイパッドを区別したい ( No.1 )
名前:管理人 日時:2017/10/24 00:32

すみません、プログラムを実行するごとにコントローラの順番が変わるというのは 経験したことがないので、対処法が思いつきません (・・;; 取得できる情報や機能が減ってしまいますが、DirectInput や XInput を使用しないことで 毎回順番が変わる現象を抑えることができるかもしれませんので、DxLib_Init を呼び出す前の箇所に SetUseDirectInputFlag( FALSE ) ; SetUseXInputFlag( FALSE ) ; という記述を増やして DirectInput や XInput を使用しないようにしてみてください もしかしたら何か変化があるかもしれません…
メンテ
Re: 同名ジョイパッドを区別したい ( No.2 )
名前:れもん 日時:2017/10/24 12:15

ご返答ありがとうございます。 今使用しているジョイパッドがステアリングコントローラで、アナログ的な インプット数がハンドル、ブレーキ、アクセルの3つがあり、DirectInputを使っている状況です。 一度、DirectInputを使わずに実装してみます。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存