back

joystick controller in SteamVR

Four kinds of controllers

SteamVR used to support DirectInput and XInput,
  but now seemingly only XInput.

XInput emulation

Several XInput emulators employ ViGEm kernel-mode driver
  that obsoleted SCP Virtual Bus Driver.

Hand-On Throttle-And-Stick (HOTAS) as VR controller

    Assetto Corsa unavoidably involves SteamVR,
      but I find VR controllers intolerable, 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 controller 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 emulators

    Windows->Settings->Gaming->Game Bar->Allow your controller to open Game Bar
    DsHidMini supports Sony DualShock 3 Controllers to SteamVR as XInput
    x360ce bundles ViGEm
    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.
    XOutput convert DirectInput into XInput
    archived Dec 3, 2024. It is now read-only;  deprecated as ViGEm was deprecated
    9 Mar 2024 video for using with Logitech X-56 HOTAS
    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 reported emulates XInput
    - merges multiple devices to a single virtual device
    - depends on vJoy

    Xbox360 Controller Binding

    After SteamVR recognizes an XInput controller, binding controls is another hassle.


    Legacinator removes known outdated controller emulator device drivers.

    XInput app enables using keyboard instead of XBox controller 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
    maintained by blekenbleu