PC に接続したデュアルショック 4 コントローラーに連射ボタンとボタン同時押しを設定した時のメモ
この記事は 2017年3月に公開した記事で、Steam がデュアルショック 4 コントローラーをサポートする 「前」 の記事となっています。記事内容では Steam の Big Picture モードは使っていない状態です。そのため Big Picture モードでデュアルショック 4 を含めたゲームコントローラーを認識・設定させていません。外部コントローラーツールと Big Picture モードでコントローラーを一緒に設定すると、意図せぬ挙動や不具合が発生する可能性があります。
2017年2月に Steam で発売されたくにおくんシリーズの公式ライセンス作品 「River City Ransom: Underground」 (参考サイト) を、デュアルショック 4 コントローラー と外部ツールの 「DS4Windows」 と組み合わせてプレイしています。
Steam ではアップデートにより デュアルショック 4 コントローラー のほか、Xbox 360 コントローラーや Xbox ワイヤレス コントローラー などのゲームコントローラーが標準でサポートされるようになったので、以前は必須だったコントローラー用外部ツールに頼る必要はなくなりつつあります。
ですが、個人的に 「DS4Windows」 などに代表される過去にリリースされていたコントローラーカスタマイズツールは豊富な設定項目があり、使い慣れていることもなってか手軽で便利なため、まだまだ手放せない状態です。
この 「DS4Windows」 を通して デュアルショック 4 コントローラー を使ってゲームをプレイする分には不満はないのですが、「River City Ransom: Underground」 をプレイしていた際に頻繁に同じボタンを連打したり、キャラ技を出す際にボタン同時押しが必要になるときがあります。
そのためゲームを継続してプレイしているうちにボタン連打では指が疲れてきますし、ボタン同時押しは押すボタンによってはコントローラーではやりにくいなど、だんだん操作方法に不満が出るようになってしまいました。
この不満を解消すべく 「DS4Windows」 の機能を使って操作が楽になるように設定をしようとしたのですが、ボタン連射機能相当の設定をすることができません。マクロ入力画面にある 「Play Once」 のところに 「Repeat while Held」 という押している間にマクロを繰り返すオプションがあるので、これでボタンの連射機能が動くと思っていたのですが、どうも バグ で今のところ動かないようです。
あれこれ試行錯誤した結果、別の外部ツール 「XInput Plus」 を一緒に併用することで デュアルショック 4 コントローラー に連射ボタンとボタン同時押しをなんとか設定することができました。
「XInput Plus」 でボタン連射とボタン同時押しの設定は特別難しいわけではないのですが(ボタン同時押しの設定方法はツール作者の サイト で公開)、デュアルショック 4 コントローラー とそれを Xinput コントローラーとして認識させている 「DS4Windows」、そしてゲーム側(今回は 「River City Ransom: Underground」 ) とそれぞれのツール、ゲームできちんと設定されてないと動作しない可能性があります。
今回はこれらのツールとゲームの設定で気を付けなければいけないことがいくつか見つかりましたので、その辺も含めて設定方法について簡単に解説します。
DS4Windows Version 1.4.52 を最後に更新がストップしています。いろいろ不具合が残っており PC 環境によっては使えない状況でしたが(特に大型アップデート後の Windows 10)、別の方 がプロジェクトを フォーク して更新を続けています。最新版のダウンロードは こちら。
Steam 版 MONSTER HUNTER: WORLD など 「Steam Input API」 を使うゲームでは外部コントローラーツールと干渉してコントローラー操作できなくなることがあります。その場合外部コントローラーツールの使用はやめて Steam の Big Picture モードを起動してコントローラーを設定 する必要があります。
DS4Windows でゲーム用プロファイル作成と設定
あらかじめ 「DS4Windows」 にてゲーム用のコントローラープロファイルを、新規または既存のプロファイルから複製(Duplicate)してプロファイル名を変更しておきます。
デフォルトで用意されているプロファイルを使用しても問題ないのですが、細かい設定をする場合はゲーム別にプロファイルを作成して管理したほうが何かと便利です。
ゲームを起動したときに設定したプロファイルに自動的に切り替わるように設定します。この設定をしておけば、コントローラーのプロファイルを毎回手動で切り替える必要がなくなります。
今回はメインで使っている DS4Windows を例にして説明していますが、デュアルショック 4 コントローラーを Xinput 入力にできるツール ( InputMapper など) であれば、この後使う 「XInput Plus」 でも問題なく設定できるものと思います。
Xinput Plus でボタン連射設定
「XInput Plus」 でボタン連射設定をします。対象ボタンにチェックマークを入れることで、「有効/無効 切り替え」 が設定できるようになります。今回は X・Y ボタン(River City Ransom: Underground ではパンチ・キックボタン) を連射設定にしています。
デフォルトで 「プログラム開始時に有効」 にチェックマークが入っており、ゲーム起動時に勝手にボタン連射が有効になってしまうため、連射設定オフの状態で起動したい場合はこのチェックマークを外しておきます。
速度は 1 frame(s) になっていますが、ゲームによっては反応しない可能性があります(River City Ransom: Underground では問題なし)。その場合はスライダーを右にずらして連射できる適切な値を見つける必要があります。
連射のオンオフ切り替え方法は二つのボタンを組み合わせでできますが、今回は 「ガイド + ガイド」 に変更してます。同じボタンに設定することでボタン一つで連射機能のオンオフに切り替えることができます。
設定完了後は全体テストを押してボタンの動作確認を行います。うまく動作したら、対象プログラムでゲームプログラムを指定して、適用ボタンをクリックして設定を反映させます。
ガイドボタンを使う場合、「DS4Windows」 の PS ボタンに Guide が割り当ててあることを確認しておきます。
デフォルト設定ですでに割り当てられているかと思いますが、何らかの理由で解除していた場合は、「XInput Plus」 でガイドボタンを使う設定にしていても反応しませんのでご注意ください。
なお、「XInput Plus」 のキー割り当てでガイドボタンを 「なし」 にしても、連射ボタンの切り替えは問題なく動作します。
Xinput Plus でボタン同時押し設定
「XInput Plus」 でボタンの同時押しを設定します。ボタン同時押しの設定方法はツール作者の サイト で公開されているので、その方法の通りに設定します。
「XInput Plus」 のキー割り当てタブを開きます。同時押しさせたいボタン(今回は X・Y ボタン)をクリックして 「複数キー」 を選択します。
キー割り当てタブで 「複数キー」 選択後、ボタンの同時押しを 発動させたいボタン にチェックマークを入れます。今回はそれぞれ左トリガーにチェックマークを入れています。
このような設定をすることで左トリガーを押すことにより、X・Y ボタンが同時に押されるようになります。
※ 「River City Ransom: Underground」 のコントローラー初期設定では、左トリガーは 「アイテムを使用する」 になっています。ゲーム内でボタン配置を自由に変更できるので、私の環境では何も割り当てられていない L3 ボタン(左スティック押し込み) に 「アイテムを使用する」 を割り当てて、左トリガーにはなにも割り当てていないようにしています。
「XInput Plus」 の全体テストでボタン動作の確認をします。画像では左トリガーを押したときに、X・Y ボタンが同時に押させていることが確認できます。
先ほどの設定の場合は左トリガーが反応しつつ、X・Y ボタンが同時に押されるという設定内容でしたが、この発動させたボタン(今回設定した左トリガー)を反応させないで、ボタン同時押しにするという設定が可能です。
やり方はキー割り当てタブで同時押し発動ボタン(今回設定した左トリガー)を 「なし」 に変更します。
「XInput Plus」 の全体テストで左トリガー(同時押し発動ボタン)を押したときに左トリガーが反応せず、同時押しボタンに設定した X・Y ボタンが反応することができました。
DS4Windows でボタン同時押し設定
「DS4Windows」 でもボタン同時押しを設定することができます。ただし、専用の設定画面はなくマクロを組むことになります。
マクロ画面を開いたら 「Record Delays」 にチェックマークを入れて Record ボタンをクリックして同時押したいコントローラーのボタンを入力します。
同時押しボタン設定後、間に入力された余計な Wait を削除します。基本的に 「押したボタン(↓表記)」 と 「離したボタン(↑表記)」 の間には必ず Wait が入っている必要があり、これがないと速すぎるせいかボタンが反応しない可能性があります。
また、Wait に記載されている ms については、数値が小さすぎるとゲームによってはボタンが反応しない可能性があるので、適切な値に設定する必要もあります。
以上のように、「DS4Windows」 でボタン同時設定を含めたマクロを組む場合は、押して離すボタン動作の間に Wait を必ず入れること、Wait の数値はあまり小さくしすぎないこと、これらの設定を適切にやらないとマクロがうまく機能しない可能性があります。
マクロ設定がかんたんな 「DS4Windows」 ですが、細かい調整(Wait 時間)が必要なことと、マクロ編集があまり柔軟にできないところがあるので、ボタン同時押し設定程度の内容なら 「XInput Plus」 で完結したほうが楽です。
「DS4Windows」 でボタン同時押しマクロを設定してある状態で 「XInput Plus」 も一緒に併用して使用している場合、マクロ発動ボタンがボタンとして動作してしまいます。(「DS4Windows」 ツール単独で使っている場合は反応しません)
もし、「DS4Windows」 と 「XInput Plus」 を併用している状態で、マクロ発動ボタンをコントローラー上では反応させたくない場合は、先ほどの Xinput Plus で設定したボタン同時押し設定 の時と同様に、「XInput Plus」 のキー割り当てを 「なし」 にすることで解決します。
DS4Windows と Xinput Plus で設定して気が付いたこと
「DS4Windows」 と 「XInput Plus」 を併用して設定していた際に気が付いたことです。
ボタンの入れ替えを設定したい場合は 「DS4Windows」 または 「XInput Plus」 どちらか片方のツールでボタンの入れ替えを設定して、もう片方のツールでは設定を変更せずそのままにしておきます。
もし、両方のツールで同じようなボタン入れ替え設定をすると、元の設定に戻ってしまいます。おそらくですが、「デュアルショック 4 コントローラー」 → 「DS4Windows」(Xinput 変換ツール) → 「XInput Plus」 (Xinput 設定ツール)、という順番で認識しているためかボタンを入れ替え設定した後に、さらに別のツールでまったく同じような設定をすることで、逆の逆の設定で元の状態に戻ってしまったのではないかと思われます。
確認はしてませんが 「DS4Windows」 以外の 「InputMapper」 や 「X360ce」 、「XInput Wrapper for DS3」 のようなツールを 「XInput Plus」 と一緒に併用して使った場合も同様な現象が起きるのかもしれません
これ以上の検証は行いませんが、基本的に複数のツールを使ってボタンを入れ替えなどする場合は、どの部分の設定を変更したのかをよく把握したほうがよいでしょう。
- PC に接続したデュアルショック 4 コントローラーに連射ボタンとボタン同時押しを設定した時のメモ (現在開いているページ)
- 新型 PS4 コントローラー(デュアルショック 4)と操作を快適にする便利なアクセサリーを購入しました
- 新型 PS4 コントローラー(デュアルショック 4)を PC で使えるように DS4Windows をインストールした時のメモ
- XInput Plus のダウンロードと初期設定の確認をしてみました
- XInput Plus を使って Xbox 360 コントローラーの設定を変更してみました
- 新型 PS4 コントローラー(デュアルショック 4)を XInput Wrapper for DS3 で使えるように設定してみました
- 新型 PS4 コントローラー(デュアルショック 4)を PC で使えるように Input Mapper をインストールした時のメモ
- Xbox360 コントローラーと PS3 コントローラーを PC で使うために非公式ドライバやツール、設定に関するネット情報を集めてみました