Re: ジョイパッドのguidProductを取得したい ( No.1 ) |
- 名前:管理人 日時:2015/12/28 21:46
非公開関数で GetJoypadGUID という関数がありまして、こちらでデバイスの GUID を取得することができます
// ジョイパッドのGUIDを得る
int GetJoypadGUID( int PadIndex, GUID *GuidBuffer ) ;
ただ、こちらの関数が使用できるのはデバイスの状態取得に DirectInput を使用している場合のみで、
Xbox360コントローラなど XInput に対応しているデバイスでは使うことができません
XInput が使用されているかどうかは CheckJoypadXInput の戻り値で確認することができます
// 指定の入力デバイスが XInput に対応しているかどうかを取得する
// ( 戻り値 TRUE:XInput対応の入力デバイス
// FALSE:XInput非対応の入力デバイス
// -1:エラー )
// ( DX_INPUT_KEY や DX_INPUT_KEY_PAD1 など、キーボードが絡むタイプを InputType に渡すとエラーとなり -1 を返します )
int CheckJoypadXInput( int InputType ) ;
あと、もし XInput を使用したくない、という場合は SetUseXInputFlag( FALSE ) ; を DxLib_Init 呼び出し前に
実行してください
// XInput を使用するかどうかを設定する( TRUE:XInput を使用する( デフォルト ) FALSE:XInput を使用しない )
int SetUseXInputFlag( int Flag ) ;
|
Re: ジョイパッドのguidProductを取得したい ( No.2 ) |
- 名前:lltcggie 日時:2015/12/28 23:03
すいません。本文に致命的な間違いがありました…
ご迷惑をおかけして申しわけありませんでした。
タイトルにある通り、取得したいのはDIDEVICEINSTANCE::guidInstanceではなくDIDEVICEINSTANCE::guidProductの方でした。
DIDEVICEINSTANCE::guidProductを取得する関数は非公開関数の中にもなかったため要望を書かせていただいた次第です。
もしよろしければ実装していただけると幸いです。
|
Re: ジョイパッドのguidProductを取得したい ( No.3 ) |
- 名前:管理人 日時:2015/12/29 11:41
|
Re: ジョイパッドのguidProductを取得したい ( No.4 ) |
- 名前:lltcggie(解決) 日時:2015/12/30 03:16
無事にguidProductを取得することが出来ました。
対応していただきありがとうございます!
|