【X Input】と【Direct Input】
更新日 | 公開日 2019年7月2日
- ◆はじめに
- ◆【X Input】と【Direct Input】について
- ◆【Direct Input】を【X Input】に変換
- ◆Steamのゲームとゲームパッド
- ◆多ボタンのゲームパッドについて
- ◆まとめ
- ◆関連ページ
【はじめに】
パソコン(Windows)にゲームパッド(コントローラー)を接続するとゲームパッドでゲームをプレイ可能になりますが、この時に「パソコンとゲームパッド」でのやり取りには2種類あり、それが【X Input】と【Direct Input】になります。
詳しく書くと【Direct Xライブラリの一部で、入力情報を収集するためのAPI】となりますが、細かい事は抜きにして簡単に書くと【X Input】と【Direct Input】共に、Windowsパソコンでの【入力方式】と考えてオッケーです。
【X Input】と【Direct Input】について
【X Input】は新しい入力方式で、【Direct Input】は古い入力方式になります。
「古い方はいらないんじゃないの?」と思われるかもしれませんが【X Input】は【Direct Input】の後継の入力方式ではなく新規の入力方式になります。そのため互換性はありません。
また【X Inputのゲームパッド】は【X Input対応のゲーム】でしか動きません。【Direct Inputのゲームパッド】で【X Input対応のゲーム】はプレイできません。すなわち【ゲームパッドとゲームの両方の対応状況】の確認が必要になります。
なんか面倒くさくなってきましたが、現在のゲームは【X Inputを採用】が主流なので【X Inputのゲームパッド】を買えば問題はないです。
ではなぜ【Direct Input】について知らなくてはならないのかというと、PlayStationのゲームパッド【DualSense (PS5)】【DualShock (PS4)】や、Switchのゲームパッド【Switch Pro Controller】の入力方式は【Direct Input】になります。また【多くのボタンを搭載した多ボタンのゲームパッド】の入力方式も【Direct Input】になります。
ややこしくなってきたので【X Input】と【Direct Input】を比較しながら見てみます。
・Windowsを開発しているMicrosoftが出したゲーム機【Xbox360】の登場と同時に発表された入力方式で、Xbox360のゲームパッドの全ての機能をWindows上でも利用できる。(DirectX9から)
・パソコンに接続したら、すぐにゲームプレイが可能。
・Xbox360のゲームパッドより多いボタン数のゲームパッドのボタンは認識しない。【アナログ4軸・10ボタン・デジタル8方向までをサポート】【最大同時接続数は4台まで】
・X Input以前からあるWindowsの入力方式。(DirectX8など)
・パソコンに接続して、Windows上で設定しないとゲームプレイはできない。 またゲーム毎に設定が必要になる事も多い。
・Xbox360のゲームパッドより多いボタン数のゲームパッドのボタンも認識、設定可能。【アナログ8軸・128ボタン・フルレンジのPOV(ハットスイッチ)までをサポート】【最大同時接続数の制限はなし】
【X Input】はXbox360のゲームパッドのために生まれた入力方式で接続は簡単だが拡張性はなく、【Direct Input】は以前からあった入力方式で接続は面倒だが拡張性はある、という感じになっています。
下は各ゲームパッドのWindowsでの入力方式をまとめたモノです。
◆【PS5やPS4、Switchのゲームパッド】は【Direct Input】。
◆【パソコンの周辺機器メーカーから出ているゲームパッド】は【X Input】、【Direct Input】、【X Input・Direct Inputの両方に対応】の3種類全てあります。
【Direct Input】を【X Input】に変換
PS5やSwitchのゲームパッドは【Direct Input】ですが【X Input】としても使えます。 これを可能にしているのが外部ソフトになります。PS5やSwitchのゲームパッドを外部ソフトを使い【Xbox360のゲームパッド】として認識させる事で、それを可能としています。これは【Direct Input】を【X Input】に変換しています(エミュレートしています)。
◆プレステ系の【DualSense】【DualShock】は【DS4windows 】や【inputMapper 】など。
◆Switchの【Switch Pro Controller】は【Xbox 360 Controller Emulator 】や【XOutput 】など。
【Steamのゲームとゲームパッド】
Steamのゲームでは、「Xbox系 (Xbox360・XboxOne・Xbox Series X(S)・エリコン1と2)」、「プレステ系 (DualShock・DualSense・DualSense Edge)」、「Switch系 (Joy-Con・プロコン)」のどのゲームパッドでも使用可能です。
Steamクライアント内に「Steam入力」というDirect InputをX Inputに変換するような機能が備わっているため、外部ソフトなしでSteamのゲームをプレステ系やSwitch系のゲームパッドでプレイ可能となっているためです。 カスタマイズもそこそこできます。
またSteam入力ではゲーム機以外のゲームパッドにも積極的に対応していっており、2024年6月27日時点で「300種類以上のゲームパッド」に対応しています。
【多ボタンのゲームパッドについて】
多くのボタンを搭載した多ボタンのゲームパッドについてですが、これは仕様上【Direct Input】でしか使えないため、現在では対応したゲームがほぼなく古いゲームばかりになります。そのため古いゲームを多ボタンのゲームパッドでプレイする場合を除き、お勧めできないゲームパッドになっています。
【Direct Input】を【X Input】に変換するソフトを使用して【X Input】として操作できても、全てのボタンは使用できなくなります(Xbox360のゲームパッド以上のボタンは使えない)。 そのため多ボタンを使う利点がなくなる事になります。
ただし【JoyToKey】を使ってマウスやキーボードの操作を多ボタンのゲームパッドに割り当てれば、多ボタンのゲームパッドをフルに利用できます。JoyToKeyを使えばゲームはもちろんですが、ゲーム以外でも使用でき【ブラウザ】や【動画再生ソフト】などの操作もゲームパッドで操作可能となります。
これは【マウスとキーボードの操作をエミュレートしている】ため実現可能で、マウスとキーボードで操作するソフトの全てをゲームパッドで操作可能という事です。それはゲームパッドに対応していないゲームでもゲームパッドでのプレイを可能にする、という事でもあります。
ちなみに【JoyToKey】は【X Input】【Direct Input】の両方に対応しています。そのためXbox系・プレステ系・Switch系のゲームパッドをはじめ、古いゲームパッドや多ボタンのゲームパッドなど様々なコントローラーで利用可能という便利ソフトです。
【まとめ】
◆X Inputは、Xbox360のゲームパッドのために作られた入力方式で
パソコンに接続後、設定は必要なくすぐにプレイ可能だが拡張性はない。
◆Direct Inputは、X Input以前からある入力方式で
パソコンに接続後、設定が必要だが拡張性がある。
◆現在のゲームの主流は【X Input】。
◆プレステ系やSwitch系のゲームパッドは【Direct Input】だが外部ソフトを使えば【X Input】として使える。Steamのゲームなら外部ソフトなしでゲームプレイ可能。
◆マウスとキーボードの操作をゲームパッドやコントローラーで操作可能にする【JoyToKey】というソフトがある。