nefarius/HidHide

Disable Xbox One controller in UWP apps like Windows Store and Start Menu

KoB-Kirito opened this issue · 14 comments

Hi,

pls take a look here:
https://superuser.com/questions/1173133/disable-xbox-one-controller-in-uwp-apps-like-windows-store

Could this program stop windows from doing that? Would everything else still work?
Looks like a blacklist would be better for such usecase than a whitelist, I would not like to have to whitelist everything else.

It needs a service to run? Is there a performance impact (input latency)?

Best regards

  • There were some minor reports on input latency. IF it affects you (and it probably does not) it was already fixed in the code, just need to wait for the next release
  • No blacklist function yet, only whitelist
  • You use your Xbox controller as keyboard/mouse to control your desktop, but UWP has implemented controlling the interface of things with the Xbox One controller, right? Can you give a example of this so I could test myself?

Looks like a blacklist would be better for such usecase than a whitelist, I would not like to have to whitelist everything else.

That's on the To-Do, no ETA yet.

It needs a service to run? Is there a performance impact (input latency)?

It's a filter driver loaded on boot. There is one report about degraded performance (which is highly subjective anyway) and will be addressed in a future release.

I use Steam to emulate mouse and keyboard. So I have double inputs on the start menu. Left stick up down controls the mouse + start menu selection.

I used to use gopher360, it's the same with everthing.

I just made a little non-scientific test and HidHide can't prevent Windows' Start Menu or Windows Store from picking the controller even when it's hidden. I'm not a developer so I don't know the details on why this happen.

This behavior sure is annoying, but can only be fixed by Microsoft

I just made a little non-scientific test and HidHide can't prevent Windows' Start Menu or Windows Store from picking the controller even when it's hidden. I'm not a developer so I don't know the details on why this happen.

I don't think it's possible; I assume those sections of Windows use a different, undocumented API to grab the inputs on a lower level where HidHide can not work its magic. We deliberately excluded any system PIDs from being able to get blocked because this could negatively affect system stability.

A bummer. Windows does this since 5 years now. There are plenty of reports of it, but nobody at microsoft seems to care.
If you happen to implement this in the future pls ping me if you remember :)

Ah, shoot. I've been leaving a ticket on DS4Windows thinking maybe it was leaking from there. So, it IS HidHide that's leaking inputs to system apps. Well, I can't fix this issue for XBox controllers, but if it's a DS4 controller that's controlling the menus, you can use D4W's 'Exclusive Mode' option, in combination with HidHide. That allows only a few programs to see the actual controller, and D4W will block the others in exclusive mode. Quite a shame, though, because we've really been hoping that HidHide would fix all our issues with the buggy exclusive mode. lol XD

Still, it's fixed a lot of issues for me, so I'm SO glad to see this. Thanks a lot nefarius and crew!

Ah, shoot. I've been leaving a ticket on DS4Windows thinking maybe it was leaking from there. So, it IS HidHide that's leaking inputs to system apps. Well, I can't fix this issue for XBox controllers, but if it's a DS4 controller that's controlling the menus, you can use D4W's 'Exclusive Mode' option, in combination with HidHide

@Yohoki I can't fully confirm this because I don't have a DS4v1 anymore (Windows doesn't let DS4v2 control menus), but on my tests HidHide successfully prevented a virtual DS4v1 from controlling Windows after the virtual controller was reconnected. I'm supposing that the same should hold true with a real DS4v1.

Unfortunately, Xbox controllers continue to leak inputs to windows.

Closing as this is not possible.

This is a solution that involves rolling back the Xinput driver to an older one
that does not support UWP.

Download the cab file "Microsoft - Game Devices, Other hardware - XBOX 360 Controller For Windows"
Last Updated "8/12/2009"
Size "2.5 MB"
from: https://www.catalog.update.microsoft.com/Search.aspx?q=%20Microsoft%20-%20Game%20Devices%2C%20Other%20hardware%20-%20XBOX%20360%20Controller%20For%20Windows%20

Use 7-Zip to extract the cab file.
This will result in a folder that contains:

  • two folders "x64" & "x86"
  • and three files: "INF Failures.txt", "xusb21.cat", & "xusb21.inf".

Open "control panel" and search for and navigate to "device manager".

In "device manager", if you have an Xinput controller plugged in, when you scroll down you will
eventually see "Xbox 360 Perphearals". Click it.

Right click on "Xbox 360 Controller for Windows" and select "Update Driver Software".

Click on "Browse my computer for driver software".

Click on "Let me pick from a list of device drivers on my computer".

Click on "Have Disk..." in the lower right corner of the window.

Click on "Browse..." and navigate into the extracted folder from earlier that contains the driver.

Select the "xusb21.inf" file then click "Open".

Click "OK".

Click "Next" then the driver should install.

You will be asked to "restart your computer".
Do it when you are ready so that the changes will go into effect.

You should be all set. Hopefully this will work for you.

Thank you. But I use reWASD now. I don't know how they do it, but works like a charm. 👌🏻

I strongly advise against using older XUSB drivers. They're a core OS component and you don't know the side effects you provoke.

And ofc reWASD works, it's been designed for that exact scenario, they just have a huge specialised filter driver that takes control. This is not the scope of HidHide.

Thank you. But I use reWASD now. I don't know how they do it, but works like a charm. 👌🏻

I got the same issue, how do you do it in rewasd? It still trigger the annoying boxes in metro apps?

Locking since this issue is just going off-topic now.