石田賀津男の『酒の肴にPCゲーム』

PCゲームでコントローラーが使えない? それ、DirectInputでは?

Xinput変換ソフト「Xbox 360 Controller Emulator」で解決

 PCゲームに関する話題を、窓の杜らしくソフトウェアと絡め、コラム形式でお届けする連載「石田賀津男の『酒の肴にPCゲーム』」。PCゲームファンはもちろん、普段ゲームを遊ばない方も歓迎の気楽な読み物です。

今まで使えたはずのコントローラーが使えない

長年愛用している「ホリパッド3 ターボ」。PS3用のものをPCで使用している

 読者の皆様、PCゲームで使うコントローラー(ゲームパッド)は何をお使いですか?

 私が愛用しているのは、HORIがプレイステーション 3向けに発売した「ホリパッド3 ターボ」。PS3向けの製品には珍しくL2/R2ボタンがデジタル入力で、「モンスターハンター フロンティア オンライン」を夜な夜なプレイしていた時からのお気に入りだ。

 ところが最近、このコントローラーで動かせないゲームが増えてきた。以前から散々使ってきたはずなのに、なぜこうなったのか?

旧規格のDirectInputと、新規格のXinput

 Windows PCでは様々なコントローラーを認識できる。プレイステーション 5やNintendo Switchなど、最新ゲーム機のコントローラーでも有線接続してしまえば問題なく認識できる。無線対応の製品なら、Bluetoothで接続できるものも多い。

 これらのコントローラーの多くは「DirectInput」という規格で接続される。Windowsではかなり古くからあるもので、USB接続ができるものなら、ほぼこの規格で認識できる。

「ホリパッド3 ターボ」をPCに接続。きちんと認識しているが、これはDirectInputによるものだ

 そこに新たな規格として現れたのが「Xinput」。Xbox 360のコントローラーをベースとした規格で、最新のXbox Series X|Sでも使われている。Xinputに対応した製品としては、Xbox 360以降のXboxシリーズ用のコントローラーのほか、Xinput対応をうたう他社製品も売られている。

 Xinputのメリットは、ボタン配置がXboxコントローラーを想定している点。DirectInputでは、ボタンは認識されていても、製品によってどのボタンがどの位置に対応しているかがバラバラだった。そのため、ゲームごとにボタン配置を設定し直さねばならないこともある。Xinputならボタン位置は規格として定まっているので、ユーザーが設定する必要がない。

 それなら全てのコントローラーがXinputに対応していればいいのだが、そうはなっていない。Xbox用コントローラーをベースにマイクロソフトが定めた規格なので、他社のゲーム機向けコントローラーは対応していない。任天堂やソニー・インタラクティブエンタテインメント(SIE)がXinputに対応する理由も義理もないので当然だ。

 そして最近のゲームの中には、Xinputのコントローラーにのみ対応するものがある。そこにXinputには非対応なコントローラーを接続すると、Windowsからはコントローラーが認識されるが、ゲームでは全く反応しないという事態になる。「ホリパッド3 ターボ」はDirectInputによる接続なので、操作できないゲームがあるわけだ。

Xbox純正コントローラーを買えば間違いないのだが……

 この問題に対応する方法は2つある。1つはXinput対応のゲームパッドを購入すること。PCゲーマーなら、リファレンスとなるXbox純正コントローラーが1つあってもいいだろう。

 しかしXbox用コントローラーは、プレイステーション(PS)系のコントローラーとは異なり、左アナログスティックが方向ボタンと上下入れ替わったような配置になっており、これが嫌だという人も多いだろう。ちなみにNintendo Switchも左アナログスティックが上にある配置で、ゲーム業界的には2対1でPS型が少数派と言えなくもないのだが、ともかく好みが分かれるポイントだ。

 またXbox Series X|Sの純正コントローラーは、少し前から世界的な品薄になっているらしく、日本でも定価ですら入手困難な状況になっている。他社のXinput対応製品を探す方が現実的で、その場合はPS型のアナログスティック配置の製品も選べる。

Xbox純正コントローラーなら、PCに有線接続できる「Xbox ワイヤレス コントローラー + USB-C ケーブル」がおすすめ。ただし公式サイトに完売の表示が出るほど品薄

 とはいえゲーマーとしては、お気に入りのコントローラーがハード的な故障ではなく、規格云々というユーザー的には知ったこっちゃない理由で使えなくなってしまうのは、まことに遺憾だ。そこでもう1つの方法がある。DirectInputのコントローラーをXinputのコントローラーとして認識させるのだ。

 間にソフトをかませてエミュレートするというPCらしい手法によるもので、調べてみるといくつかのソフトが存在する。今回は「Xbox 360 Controller Emulator」というソフトを使って、「ホリパッド3 ターボ」をXinput用として動作させてみる。

「Xbox 360 Controller Emulator」でXinputに変換する手順

 「Xbox 360 Controller Emulator」はWebサイトで配布されている。v3系とv4系があるようなので、最新のv4系(執筆時点では、v4.17.15.0 2020-11-15)をダウンロードする。[DOWNLOAD FOR ALL GAMES]のボタンをクリックすればダウンロードできる。

 ダウンロードしたZIPファイルを適当なフォルダに解凍し、できたファイル「x360ce.exe」を実行する。Webサイトの説明やソフトの中身は全て英語だが、やることは簡単なので慌てずに設定していこう。

 まず最初に設定するコントローラーを接続しておき、認識したら[+Add...]と書かれたボタンをクリック。すると入力デバイスを選択するウインドウが出るので、一覧から接続したコントローラーを選ぶ。下の[Add Selected Device]をクリックすると元の画面に戻る。[+Add...]ボタンの下に選択したコントローラー名が表示されていればいい。

