「vJoy」を利用して仮想ゲームパッドを作成する

はじめに

個人的に作ろうと思っているツールの開発の関係で仮想ゲームパッドを使いたくなったので何か良いものがないか探したところ、vJoyというツールを発見しました。

どうやらPCゲームのマクロ等で利用されているようです(その発想はなかった)。

FeaturesによるとWindows 11では動作未確認っぽいです。

Download vJoy for free. This project was originally designed to provide an open-…
sourceforge.net

導入方法

上のSourceForgeから「Download」を押せばインストーラー(vJoySetup.exe)をダウンロードできます。

あとはインストーラーを実行してインストールするだけです。ちゃんと完了すれば「vJoy installed successfully」というメッセージが表示されます。

スタートメニューには以下の画像の項目が増えています。1つずつ順番に確認していきましょう。

図1. インストール完了後のスタートメニュー

Configure vJoy

「Configure vJoy」を起動すると以下のような画面が表示されます。

図2. Configure vJoy

ここでは仮想ゲームパッドのデバイスの設定を行えます。MAX16台まで同時接続できるっぽい?

左下の「Enable vJoy」のチェックボックスでvJoy全体の有効/無効を切り替えられるみたいです。

他には以下のような設定項目があります。

  • Axes: ゲームパッドのスティック等の軸
  • Number of Buttons: ボタン数
  • POV Hat Switch: ゲームパッドの十字ボタン
  • Force Feedback: コントローラー側で発生する効果………?(使わない機能なので未調査)

Monitor vJoy

vJoyデバイスの入力を可視化できるツールです。単体だと何もないけど後の「vJoy Feeder」で使います。

vJoy Device List

vJoyデバイスの一覧を表示します。デバイスIDとPIDが表示されます(VIDはどこ…?)。

図3. vJoyデバイスリスト

vJoy Feeder

vJoyデバイスの操作盤です。「Terget Device(原文ママ)」から目的のvJoyデバイスを選択し、「Axes」「Buttons」「Continuous POV」でそれぞれスティックの値・ボタンのON/OFF・十字ボタンを操作できますが、自分は「Continuous POV」だけグレーアウトして操作できませんでした。

図4. vJoy Feederで入力を変化させられる

また、Feederの入力は先述したMonitorに反映されます。

図5. vJoy Monitorで入力の監視

vJoy Home・vJoy SDK

サイトのショートカットになってるみたいですが、どちらも404を返されました。

SDKは、本体同様SourceForgeからダウンロードできます。C#が書けるなら色々できるみたい。

This project was originally designed to provide an open-source replacement for P…
sourceforge.net

おわりに

今回、vJoyをインストールし、以下の3つのことを確認しました。

  • ConfigureからvJoyデバイスの構成が変更できること
  • FeederでvJoyデバイスの入力を変化させられること
  • MonitorでvJoyデバイスの入力を監視できること

PIDやVIDもイジれるのかな?って思ってたけどどうやらできないみたいです。もしかしたらSDK使えばなんとかできるかもしれません(必要になったら検証します)。

これを使ったツールの記事もある程度形が固まってきたら書きます(宣言)。