SoSoDa


TOP 知識やデータベース ソフトウェア 【X Input】と【Direct Input】

【X Input】と【Direct Input】

更新日 2020年12月27日 | 公開日 2019年7月2日

色々なゲームパッドの画像
目次
  1. ◆1 はじめに
  2. ◆2 【X Input】と【Direct Input】について
  3. ◆3 【Direct Input】を【X Input】に変換
  4. ◆4 多ボタンのゲームパッドについて
  5. ◆5 まとめ
  6. ◆6 関連ページ

1【はじめに】

パソコン(Windows)にゲームパッド(コントローラー)を接続するとゲームパッドでゲームをプレイ可能になりますが、この時に「パソコンとゲームパッド」でのやり取りには2つの方式があり、それが【X Input】と【Direct Input】になります。

詳しく書くと【Direct Xライブラリの一部で、入力情報を収集するためのAPI】となりますが、細かい事は抜きにして簡単に書くと【X Input】と【Direct Input】共に、Windowsのパソコンでの【入力方式】と考えてオッケーです。

2【X Input】と【Direct Input】について

XboxOne Controllerの画像

【X Input】は新しい入力方式で、【Direct Input】は古い入力方式になります。

「古い方はいらないんじゃないの?」と思われるかもしれませんが【X Input】は【Direct Input】の後継の入力方式ではなく新規の入力方式になります。そのため互換性はありません。

また【X Inputのゲームパッド】は【X Input対応のゲーム】でしか動きません。【Direct Inputのゲームパッド】で【X Input対応のゲーム】はプレイできません。すなわち【ゲームパッドとゲームの両方の対応状況】の確認が必要になります。

なんか面倒くさくなってきましたが、現在のゲームは【X Inputを採用】が主流なので【X Inputのゲームパッド】を買えば問題はないです。

ではなぜ【Direct Input】について知らなくてはならないのかというと、PlayStation 4のゲームパッド【DUALSHOCK 4】やSwitchのゲームパッド【Switch Pro Controller】の入力方式は【Direct Input】になります。また【多くのボタンを搭載した多ボタンのゲームパッド】の入力方式も【Direct Input】になります。

ややこしくなってきたので【X Input】と【Direct Input】を比較しながら見てみます。

◆X Input
・Windowsを開発しているMicrosoftが出したゲーム機【Xbox360】の登場と同時に発表された入力方式で、Xbox360のゲームパッドの全ての機能をWindows上でも利用できる。(DirectX9から)

パソコンに接続したら、すぐにゲームプレイが可能。

・Xbox360のゲームパッドより多いボタン数のゲームパッドのボタンは認識しない。【アナログ4軸・10ボタン・デジタル8方向までをサポート】【最大同時接続数は4台まで
◆Direct Input
・X Input以前からあるWindowsの入力方式。(DirectX8など)

パソコンに接続して、Windows上で設定しないとゲームプレイはできない。 またゲーム毎に設定が必要になる事も多い。

・Xbox360のゲームパッドより多いボタン数のゲームパッドのボタンも認識、設定可能。【アナログ8軸・128ボタン・フルレンジのPOV(ハットスイッチ)までをサポート】【最大同時接続数の制限はなし

【X Input】はXbox360のゲームパッドのために生まれた入力方式で接続は簡単だが拡張性はなく、【Direct Input】は以前からあった入力方式で接続は面倒だが拡張性はある、という感じになっています。

下は各ゲームパッドのWindowsでの入力方式をまとめたモノです。

◆【Xbox360・XboxOneのゲームパッド】は【X Input】。

◆【PS4やSwitchのゲームパッド】は【Direct Input】。

◆【パソコンの周辺機器メーカーから出ているゲームパッド】は【X Input】、【Direct Input】、【X Input・Direct Inputの両方に対応】の3種類全てあります(買う時に気をつけましょう)。

3【Direct Input】を【X Input】に変換

DUALSHOCK 4とSwitch Pro Controllerの画像

しかしPS4やSwitchのゲームパッドは【X Inputのゲーム】でも使えます。 これを可能にしているのが外部ソフトになります。PS4やSwitchのゲームパッドを外部ソフトを使い【Xbox360のゲームパッド】として認識させる事で、それを可能としています。これは【Direct Input】を【X Input】に変換しています(エミュレートしています)。

それぞれの外部ソフトを使いXbox360のゲームパッドとして認識させます。リンク先はGoogleの検索結果ページです。

PS4の【DUALSHOCK 4】は【DS4windows 】や【inputMapper 】など。

Switchの【Switch Pro Controller】は【Xbox 360 Controller Emulator 】や【XOutput 】など。

ただしSteamのゲームでは、Steamクライアント内に上記の外部ソフトと同じような機能が備わっているため、外部ソフトなしでSteamのゲームをPS4やSwitchのゲームパッドでプレイ可能です。


DualSenseの画像

PS5のゲームパッド【DualSense】ですがSteamは完全対応したため、Steamのゲームなら【DualSense】でゲームができます。

その他の外部ソフトは【DS4windows 】が一部の機能がまだ未対応ですが基本的なゲームパッドの動作には対応しています(リンク先はGoogleの検索結果のページです)。ただDualSenseへの対応はまだ開発途中なので不具合があるかもしれません。


4【多ボタンのゲームパッドについて】

他ボタンのゲームパッドの画像

多くのボタンを搭載した多ボタンのゲームパッドについてですが、これは仕様上【Direct Input】でしか使えないため、現在では対応したゲームがほぼなく古いゲームばかりになります。そのため古いゲームを多ボタンのゲームパッドでプレイする場合を除き、お勧めできないゲームパッドになっています。

また【Direct Input】を【X Input】に変換するソフトを使用して【X Input】として操作できても、全てのボタンは使用できなくなります(Xbox360のゲームパッド以上のボタンは使えない)。 そのため多ボタンを使う利点がなくなる事になります。


ただ【JoyToKey】を使ってマウスやキーボードの操作を多ボタンのゲームパッドに割り当てれば、多ボタンのゲームパッドをフルに利用できます。JoyToKeyを使えばゲームはもちろんですが、ゲーム以外でも使用でき【ブラウザ】や【動画再生ソフト】などの操作もゲームパッドで操作可能となります。

これは【マウスとキーボードの操作をエミュレートしている】ため実現可能で、マウスとキーボードで操作するソフトの全てをゲームパッドで操作可能という事です。それはゲームパッドに対応していないゲームでもゲームパッドでのプレイを可能にする、という事でもあります。

ちなみに【JoyToKey】は【X Input】【Direct Input】の両方に対応しています。そのためXbox・PS4・Switchのゲームパッドや多ボタンのゲームパッドの他にも様々なコントローラーで利用可能という便利ソフトです。

JoyToKeyのサイトへ。

5【まとめ】

【X Input】と【Direct Input】のまとめ

◆X Inputは、Xbox360のゲームパッドのために作られた入力方式で
パソコンに接続後、設定は必要なくすぐにプレイ可能だが拡張性はない。

◆Direct Inputは、X Input以前からある入力方式で
パソコンに接続後、設定が必要だが拡張性がある。

現在のゲームの主流は【X Input】。

◆PS5やPS4、Switchのゲームパッドは【Direct Input】だが外部ソフトを使えば【X Input】として使える。Steamのゲームなら外部ソフトなしでゲームプレイ可能。

◆マウスとキーボードの操作をゲームパッドやコントローラーで操作可能にする【JoyToKey】というソフトがある。

6【関連ページ】