-
Notifications
You must be signed in to change notification settings - Fork 6
Driver Management
PadForge needs one driver (HIDMaestro) and offers two more (HidHide, Windows MIDI Services). Install and uninstall every one from Settings.

| Component | Status | What it does |
|---|---|---|
| HIDMaestro | Required for any virtual controller other than Keyboard+Mouse. Auto-installed on first run. | Creates the virtual HID device that matches each slot's controller shape (Xbox Series, DualSense, Logitech wheel, and so on). 225+ device profiles. |
| OpenXInput | Bundled inside PadForge.exe. No install, no setting. |
Filters PadForge's own virtual controllers out of its own XInput view so SDL3 does not loop them back as physical inputs. |
| Keyboard+Mouse | Built in. No driver. | Maps controller inputs to keyboard and mouse via Win32 SendInput. |
| HidHide | Optional. Install when games show double input. | Hides physical controllers from games so they only see the virtual ones. |
| Windows MIDI Services | Optional. Install only for the MIDI controller type. | Virtual MIDI endpoints for sending notes and CC to DAWs and music software. Needs Windows 11 24H2 (build 26100) or later. |
Coming from PadForge v2? ViGEmBus and vJoy are gone. HIDMaestro replaces both. On first v3 launch, PadForge detects them and offers to remove them through the legacy driver cleanup dialog. There is no v2 to v3 path that keeps either.
The first time PadForge launches it checks for HIDMaestro. If it's missing, it shows a one-click install card on the Dashboard. Approve UAC and HIDMaestro registers in a few seconds. No restart. The Dashboard dot turns green and the Xbox, PlayStation, and Extended slot types turn on.
HidHide and Windows MIDI Services do not auto-install. They sit on the Settings page until you click Install.
Each driver card on the Settings page shows a colored dot.
| Dot | Meaning |
|---|---|
| Green "Installed" | Driver ready. Version number under the dot. |
| Red "Not Installed" | Install before the matching slot type works. |
The Dashboard shows the same status as a compact row.
PadForge runs whether or not the optional drivers are installed. Missing drivers only gray out the features that need them.
| Missing | What you lose |
|---|---|
| HIDMaestro | Xbox, PlayStation, and Extended buttons grayed out in Add Controller. Keyboard+Mouse and MIDI (if installed) still work. |
| HidHide | "Hide from games" has no effect. Games may see the physical and the virtual at the same time. |
| MIDI Services | MIDI button grayed out or hidden when Windows is too old. Every other slot type works. |
PadForge always runs elevated. Driver install, driver uninstall, and HidHide whitelist edits all need administrator. The UAC prompt fires on startup.
Driver install and uninstall trigger one more UAC prompt of their own. That is standard Windows behavior for driver operations.
One user-mode UMDF2 (User-Mode Driver Framework 2) bus driver that publishes virtual HID controllers from user mode. Each non-MIDI, non-Keyboard+Mouse slot maps to one HIDMaestro device profile. A profile bundles a USB VID/PID, product and OEM strings, a HID report descriptor, and (where applicable) the FFB PID descriptor pages.
- Xbox 360, Xbox One, Xbox Series, Elite, Adaptive
- DualShock 3, DualShock 4, DualSense, DualSense Edge
- Logitech G-series wheels (G29, G920, G923, G27)
- Thrustmaster and Fanatec wheels and pedals
- HOTAS sticks (Thrustmaster Warthog, Logitech X52)
- Hori, 8BitDo, PowerA, other third-party gamepads
- A Custom profile for the Extended category. Build a HID descriptor from scratch with up to 8 axes, 128 buttons, 4 POV hats.
- Any Xbox, PlayStation, or Extended virtual controller
- DirectInput force feedback (PID effects)
- Custom HID descriptors for niche games or dev work
- Open Settings. Scroll to HIDMaestro.
- Click Install. Approve UAC.
- PadForge runs
pnputilto register the HIDMaestro INF. The dot turns green. No restart. Add Xbox, PlayStation, or Extended slots from the Dashboard.
- Delete every Xbox, PlayStation, and Extended slot on the Dashboard. Uninstall stays disabled while any slot of those types exists.
- Open Settings. Scroll to HIDMaestro.
- Click Uninstall. Approve UAC.
For the contract between PadForge and HIDMaestro, see HIDMaestro Deep Dive.
Hides physical controllers from apps so games only see PadForge's virtual ones. Fixes the "double input" problem where every press counts twice because games detect the real pad and the virtual one at the same time.
- Button presses counting twice
- Menus scrolling at double speed
- Jerky or doubled character movement
- Two controllers in a game when only one is plugged in
- Games auto-picking the wrong controller
Installing it before any of these show up is a fine plan.
PadForge runs HidHide on its own. You do not need the HidHide Configuration Client.
| Feature | Detail |
|---|---|
| Per-device hiding | Toggle Hide from games on each device card (Devices page). |
| Automatic whitelist | PadForge adds itself so it can still read hidden controllers, then drops the entry on exit. |
| Engine-aware | Hiding holds only while the engine runs. Stop the engine or close PadForge and the controllers reappear. |
| Master switch | Settings > Input Engine > Hide devices from games (global on/off). |
Other controller utilities (Steam Input, for example) need their own whitelist entry to see hidden controllers.
- Add... browses for an .exe.
- Remove drops the selected entry.
- Open Settings. Scroll to HidHide Driver.
- Click Install. Approve UAC.
- A restart may be needed for full effect. Restart if hiding does not work right away.
- Turn off Hide from games on every device. Uninstall stays disabled while any device has hiding on.
- Open Settings. Scroll to HidHide Driver.
- Click Uninstall. Approve UAC.
Every physical controller becomes visible again the moment the driver leaves.
System-wide virtual MIDI endpoint ("PadForge MIDI") that any music app can subscribe to. Turns a gamepad into a MIDI controller. No loopMIDI bridge needed.
- Driving a DAW (Ableton Live, FL Studio, Reaper) from a gamepad
- Playing MIDI notes from controller buttons during a live set
- Sending MIDI CC from sticks and triggers to synth parameters
- Feeding VJ or stage-lighting software that takes MIDI
Needs Windows 11 24H2 (build 26100) or later. On older Windows the Install button stays disabled.
- Open Settings. Scroll to Windows MIDI Services.
- Click Install.
- PadForge downloads the installer from GitHub (around 210 MB). A progress overlay appears.
- The installer runs on its own. The dot turns green when it finishes.
- Delete or retype every MIDI slot on the Dashboard.
- Open Settings. Scroll to Windows MIDI Services.
- Click Uninstall.
PadForge ships a fork of OpenXInput inside the EXE at Resources/OpenXInput/x64/xinput1_4.dll and devobj.dll. At launch PadForge calls SetDllDirectory so the loader resolves those copies before the system ones. The fork's XInputGetState and XInputGetCapabilities filter out the HIDMaestro virtual controllers PadForge created, so PadForge does not re-enumerate its own outputs as physical inputs.
This filter only affects PadForge. Other apps (games, Steam) load the system XInput and see PadForge's virtual controllers normally. That's the point of having virtual controllers.
No setting. No install. No uninstall. The shim ships with PadForge and goes away when you delete the PadForge folder.
For the wider architecture see HIDMaestro Deep Dive. The OpenXInput shim is one of three filter surfaces (SDL3 fork, OpenXInput fork, SetDllDirectory preload).
ViGEmBus and vJoy were both required by PadForge v2. v3 dropped both for HIDMaestro. On first v3 launch, PadForge looks for either driver. If it finds one, a cleanup dialog offers to uninstall it.
| Action in the dialog | What happens |
|---|---|
| Uninstall both | PadForge calls pnputil to remove ViGEmBus and vJoy. Reboot when prompted. |
| Keep them | The dialog closes. The drivers stay installed. They will not interfere with HIDMaestro but they take up space. |
| Remind me later | The dialog returns on the next launch. |
You can also reopen the cleanup dialog by hand from Settings > Drivers > Legacy cleanup when ViGEmBus or vJoy is still detected.
| Driver / Service | Windows 10 (x64) | Windows 11 (x64) | Windows 11 24H2+ (x64) | ARM64 | x86 (32-bit) |
|---|---|---|---|---|---|
| HIDMaestro | Yes | Yes | Yes | * | * |
| HidHide | Yes | Yes | Yes | No | No |
| Windows MIDI Services | No | No | Yes | No | No |
| Keyboard+Mouse (no driver) | Yes | Yes | Yes | Yes | Yes |
- HIDMaestro is a user-mode UMDF2 driver. ARM64 and x86 support tracks the HIDMaestro project. Check the HIDMaestro releases for current status.
- HidHide is an x64 kernel driver. It does not run on ARM64 (Snapdragon laptops) or 32-bit Windows.
- Windows MIDI Services needs Windows 11 24H2 (build 26100)+. The Install button auto-disables on older Windows.
- Keyboard+Mouse uses standard Win32 APIs. Works everywhere with no driver.
- PadForge itself runs on Windows 10 and every Windows 11 build.
PadForge blocks driver removal while a slot still needs it.
| Driver | Uninstall blocked when |
|---|---|
| HIDMaestro | Any Xbox, PlayStation, or Extended slot exists. |
| HidHide | Any device has "Hide from games" on. |
| MIDI Services | Any MIDI slot exists. |
Delete the slots or turn the feature off. Then Uninstall becomes available.
| Problem | Fix |
|---|---|
| Click Install and nothing happens | The UAC prompt may be hidden behind another window. Check the taskbar and click Yes. |
| Dot stays red after install | Retry. If it still fails, restart the PC and retry. |
| HIDMaestro install fails | A v2-era ViGEmBus or vJoy install can leave registry stragglers. Run the legacy driver cleanup dialog from Settings > Drivers > Legacy cleanup. Then retry. |
| MIDI Services download fails | Check the internet connection. PadForge pulls about 210 MB from GitHub. |
| MIDI Install button disabled | Needs Windows 11 24H2 (build 26100)+. Check Settings > System > About in Windows. |
| Problem | Fix |
|---|---|
| Xbox / PlayStation / Extended buttons grayed in Add Controller | Install HIDMaestro. |
| MIDI button grayed or missing | Install MIDI Services (needs Windows 11 24H2+). |
| UAC prompt on every launch | Expected. PadForge auto-elevates so HIDMaestro install and uninstall and HidHide whitelist edits work. |
| Double input (every press counts twice) | Install HidHide. Turn on Hide from games for the physical controller on the Devices page. |
| Double input still there after HidHide | Restart the game. Some games only enumerate controllers at launch. Restart the PC if the install was new. |
| Virtual controller shows up but games do not see it | The OpenXInput shim in PadForge's folder has to sit next to the system XInput. Do not move the Resources folder. If you only copied the EXE, copy the whole release zip. |
| HIDMaestro slot stuck on "Initializing" | The HIDMaestro lifecycle runs on a thread pool and can take a few seconds. If it never finishes, check Settings > HM inactivity destroy timeout. A slot whose mapped devices go offline has its live VC torn down after that timeout. The slot config stays. The VC recreates when the devices come back. |
| Problem | Fix |
|---|---|
| HidHide hides controllers from other apps | Add those apps to the whitelist on the Settings page (see HidHide Whitelisted Applications). |
| Antivirus flags a driver installer | HIDMaestro and HidHide are open-source, signed drivers. Add an exception or pause real-time scanning during install. |
- Installation: first-time setup and driver install.
- Settings: where the driver cards live.
- Dashboard: at-a-glance driver status.
- Controller Slots: which driver each slot type needs.
- Devices: per-device hiding with HidHide.
- HIDMaestro Deep Dive: how PadForge talks to HIDMaestro.
- Troubleshooting: more help.
Last updated for PadForge 3.2.0.