HidHide: Complete Setup Guide to Stop Double Input

Double input is the most common InputMapper problem: you press a button once and the game registers it twice, menus jump two entries at a time, and characters perform an action plus the action mapped on top of it. The cause is almost always the same — Windows sees both your physical DualShock 4 and the virtual Xbox controller that InputMapper creates, and the game listens to both at once.

HidHide is the tool that fixes this properly. It hides your physical controller from games while still letting InputMapper see it. This guide covers what HidHide does, how to install it, how to configure it step by step for InputMapper, how to confirm the cloak is working, and how to undo everything if you ever want to.

What HidHide Does

HidHide is a HID device firewall developed by nefarius, the same developer behind ViGEmBus. HID stands for Human Interface Device — the category that includes game controllers. A firewall for HID devices works by controlling which applications are allowed to see which devices.

In a typical InputMapper setup the data flow looks like this: your physical DualShock 4 talks to InputMapper, InputMapper translates it, and ViGEmBus presents a virtual Xbox controller to your game. The problem is the shortcut Windows leaves open — the game can also see the physical DualShock 4 directly, bypassing InputMapper entirely. One press, two controllers, two inputs.

HidHide closes that shortcut. You place the physical controller on its hidden list, and HidHide then conceals that device from every application except the ones you explicitly whitelist. InputMapper stays whitelisted, so it keeps receiving the real controller. Your games are not whitelisted, so all they can see is the clean virtual controller. Double input disappears because there is only one visible controller left for the game to hear.

HidHide is the direct successor of HidGuardian, the older hiding tool from the InputMapper 1.7 era. It was written from scratch as a replacement, not patched on top of the old code. If you are still running HidGuardian and HidCerberus components from an old install, read our HidGuardian vs. HidHide comparison before adding HidHide — you want one hiding system, not two.

Requirements and Download

The latest release covered here is HidHide v1.5.230, released on May 11, 2024. The installer asset is HidHide_1.5.230_x64.exe (8,078,016 bytes), published on GitHub releases. This build supports Windows 10 and Windows 11 on 64-bit Intel and AMD systems only. There is no 32-bit build, so if you are on a 32-bit Windows installation, HidHide is not an option for your machine.

Download HidHide from GitHub using the button below:

Download HidHide 1.5.230 from GitHub

Before you start, make sure the rest of the stack is in place. You need InputMapper installed from the download page and a working ViGEmBus driver — if you have not installed that yet, follow the ViGEmBus install guide first. HidHide hides a device; it does not create the virtual controller that replaces it.

Install HidHide

  1. Close InputMapper and any running games.
  2. Right-click HidHide_1.5.230_x64.exe and choose Run as administrator. HidHide installs a driver-level component, so elevation is required.
  3. Complete the installer, then restart Windows when prompted. The hiding driver is not fully active until after a restart.
  4. After the restart, open the HidHide Configuration Client from the Start menu. This small window is where all configuration happens — you will use its Applications tab and Devices tab.

Configure HidHide for InputMapper

Work through these three steps in order: whitelist the applications that must keep seeing the real controller, hide the physical controller, then switch hiding on.

Step 1: Whitelist InputMapper and Your Essential Tools

Open the Configuration Client and go to the Applications tab. Add the InputMapper executable to the list. Any application on this list can still see hidden devices, so InputMapper belongs here — without this entry, you would hide the controller from the very program that needs it.

Think carefully about what else belongs on this list. Whitelist any other tool that must access the real, physical pad directly — for example, a configuration utility you use to check the physical controller itself, or another mapping program you run instead of InputMapper for some games. Do not whitelist your games. The entire point is that games should only see the virtual controller. A common beginner mistake is whitelisting everything “just in case,” which quietly disables the fix.

Step 2: Add the Physical DS4 to the Hidden List

Connect your DualShock 4 the way you normally play — USB or Bluetooth — and switch to the Devices tab. You will see the connected HID devices listed. Identify your physical DualShock 4 entry and check the box to hide it.

Be precise here. Hide the physical controller, not the virtual Xbox 360 controller created by ViGEmBus. If several similar entries appear, disconnect and reconnect the pad and watch which entry appears and disappears. Hiding the wrong device is reversible, but identifying the right one now saves a confusing test later.

