Xbox360コントローラーをPCで使う際に知っておきたいこと

ここでは、現状(2012年4月現在)Xbox360コントローラーをPCで使用する際に知っておいたほうが良いと思われることをまとめています。細かな技術的な内容などはさておき、最低限の内容を記載しています。

XInputとDirectInput

PCでゲームコントローラを使用する場合、ゲームコントローラーの形式にはXInput形式とDirectInput形式があります。

Xbox360コントローラーはXInput形式で使用できることが大きな特徴です。他の一般的なPC用ゲームコントローラーはDirectInput形式のみに対応しています。

Xbox360コントローラー以外のXInput対応コントローラーもいくつか販売されています。

ゲーム側の対応状況

これまで、ゲームコントローラーに対応しているゲームは、DirectInput形式に対応していることが一般的でした。近年は、XInputに対応したゲームも多くなってきており、XInput形式のみに対応したものも増えてきています。

Xbox360コントローラーのドライバ

Xbox360コントローラーは、Windows用ドライバ(公式ドライバ)を使用するとXInputコントローラーとして認識されます。XInputコントローラーはDirectInput互換機能を持っており、上記DirectInput形式・XInput形式両方で使用することが出来ます。

Windows Vista以降ではOSにドライバが含まれており、XBOX360コントローラーをつなぐだけで自動的にドライバがインストールされ使用することができます。

このドライバの仕様として、DirectInputコントローラとして使用する場合に以下の制限があります。

DirectInputでのこれらの問題に対しては、XInput Plusが持つDirectInput出力機能で解決できる場合があります。

DirectInput出力機能で対応できない場合は、有志の方が作成されたドライバ(非公式ドライバ)を導入することで解決できます。ただし、このドライバを導入した場合は、XInputコントローラとしては使用することが出来なくなります

非公式ドライバの導入方法などはここでは説明しません。検索すれば詳細に説明したサイト等が多く見つかると思います

(非公式ドライバは、ドライバレベルでキー割り当ての変更などさまざまな設定も行えるすばらしいものです。作成者の方にはここで感謝を申し上げます)

Xbox360コントローラーをPCで使用するには?

XInput Plusは何をしてくれるの?

XInput Plusは、公式ドライバを使用し、XInputに対応したゲームで動作します。乱暴に説明すると、公式ドライバでの入力状態とゲームの間に割り込み、入力状態を加工してゲームに渡すことで、各種機能を実現しています。

DirectInput形式での使用時には、DirectInput出力機能により、XInputの出力をDirectInputに変換出力することで対応しています。