back
joystick controller in SteamVR
Five kinds of controllers
- Specifically, this HOTAS HOW-TO described
"7. On the popup, give the controller an easy label like "My NMS Joystick"; select "Xbox One Controller" for the type"
... but neither popup nor option to select type now exists.
- Microsoft dropped
WMR support in Windows 11;
Other than motion controllers, SteamVR now supports only XInput
HOTAS IMO beats emulating motion controllers by hand gestures.
- Assetto Corsa unavoidably involves SteamVR,
but VR motion controllers are hateful, IMO particularly in driving sims.
- 2D apps such as Content Manager are seemingly unusable in VR,
without some controller, except perhaps in a virtual desktop.
- Simulate key presses to Windows desktop from SteamVR input
For more than a few buttons, a flight joystick (HOTAS) is wanted.
Microsoft SideWinder Precision 2
USB Controller Joystick
works
as a HOTAS.
Also VKB NXT EVO SCE,
with more controls than an XBox 360 gamepad
...or WINWING URSA MINOR Fighter
- manual
- 29 buttons and mini joystick (34) on the grip
XInput emulation
Several XInput emulators employ nefarius' ViGEm kernel-mode driver,
which obsoleted SCP Virtual Bus Driver.
Windows->Settings->Gaming->Game Bar->Allow your controller to open Game Bar
XOutput converts and maps DirectInput into XInput
- Very straight-forward to configure,
works well for VKB EVO NXT
- archived Dec 3, 2024, now read-only; deprecated with ViGEm
configuration
In my case, ViGEm had already been installed
(by X360CE, which has a Guide button bug and confusing interface).
On opening, upper window pane enumerates detected DirectInput devices;
bottom half will be empty.
Click Add controller , then Edit for Controller window:
For each XInput control to emulate,- click corresponding
Configure ,
- then DirectInput device control to be mapped.
After mapping all controls,- close the Controller window, and
- click
Start to enable emulation and
Save configuration to write settings.json .
File->Game Controllers will launch Windows' control panel:
to verify control emulations:
- select
Controller (XBOX 360 for Windows) ,
- then
Properties
alternatives
DsHidMini
supports Sony DualShock 3 Controllers to SteamVR as XInput
- Fumbling around for a game controller during VR sim driving is not ideal...
X360CE bundles
ViGEm
X360CE has tons of underdocumented configuration options...
Except for Guide button, this works for VKB EVO NXT:

- Option overkill; Guide button mapping is broken
Universal Control Remapper AKA UCR
- uses ViGEm, allows remapping inputs from devices
such as second mice (using interception)
and joysticks to virtual HID game controllers.
- World of Joysticks (WoJ)
- Last updated in 2022; employs SCPVirtualBus, Microsoft Xbox360Controller drivers
- Listed in Steam, but no matches for using it with SteamVR;
- supports more than one DirectInput device in a single emulated XBox 360
- haptic feedback can be redirected to bass shakers
- Joystick Gremlin reportedly emulates XInput
- - merges multiple devices to a single virtual device
- - depends on vJoy
SteamVR recognizes XInput gamepads; binding controls is another hassle.
Legacinator removes known outdated controller emulator device drivers.
XInput app enables using keyboard instead of XBox buttons.
vigem-example-dotnet
- Basic use of ViGem .NET SDK to send emulated XBox controller values
XInputDotNet handle XInput controls in C#
- Unity tutorial
XInputium is another .NET library for XInput integration
|