Step 3: Enable Device Hiding

Tick the Enable device hiding option in the Configuration Client. The moment hiding is active, non-whitelisted applications lose sight of the physical pad. The setting takes effect without another restart in most cases, but if your test below looks wrong, one restart after enabling hiding is a sensible first check.

Verify the Cloak with joy.cpl

Do not trust a checkbox — verify. With InputMapper running and your controller connected, press Win + R, type joy.cpl, and press Enter to open Windows Game Controllers.

Because joy.cpl itself is not whitelisted, it shows you the game’s point of view. You should see only the virtual Xbox 360 controller in the list — the physical DualShock 4 should be absent. Open the virtual controller’s properties and press buttons on your real pad: the indicators should respond, proving the chain physical pad → InputMapper → virtual controller is alive, while the physical device itself stays cloaked.

If you still see both controllers in joy.cpl, hiding is not active: re-check that Enable device hiding is ticked and that you hid the physical device entry, not the virtual one. If you see neither controller, InputMapper is probably not running, or the physical pad was hidden without InputMapper being whitelisted — re-check Step 1. Our dedicated double input fix walkthrough covers the remaining edge cases, including games that cache controller lists at launch and need a full restart after you change HidHide settings.

Inverse Whitelist Mode

HidHide also offers an inverse whitelist mode, sometimes described as blacklist-style operation. In normal mode, a hidden device is concealed from everything except whitelisted applications. In inverse mode, the logic flips: the device remains visible generally, and you instead specify the applications it should be hidden from.

Inverse mode can be convenient if you only need to hide the pad from one or two specific games and want everything else to keep direct access. For a dedicated InputMapper setup, however, the standard whitelist mode is the safer default: new games automatically get the correct, hidden view without you having to remember to add each one. Whichever mode you choose, verify with joy.cpl afterwards — the test is identical.

How to Undo HidHide

Everything HidHide does is reversible from the same Configuration Client. To temporarily restore normal visibility, simply untick Enable device hiding. To stop hiding one controller, uncheck it on the Devices tab. To remove the tool completely, uninstall HidHide from Settings → Apps and restart Windows; after uninstall, all devices are visible to all applications again, exactly as they were before. Note that if you remove HidHide while still using InputMapper, the double input problem it was solving will return — that is expected behaviour, not a new fault.

Troubleshooting Basics

  • Controller vanished everywhere, including InputMapper: InputMapper is missing from the Applications whitelist. Add its executable and re-enable hiding.
  • Double input persists in one game: the game may have been whitelisted by mistake, or it cached controllers before hiding was enabled. Remove it from the whitelist, fully close the game, and relaunch it.
  • Physical pad missing from the Devices tab: connect it before opening the client, try the other connection method (USB versus Bluetooth), and confirm it appears in joy.cpl with hiding disabled.
  • Nothing hides after configuration: restart Windows once so the driver reloads with your settings, then repeat the joy.cpl check.

For wider problems beyond hiding — devices not connecting, exclusive-mode errors, or crashes — the troubleshooting hub is the best starting point.

Frequently Asked Questions

Does HidHide replace ViGEmBus?

No. They do different jobs. ViGEmBus creates the virtual controller that games see, while HidHide hides the physical controller from games. A complete InputMapper setup needs both: ViGEmBus for output and HidHide to prevent double input.

Which applications should I whitelist in HidHide?

Whitelist InputMapper and any tool that must access the real physical controller directly. Do not whitelist your games — games should only see the virtual controller, which is what stops double input.

How do I check that HidHide is actually hiding my controller?

Open Windows Game Controllers by running joy.cpl while InputMapper is running. Because joy.cpl is not whitelisted, you should see only the virtual Xbox 360 controller, not the physical DualShock 4. Button presses on the real pad should still register in the virtual controller’s properties.

Can I remove HidHide without breaking InputMapper?

Yes. Untick Enable device hiding to disable it temporarily, or uninstall HidHide from Settings and restart. InputMapper will keep working, but the double input problem HidHide was solving will return because games will see the physical controller again.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *