@nefarius said in Block/disable XInput devices (HIDGuardian):
As for blocking/hiding XUSB/XInput/XGIP/X360/XBONE devices: it is possible but it's complicated and annoying. I basically know how it's done but you'd need one or more drivers occupying multiple "locations" on the system so to say and in general that's currently simply too big a project for me to just follow that route for fun.
So basically there's no good way of removing the feeder gamepad/avoiding duplicate inputs? Bummer. I'll take a look at your HideDS4, then (Would you say this is the best way of trying to work around this problem?)
That's possible in multiple ways, although I'd consider them all "hacky". The non-driver route would be hooking the XInput APIs and swapping the dwUserIndex
via that way but almost all anti-cheat protected titles will most probably sh*t themselves when you attempt that since the majority of game "hacks" (cheats) use the same techniques so that's not really production-ready in my opinion. Same with a proxy DLL, I guess it comes down to trial and error since ofc. all anti-cheat manufacturers will keep their "algorithms" of what's allowed and what not a well protected secret for obvious reasons.
So there's no way to do it system-wise, so to speak, and I have to trick the game into reordering the devices. It's not ideal but that sounds interesting, actually. I'll look into how this works.
@OOPMan said in Block/disable XInput devices (HIDGuardian):
I guess another approach you could take is what I do with XBOFS.win which is to replace the normal driver with a WinUSB driver and then write a feeder which communicates with your input device via WinUSB and dispatch to VigEm.
It's pretty laser-pointer specific but of course it does mean you need to write all the code to interact with your feeder controller.
It's a decent solution for a tool like mine which supports two specific controllers which both talk the same language (XBox GIP) but not sure if it work would so well for you...
I just read the whole post you made about how XBOFS came to be. It's super cool. Also super infuriating that an XB1 controller doesn't have proper support in Microsoft's own OS 
My case is way simpler and dumber than yours and replacing the driver seems kind of overkill; I just hacked a quick SOCD cleaner into VDX (the controller I want to clean uses uses normal X360 drivers) and, although it works, both the cleaned controller and the real controller are being received in parallell which ends up, well, not cleaning the input at all lol.