HidHide Guide: Hide Physical Controllers from Games
You have merged your stick and pedals into one clean vJoy device — and the game is still misbehaving, because it can also see the original physical controllers sitting next to the virtual one. That is the double input problem, and HidHide is the tool that ends it. HidHide hides your physical devices from games so that only the virtual vJoy device reaches them, while your feeder software keeps full access. This guide explains the problem, the hiding concept, and the setup order that keeps everything working.
The double input problem
Consider the standard merged setup. Joystick Gremlin reads your physical stick, throttle and pedals, and writes the combined result into vJoy. The game now has two views of your hardware: the physical devices, reporting their raw inputs directly, and the vJoy device, reporting your curated, curved, merged version. If the game binds or reacts to both, the symptoms are unmistakable — an axis that fights itself because raw and curved values arrive together, buttons that fire twice, menus that scroll on their own, and bindings that seem to change between sessions as the game picks a different device to listen to.
You cannot fix this inside the game, because from the game’s side both devices are legitimate joysticks. The fix has to happen one level down: the physical devices must become invisible to the game, while remaining visible to the feeder that reads them. That is precisely HidHide’s job.
What HidHide does
HidHide is a device-hiding tool from the same ecosystem of virtual-controller software that sim players already rely on. You select the physical devices to hide, and applications no longer see them — with one crucial exception: applications you explicitly allow keep their access. That allowlist is what makes the whole pattern work. Joystick Gremlin goes on the allowed list, so it still reads your real stick and pedals and keeps feeding vJoy. The game is not on the list, so for the game the physical hardware simply does not exist — the only controller it can find, bind and react to is the vJoy device. One input path, no doubles.
This is why HidHide appears in the documented Star Citizen community stack — vJoy plus Joystick Gremlin plus HidHide — and in DCS merged setups: the hiding step is what turns a merge from ‘mostly works’ into ‘the game sees exactly one device, the one I designed’. It also shows up in Microsoft Flight Simulator discussions, where every vJoy device is named identically (‘vJoy Device’) and hiding physical clutter is one of the documented workarounds for keeping binding screens manageable.
Setup order and core steps
- Build and verify the merged setup first: vJoy installed from our download page, Gremlin merging your devices, and the vJoy device moving correctly in the monitor. HidHide hides problems as happily as it hides devices, so the setup must be right before anything is hidden.
- Install HidHide and restart if it asks — it works at device level, so a clean start matters.
- In HidHide, select the physical devices to hide: the stick, throttle and pedals that Gremlin is merging. Do not hide the vJoy device itself; that is the one device the game must keep seeing.
- Add your feeder application — Joystick Gremlin — to the list of applications allowed to see hidden devices. Skip this step and Gremlin goes blind along with the game, which presents as ‘my merge suddenly stopped working’.
- Launch the game and open its controller bindings. Moving each physical control should now produce exactly one response: the vJoy device. If a control produces nothing, check the allowlist; if it produces two responses, check that the device is actually ticked for hiding.
- When you play a different game that should see your physical hardware directly, remember the hiding is still in place for non-allowed applications — unhide, or allow that game, before concluding a controller is broken.
Best use case
HidHide is not a standalone improvement; it is the finishing step of a merged-device setup. Its best use case is exactly the Star Citizen and DCS pattern: multiple physical devices, one Gremlin profile, one vJoy device, and a game that must see only the result. If you use a single physical stick with no feeder and no merge, there is no double input to fix and HidHide has nothing to do. Judge it by that rule and you will never install it unnecessarily.
Limitations
- Hiding is application-wide, not game-by-game magic. While a device is hidden, every application that is not on your allowed list cannot see it — including other games and tools you might open later. Managing the allowed list is part of using the tool.
- The allowlist step is easy to forget and hard to guess. A feeder that cannot see the physical devices produces no output at all, and the symptom points at everything except the real cause. If a working merge dies after installing HidHide, the allowlist is the first place to look.
- It fixes visibility, not mappings. Wrong curves, swapped axes and bad merges stay wrong. HidHide only decides which devices an application can see; the quality of what vJoy reports is still your profile’s responsibility.
- It depends on the stack beneath it. HidHide assumes vJoy and your feeder are installed and working. It is the last piece fitted, never the first.
Next steps: start from the download page if the driver is not in yet, see where HidHide sits among the feeders in the vJoy feeder tools hub, and read the sibling guide it completes — Joystick Gremlin — since hiding only makes sense once something is merging your devices.
