Virtual HID Driver


User-mode virtual gamepads for Windows

Virtual HID Driver is the Windows gamepad backend for libvirtualhid. It installs the user-mode driver component that compatible applications use to create virtual HID gamepads discoverable by Windows apps. The driver package is separate from the portable C++ library and is currently packaged for AMD64 systems.

Windows only

Get your Virtual HID Driver license

A license is required to create virtual gamepads with this Windows driver. Non-Windows backends do not currently require a license. Choose a yearly or lifetime license at checkout.

Windows Buy a Windows license

Driver features

Windows
User-mode by design

Uses a UMDF2 control driver backed by Windows Virtual HID Framework, with no custom kernel-mode driver added by libvirtualhid.

Standard HID gamepads

Publishes virtual HID devices for compatible DirectInput, SDL/HIDAPI, Windows Gaming Input, GameInput, and browser Gamepad API consumers.

Process-owned lifecycle

Associates each virtual gamepad with the client that created it so Windows can clean up the device if that process exits or crashes.

Built-in diagnostic UI

Includes a native tool for creating, controlling, and monitoring gamepads, device nodes, battery state, and output feedback.

Multiple controller profiles

Supports Generic, Xbox One, Xbox Series, DualShock 4, DualSense, and Nintendo Switch Pro-style virtual controller profiles.

Output feedback

Normalizes supported rumble, RGB LED, adaptive trigger, and raw output events for the application that owns the virtual gamepad.

For compatible applications

Applications create and update gamepads through libvirtualhid's platform-neutral C++ API. The Windows backend communicates with the installed driver, while platform-specific HID details stay out of consumer code. The library and driver must use matching control protocol versions.

The installed package also includes the virtualhid_control diagnostic UI and the gamepad_adapter example for local validation.

Compatibility notes

  • The driver is for virtual gamepads. libvirtualhid's Windows keyboard and mouse support does not require this package.
  • Xbox 360 is not available through this UMDF/VHF backend because a real Xbox 360 controller uses XUSB rather than standard HID.
  • Xbox-style HID profiles do not guarantee an XInput slot. Applications that require XInput-specific behavior should review the profile compatibility documentation.

License

The Windows UMDF driver source and generated driver package artifacts use the LizardByte Source-Available License 1.0. Packaged helper components may use the MIT License as documented in the repository license map.

Support Center

Find answers and ask questions.

The one who knows all the answers has not been asked all the questions. – Confucius.