ページ 11

ジョイパッドの入力状態を得るというところの疑問

Posted: 2013年10月15日(火) 14:37
by 土門
なんか変な質問になっているかもしれませんが
よろしくお願いいたします。

etJoypadInputStateについてなのですが
defaultは
PAD_INPUT_1  // 1ボタンチェックマスク(Zキー)
PAD_INPUT_2  // 2ボタンチェックマスク(Xキー)
PAD_INPUT_3  // 3ボタンチェックマスク(Cキー)
PAD_INPUT_4  // 4ボタンチェックマスク(Aキー)
PAD_INPUT_5  // 5ボタンチェックマスク(Sキー)
PAD_INPUT_6  // 6ボタンチェックマスク(Dキー)
PAD_INPUT_7  // 7ボタンチェックマスク(Qキー)
PAD_INPUT_8  // 8ボタンチェックマスク(Wキー)
と設定されているみたいですね。

そこで疑問なのですが、
PAD_INPUT_1~8がそれぞれいろんなゲームパッドの
どの位置のボタンを指しているのかを調べる方法はあるのでしょうか?
いちいちそのコントローラーを入手して実際にボタンを押して
確認しないとわからないものなのでしょうか?
制作中のゲームにて、
ゲームパッドも意識したボタン設定にしたいのですが
自分はゲームパッドは持っていません。
それどころか、ゲームパッドによっては
存在するボタンの数や場所に違いがありますよね?
キーコンフィグを実装してればなにもかも問題ないと思いますが、
自分はそれがまだ理解できずにいますので
とりあえずは製作者としてゲームパッドを
意識した入力キーを設定しておきたいと考えてます。

たとえばXBOX型ならX、Aボタン,でも、PS2型なら□、×ボタン等ありますが
PAD_INPUT_1~8のどれに当たるのか、知る方法はないのでしょうか?
法則があるとか、どこかに記載されているとか、ありませんか?

Re: ジョイパッドの入力状態を得るというところの疑問

Posted: 2013年10月15日(火) 16:41
by h2so5
残念ながらボタン配置に法則性は法則性はないようです。

GetJoypadDirectInputStateで得られるDirectInputの生データとの対応値がいくつか紹介されています。
http://taisyo7333.exblog.jp/1430450/

Re: ジョイパッドの入力状態を得るというところの疑問

Posted: 2013年10月15日(火) 17:57
by ISLe
質問の主旨からは外れるのですが、Xboxやプレイステーションのパッドのボタンをアイコンにしようと考えているなら、ライセンスに気を付けてください。

Re: ジョイパッドの入力状態を得るというところの疑問

Posted: 2013年10月15日(火) 21:17
by softya(ソフト屋)
ここはいさぎよくJoyToKey に頼るというのも手です。

Re: ジョイパッドの入力状態を得るというところの疑問

Posted: 2013年10月16日(水) 14:50
by 土門
h2so5 さんが書きました:生データとの対応値がいくつか紹介されています。
ありがとうございます、参考になりました。
ISLe さんが書きました:パッドのボタンをアイコンにしようと考えているなら、ライセンスに気を付けてください
今回そういうつもりはありませんでしたが、
この先もそう考えることは無いとも言い切れませんので
気を付けたいと思います。ご忠告ありがとうございます。
softya(ソフト屋) さんが書きました:ここはいさぎよくJoyToKey に頼るというのも手です。
ユーザー任せというのは気が引けますが、それが一番合理的に感じました。
最終的にJoyToKeyがあるということで、あまり気にせず制作したいと思います。
ありがとうございました。