ゲームコントローラー

C# DirectInput

Xinputでゲームコントローラーを実装しようと思ったら、中国製の製品でIpega 9083S、未だにDirect Inputを使っている。色々調べたが、それが現実なのか?

Ipega 9083Sだが、同じ製品でも仕様が違う、私が買った(現在2022/06/01)バージョンは、ケーブル接続でXInputとDirect Inputを切り替えられるが、Bluetooth接続だとDirect Inputしか対応しない。XInput使う方法をだれか教えてくれよ。

ここまで辿り着いくのにも、色々と大変だった。まず、マニュアルが手元に無かったのでネット上に落ちているものを探して、やっていたが、どうも違う。最初はケーブル接続はXInputのみかと思っていたが、Ipega 9083Sは出荷時期で仕様が違うようだ。これで最初ハマった。

次にハマったのが、ライブラリをどれにするか? よっぽどC++で書いてDLLとして読み込もうかと思ったほどだった。C#だと対応しているライブラリがサポート中止となっており選びようが無い。たまたま見つけたのが、Vortice.DirectInput これが2022/6/7公開日だったので、これにした。

ネットで使い方をググったら、使い方が直ぐ判るのかと思って色々と調べたが何も出てこない。こういう時は海外サイトだと思い、あっちこっち行ってみたが無い。

しょうがないので、ソースを調べて使い方を調査した。

解ってみれば簡単だったのだが、まぁ~大変だった。誰か先にやっといてよ。もぉ~。ちなみにXInputはネットに使い方が書いてあった。なんでBluetooth接続だけXInputが使えないのかな? たぶんケーブル接続がXInputだけだったので、ケーブル接続にDirect Inputを追加したように思える、逆なんだよ! 勝手な妄想だけどBluetooth接続が不安定なのでは? だからケーブル接続にDirect Input要望があがるんだ、アンテナの作りがわりぃんだよ!

書いていたら眠くなったので寝る!

コメントを残す

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

CAPTCHA