目次

  1. 仮想コントローラーとは
  2. マッピングとは
  3. マッピング機能は何に使うのか
  4. XInputの仮想コントローラーをインストールする
  5. マッピングを有効にする
  6. 動作確認
  7. 注意事項
仮想コントローラーとは

物理的なコントローラーを必要としないパソコン上にだけ存在するコントローラー(プログラム)です。
仮想コントローラーはマクロやマッピングを介して動かすことが出来ます。

マッピングとは

実在するコントローラーの入力をそっくりそのまま仮想コントローラーにセットすることで、あたかも実際のコントローラーを動かしているかのように振る舞わせる機能です。

マッピング機能は何に使うのか

マッピング機能はそもそも何に使うのかわかりにくいかと思いますので説明していきたいと思います。 しかし、その前のコントローラーにはの複数の規格があることを知っておく必要があります。 また、その規格の注意点についても知っておく必要があるので読んでおいてください。

コントローラーには二種類の規格が存在します。一つはDirectInput、もう一つはXInputと呼ばれており、ゲームなどコントローラーを使うソフトウェアはこれらの規格を使用してやり取りを行っています。
つまり、コントローラーをゲームで使うにはコントローラーとゲーム側の規格が一致している必要があります。 ※ゲーム側が両方の規格に対応している場合もあります。

DirectInputXInput

仮想コントローラーの役割はコントローラーとゲームの間に入ることにあります。 例えば、「ゲーム側がXInputにしか対応していないのに自分の持っているコントローラーはDirectInputだった」みたいなケースってわりとあると思います。 そういった場合にゲームに対応する規格の仮想コントローラーを間に挟むことでゲームとのやり取りを行えるわけです。

mapping


XInputの仮想コントローラーをインストールする

Windows7をお使いの方は最初にXbox360の最新ドライバをインストールする必要があるのでこちらからダウンロードしてください。


  1. まず、編集ウィンドウを開き「アプリケーションの設定」のページを表示します。
  2. 仮想コントローラー(XInput と DirectInput)カテゴリへ移動します。
  3. 仮想XInputコントローラーをインストールをクリックします。 しばらく待ったらインストールが終了します。
3

次に仮想コントローラーを有効にしておきます。 同じ場所にある「仮想 XInput Device 0 を有効にする」にチェックを入れてください。

no title

これでインストールは完了です。

マッピングを有効にする

割り当て設定(コントローラー)を開き、右側パネルにある「コントローラーの入力を仮想のXInputコントローラーにマッピングする」を有効にします。 後は保存&再読み込みをすれば、マッピングされるはずです。

2

動作確認

controller

以下からコントロラーの挙動を視覚的に確認することが可能です。

「メインウィンドウ」>「ツール」>「入力の可視化」>「コントローラー」
マッピングは「XInput Device 0」に対して行われるので、以下の通りに設定をするとマッピングが正常に動いているかどうか確認できます。
コントローラーを右クリック >「コントローラー」>「XInput」>「XInput Device 0」



注意事項

コントローラーと仮想コントローラーの入力は重複して存在する コントローラー側の入力はブロックされるわけではないので入力が重複して存在することになります。 ゲームによってはコントローラーの入力が邪魔になるかもしれません。

XInputの仮想コントローラーは0番目にマッピングされる XInputは0~3までの4つのデバイスを同時に接続することができます。 そしてXInputの仮想コントローラーへのマッピングは「XInputDevice 0」に対して行われます。 そのため、XInput Device 0にコントローラーが接続されいた場合マッピングに失敗するので、0番目は空けておいてください。 XInputのデバイス番号はOSが自動で割り振るため手動では切り替えられません。 コントローラーの物理的な再接続を行うことで番号を変更することができます。

XInputの仮想コントローラーだけど、DirectInputの仮想コントロラーでもある XInputの仮想コントローラーを有効にすると、「Controller(XBOX 360 ForWIndows)」も有効になります 「Controller(XBOX 360 For WIndows)」DirectInputコントローラーです。 仕様上、XInputの仮想コントローラーへマッピング/アクション実行を行うと上記のデバイスも一緒に動いてしまうので注意してください。