Virtual game controllers that look like real hardware.

A user-mode virtual controller platform for Windows. No kernel driver, no EV certificate, no reboot. Every gaming API sees real hardware — DirectInput, XInput, SDL3, browser Gamepad, and more.

Features

🔒

No Kernel Driver

Runs entirely in user mode via UMDF2. No custom kernel driver to sign, no EV certificate, no reboot to install.

🎮

225+ Device Profiles

Embedded profiles across 32 vendors — Xbox 360, Xbox Series, DualSense, Thrustmaster, Logitech, flight sticks, racing wheels, and more.

🌐

Every Gaming API

DirectInput, XInput, SDL3/HIDAPI, browser Gamepad, WGI/GameInput, and RawInput all see the same real controller simultaneously.

🔎

Exact Hardware Identity

Profile-driven VID/PID, product strings, and HID descriptors. Games can't distinguish virtual from physical.

Hot-Plug Support

Create and remove controllers on the fly. ~200ms for a single controller, ~3.5s for 6 mixed. No reboots.

🎲

Multi-Controller

No hard limit on simultaneous virtual controllers. Tested with 6 mixed types, verified working across all APIs with correct ordering.

🔧

Custom Descriptors

Public SDK APIs to clone, modify, or build entirely new controller profiles from scratch with custom HID descriptors.

📜

MIT Licensed

Free and open source. Use it in your own projects, commercial or otherwise, with no restrictions.

Screenshots

Get Started

HIDMaestro is a developer platform. Clone the repo or grab a release to get started.

Prerequisites:

  • Windows 10 or 11 — x64
  • .NET 10 — runtime
  • Administrator privileges — virtual device creation requires SeLoadDriverPrivilege
  • Visual Studio 2022+ — for building from source (with Windows SDK/WDK 10.0.26100.0)