PSO2 XBOX Elite controller 無線化その2
今回は以前XBOX Elite controller無線化について記載した記事の続報になります。
1:そもそも何でこんなことが起きてしまうのか?
2:じゃ、実際どうやってこの問題を解決するのか?
前回、無線化に成功したときの残課題として
1:G13を接続した状態ではXBOX Elite controller(以下エリコン)が反応しない。
というのを記載しました。
暫定的にではありますが、その解決方法を見つけたのでメモ書きとして残しておきます
最初に言っておきますが、PSO2クライアントの作成があまりに雑なのでちょっと文句を書いてしまうかもしれないので、その辺りを許容できる方のみ続きをお読みください。
1:そもそも何でこんなことが起きてしまうのか?
私が簡単に調査した限りでの予測になってしまいますが、下記の理由が予想されます
検証内容
→エリコンが正常に反応する
2:G13のゲームパッドドライバのみを停止させた状態でエリコンが反応するか試す
→エリコンが正常に反応する
3:エリコンドライバのみを有効にした後、PSO2本体(※1)を起動。
その後、G13のゲームパッドドライバを有効にする
→エリコンが正常に反応する
※1:PSO2はランチャーソフトを起動してから本体を起動するというステップを取っている
よって、他のゲームパッド接続を解除することにより動くと思われる
(あんまりしっかりとした検証ではないので断言はできませんが・・・)
裏を返せばエリコンのドライバ以外が認識されていない状態の時にPSO2を起動すれば問題なく動くということになる。
最初はXINPUTデバイスのみで起きるのか、とかDirectInputが一つ以上接続されていると起きるのか、とかいろいろ考えましたが多分その辺りは関係ないのかなと思います。
2:じゃ、実際どうやってこの問題を解決するのか?
・しっかりとクライアントが作りこまれているゲームだとゲーム側で使うコントローラーを選択できるので、その仕様をPSO2でも作ってもらう!!
・・・などなど正直クライアントそのものの問題なのでプレイヤー側でできることはかなり限られてくると思います。
プレイヤー側として対応できる方法は、項目1の検証内容にあるように
・エリコンを除くすべてのゲームパッドの接続を解除する
なので、次の取れる手段が
・エリコンのドライバ以外をすべて無効状態にする
おそらく、これが一番楽かと思います。
書いてることはすごく面倒に見えますが、やることはとても簡単で
どのデバイスがコントローラーとして機能しているかを調べるには、「コントロールパネル」から「USBゲームコントローラーのセットアップ」で、出てくるゲームパッドの設定画面に項目として表示されているものすべてが対象になります。
・・・ということで、そこに表示されているドライバを停止させれば無事無線化したエリコンを使用することができます
・・・・・・・・・そんなの面倒っていう人も言いそうかな?
といっても現状、これしか手段がないためこれ以上の手段を取りたい場合はPSO2開発チームに改善要望を出してください・・・としか言えなかったりします。
・・・どうしても・・・どうしても・・・という方はプログラミングに関する知識が必要にはなりますが、下記案を読めばなんとかなると思います。
で、その手段ですが
私も現在この暫定対応で対応しています。
(C#とバッチファイルを組み合わせて作成しました)
そのうち、余裕ができたらこのプログラムについても記事にしていこうかなと思います。
(ただし、結構面倒なので理解できる記事にまとめるのは大変そう・・・)
ということで今回はこのあたりでー