メインの画面で[+Add...]のボタンをクリック
接続したコントローラーを選ぶ。私の場合は「HORI PAD 3 TURBO」を選択。Vendor Nameが「HORO」になっているのはご愛敬
正しく選択できると、メイン画面にコントローラー名が出る

 次に画面下部でコントローラー設定を行う。設定したいボタンやスティックをマウスでクリックすると赤い色が付くので、そこに対応させたいボタンやスティックをコントローラーで入力する。アナログスティックや方向ボタンもこの方法で上下左右を設定する。L/Rボタンは上から見た絵でボタン部分をクリックすればいい。

設定したいボタンやスティックを画像で選択
どんどん設定を進めていく

 この手順で画面上の全てのボタンを設定すれば完了だ。コントローラーのボタンを押してみると、画面上のコントローラーが反応して色が変わるので、きちんと設定できたかを確認できる。

設定後にコントローラーを操作すると、入力に応じて画面のコントローラー表示が反応する

 アナログスティックの感度や遊び、フィードバック機能など、より細かい設定も可能。ボタン設定時には[General]になっているタブを切り替えると、各種機能の詳細が出てくる。基本的には触らなくてもいいが、もしコントローラー自体の不調などで微調整が必要な場合は、該当する項目を見てみるといい。

アナログスティックの感度や遊びを微調整できる。使ってみて問題なければ触る必要はない

 ボタン設定を一通り終えると、「Xbox 360 Controller Emulator」の[Issue]タブに注意のマークが付いているのに気づいた。タブを選んで確認してみると、「You need to install Virtual Driver for emulation to work.(エミュレーションの動作には、仮想ドライバーのインストールが必要です)」と表示されている。

 その右側には[Install]のボタンがあるので押してみると、数秒でインストールが終わったようで、「All OK. No issues were found.(全てOK。問題は見つかりませんでした)」と表示された。これで仮想ドライバーも入ったようだが、公式サイトの説明によるとAdministrator(管理者権限)が必要とある。もしインストールがうまくいかない時は、「Xbox 360 Controller Emulator」を管理者として実行するといいかもしれない。

[Issue]タブに注意のマークが表示されたので見てみると、仮想ドライバーのインストールを促される。素直に[Install]ボタンをクリック
ボタンの文字が「Please Wait...」に変わるので少し待つ
「All OK. No issues were found.」の表示。これでいいようだ

 ここまで設定が済んだら、「Xbox 360 Controller Emulator」のウインドウを最小化する。タスクトレイアイコンに入り、CPU使用率が下がるとしている。なお、「Xbox 360 Controller Emulator」を終了してしまうとXinputのエミュレーションができなくなるので、使用中は最小化したままにしておく。

 この状態で実際にゲームを動かしてみると、DirectInputのコントローラーでは反応がなかったものが、きちんと動作するようになった。これでお気に入りのコントローラーを使い続けられる。

Xinput必須のゲーム「マインクラフトダンジョンズ」を試したところ、「ホリパッド3 ターボ」と「Xbox 360 Controller Emulator」の組み合わせで無事動作した

 注意点として、Xinput対応コントローラーとして動作はするが、コントローラーのボタンの絵柄と、ゲーム内で示されるボタンは違うものになる。PS系のコントローラーをXinputのボタン位置に合わせると、[A / B / X / Y]は[× / 〇 / □ / △]に対応する。ゲーム内の操作の指示は[A / B / X / Y]となるため違和感はあるが、使えないよりマシだ。

 ちなみにゲーム配信スタンド「Steam」のアプリでは、一部のDirectInput対応コントローラーをXinputに変換する機能が搭載されている。「Steam」のゲームしか遊ばないという人は、そちらで対応策を探るのもいいだろう。

 このようにDirectInputのコントローラーを救う手はあるものの、今後のPCゲームはXinputが主流になっていくのは間違いなく、Xinput対応コントローラーを入手する方向で検討するのがベターだ。個人的な希望としては、Xbox純正コントローラーの増産とともに、価格がもう一息下がってくれるとありがたい(定価6,578円)。Xboxに限らず、最近の家庭用ゲーム機の純正コントローラーは高すぎる……。

著者プロフィール:石田賀津男(いしだ かつお)

1977年生まれ、滋賀県出身
ゲーム専門誌『GAME Watch』(インプレス)の記者を経てフリージャーナリスト。ゲーム等のエンターテイメントと、PC・スマホ・ネットワーク等のIT系にまたがる分野を中心に幅広く執筆中。1990年代からのオンラインゲーマー。窓の杜では連載『初月100円! オススメGame Pass作品』、『週末ゲーム』などを執筆。

・著者Webサイト:https://ougi.net/

石田賀津男の『酒の肴にPCゲーム』 記事一覧

Microsoft Storeで「Xbox ワイヤレス コントローラー」を購入する