Skip to content

Xbox Virtual devices - preliminary support [3]

Pre-release
Pre-release
Compare
Choose a tag to compare
@shauleiz shauleiz released this 05 Apr 08:53
· 3 commits to Xbox since this release

General

It is now possible to feed Virtual Xbox devices (vXbox) in a similar way you used to feed vJoy devices.
This preliminary release is intended for users and developers alike - this release will enable the user to use existing feeders with vBox devices and to write new feeders.

Limitations

  • No feedback (FFB, LEDs) support yet.
  • Need manual installation and removal

Installation

Virtual Bus

vXbox devices are plugged-in into a Virtual Bus (ScpVbus).
First, you need to install the bus. If an older version is installed, remove it. (Sometimes the removal takes effect only after reboot - to be fixed)

  1. Download file ScpVBus_x64.zip or ScpVBus_x86.zip (attached) and open it in a folder (e.g. C:\TEMP)
  2. Start a Command-line (DOS) window as Administrator.
  3. CD to the folder containing the files (e.g. C:\TEMP\ScpVBus-x64)
  4. Type the following command: devcon.exe install ScpVBus.inf root\ScpVBus This will Install the bus.
  5. Later, if you wish to uninstall the bus, type: devcon.exe remove root\ScpVBus

Redirect Feeder

Your current feeder uses file vJoyInterface.dll located with the feeder. You should replace it with the attached files, as follows:

  1. Rename the original file to Orig_vJoyInterface.dll for future use.
  2. If your computer is a 32-bit machine - Copy file vJoyInterface-x86.dll (attached) and rename it to vJoyInterface.dll
  3. If your computer is a 64-bit machine - Copy file vJoyInterface-x64.dll (attached) and rename it to vJoyInterface.dll. If the feeder fails to start - try using the other file.

New API

Although I did not get down to write a proper document, you will find what you need in the header file.

Values

The min/max values for Xbox are:
For Axes: -32768 to 32767
For Triggers: 0 to 255

Status

Call function isVBusExists() to make sure the Virtual Bus was installed.
Call functions isControllerExists() and isControllerOwned to get the status of a given vXbox device:

  • Exists means it is plugged-in either by this process or by another process.
  • Owned means it is plugged-in by this process

You must plug in a device before you can feed it. If already plugged in you can either unplug it or start feeding it.

Acknowledgments

Most of the work was done my the mysterious Scarlett.Crush.
The project is currently maintained by the resourceful nefarius that collaborates with me with plenty of good will.