> 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 から割り当てられているとは限らなくなるので、あまり関数の意味が
無い状態になってしまう、というのもあります