Skip to content

HIDMaestro Documentation

Ship a controller in minutes. Trace it to the wire.

HIDMaestro creates virtual game controllers that look like real hardware to Windows. These docs serve two readers at once. Start and the SDK pages get an application developer to a live controller fast. The Technical Reference goes as deep as IOCTL dispatch tables and shared memory layouts, for people who want to know exactly what the driver does.

Get started Technical Reference

What HIDMaestro is

A C# SDK and matching UMDF2 driver. Add the SDK to your app, call HMContext.InstallDriver() once, and HMContext.CreateController(profile) whenever you need a virtual gamepad. It replaces ViGEmBus and vJoy with one user-mode driver, 231 embedded profiles, runtime-built custom profiles, HID PID 1.0 force feedback, and live-swap teardown that does not leak PnP state.

v1.9.0 adds ARM64 Windows. The same HIDMaestro.Core.dll carries a driver set for x64 and one for ARM64 and installs the one matching the machine. See platform support.

Who ships it

PadForge uses HIDMaestro for virtual controller output. It is built on this SDK end to end and drives more of the surface than any other consumer: every profile family, live profile swapping, multi-controller slots, force feedback, controller audio and haptics, the Valve personas, and the virtual VR controllers. Its Softpedia listing is an Editor's Pick at 5.0 out of 5. To watch the SDK work without writing any code, install PadForge.

Others include foundation-sunshine, a Sunshine fork whose DualSense support is built on HIDMaestro, JoystickGremlinEx, which drives the SDK from Python over pythonnet, Nearcade, which pins it as a submodule, and dualsense-command, which bundles the runtime in its bridge installers.

LizardByte's libvirtualhid, from the organization behind Sunshine, reuses this project's force-feedback descriptor byte for byte and says so in its own source: "HIDMaestro's MIT-licensed MinimumViablePidFfbBlock, byte-for-byte." Their alternatives table lists HIDMaestro beside ViGEmBus, inputtino and WinUHid.

What HIDMaestro is not

A standalone app. There is no UI to drive HIDMaestro on its own. Consumers like PadForge wrap the SDK with their own input pipeline. If you want to use HIDMaestro through a UI, install PadForge.

HIDMaestro is free and open source, MIT licensed. The code, issues, and releases live at github.com/hifihedgehog/HIDMaestro.