How do I fix ghost inputs on certain games from HID controllers?

This is a pretty technical question, so I apologize in advance for any long-windedness.

I'm using a Wii U Pro Controller, connected to my PC via Bluetooth, in conjunction with a program called WiinUSoft (an evolution of WiinUPro that simplifies things a bit), a setup that works great for the most part.

Some games, however, have "ghost inputs", typically in the form of the camera or character constantly moving to the left. Some games I've read about or played that do this are Insurgency, Sonic Adventure, Endless Legend, and GTA: San Andreas, all of which I believe are available on Steam.

The solution to this problem is to go into device manager and disable any "HID-compliant game controller" devices you have. I discovered this on my own, but here's an example from another forum of someone doing the same: http://forums.amplitude-studios.com/showthread.php?27147-0.4.0-Camera-is-moving-automatically-to-the-left/page2

This is annoying, but works fine for games where I want to use the mouse and keyboard. However, Sonic Adventure was the first game I came across where both this problem existed AND I actually wanted to use a controller.

The problem is that the "HID-compliant game controller" is the HID that is registered by the Bluetooth stack when I connect my Wii U Pro Controller. So disabling it disables my controller as well.

So, does anybody know of a way to solve this problem, or are there any ideas I can try? Have people had this issue with any other bluetooth controllers in certain games (as I believe this is a more general problem with bluetooth rather than the hardware or software I'm using)?


First, question is really not correctly worded, as your problem is not related to ghosting on ANY device on HID-stack. It is related to you using an incompatible device, with a hacked and unsafe driver, then recieving problems.

I have seen the driverstack you mention (WiinU) used before, with similiar problems. So i guess bugs are to be expected, because after all, you ARE still using an incompatible device through a driver that is not supported NOR safe in the OS. My guess is that you have Windows HID-manager interfering with signals, as it is not playing nice with the device-id code in your hacked driver. So it actually messes up on the "sender" part of the incoming HID messages.

The games you mention use XInput for instance, that will heavily rely on HID-compliant DirectX middleware to get control inputs. For older DirectInput or RAW i am guessing it may work better depending on how the drivers are written.

If you manage to find a better driver stack with good XInput compatibility you may solve it, like by using an actual USB adapter with drivers, so the mappings can be done in hardware, then sent as ordinary XInput-data.

That or just buy a good controller (as the WiiU one is kind of useless apart from using it for WiiU where the extra screen actually works) with support for PC/Win out of the box and proper drivers.