トップページ > 記事閲覧
XInput専用コントローラーの認識について
名前:紙袋 日時: 2014/11/06 01:49

DXライブラリ使わせてもらっています。 現在ジョイパッド関連の処理をまとめているのですが、 XInput専用のコントローラーのみが接続されているかを確認する方法は今のところ、 GetJoypadXInputState関数を全INPUT_PADに対して使用して、全て-1か確認する以外の方法はないのでしょうか? 今の状態でも処理の実装に問題はないのですが、もしない場合はGetJoypadNum関数のように戻り値で、 手軽にXInput専用コントローラーが何個接続されているか知る機能を実装してもらうことは出来ないでしょうか? よろしくお願いします。
メンテ

Page: 1 |

Re: XInput専用コントローラーの認識について ( No.1 )
名前:管理人 日時:2014/11/08 23:43

> XInput専用のコントローラーのみが接続されているかを確認する方法は今のところ、 > GetJoypadXInputState関数を全INPUT_PADに対して使用して、全て-1か確認する以外の方法はないのでしょうか? 一応 XInput 対応コントローラかどうかをチェックする専用の関数 CheckJoypadXInput があります。 // 指定の入力デバイスが XInput に対応しているかどうかを取得する // ( 戻り値 TRUE:XInput対応の入力デバイス FALSE:XInput非対応の入力デバイス -1:エラー ) // ( DX_INPUT_KEY や DX_INPUT_KEY_PAD1 など、キーボードが絡むタイプを InputType に渡すとエラーとなり -1 を返す ) int CheckJoypadXInput( int InputType ) ; > 今の状態でも処理の実装に問題はないのですが、もしない場合はGetJoypadNum関数のように戻り値で、 > 手軽にXInput専用コントローラーが何個接続されているか知る機能を実装してもらうことは出来ないでしょうか? あまり XInput 専用の関数を増やしたくないので、申し訳ありませんが CheckJoypadXInput または GetJoypadXInputState を使用して XInput 対応コントローラかどうかを確認するようにしてください m(_ _;m あと、現状たまたまコントローラの若い番号に XInput 対応コントローラを割り当てていますが 今後他のタイプのコントローラに対応した場合、そのコントローラが XInput 対応コントローラより若い番号に 割り当てられる可能性があります そうなると仮に GetJoypadXInputNum などの関数を追加して XInput 対応コントローラの数を取得できても そのコントローラが DX_INPUT_PAD1 から割り当てられているとは限らなくなるので、あまり関数の意味が 無い状態になってしまう、というのもあります
メンテ

Page: 1 |

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

   クッキー保存