Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Add option to disable Xinput control on UWP Apps #1495

Closed
joaodforce opened this issue Oct 25, 2019 · 60 comments
Closed

Proposal: Add option to disable Xinput control on UWP Apps #1495

joaodforce opened this issue Oct 25, 2019 · 60 comments
Assignees
Labels
area-External Not owned by the WinUI team, not actionable in this repository. feature proposal New feature proposal product-winui2 team-CompInput Issue for IXP (Composition, Input) team

Comments

@joaodforce
Copy link

Proposal: Add option to disable Xinput control on UWP Apps

Summary

Later Windows 10 builds, automatically use Xinput devices to control UWP Apps, and some parts of the Windows UI. However this approach proves to be troublesome, because assuming the device is not being used results in terrible experiences.

Rationale

  • This feature would resolve issues people are having when using Xinput devices to control their computers, apps like Gopher, Joy2Key and others. Because the automatic command mapping conflicts with the commands the user is actually trying to do.

Scope

Capability Priority
This proposal will allow end users chose whether or not their Xinput devices will be used to control the UI on UWP Applications Must

Important Notes

This issue has been brought up before many time, following bellow are some examples

https://steamcommunity.com/app/367670/discussions/0/2828702373004583436/?ctp=3

MicrosoftDocs/windows-dev-docs#1882

MicrosoftDocs/windows-dev-docs#622

https://answers.microsoft.com/en-us/windows/forum/all/how-do-i-completely-disable-xbox-controller/b4f63e59-f1a1-4b75-9525-c39c94468a66?auth=1

https://superuser.com/questions/1173133/disable-xbox-one-controller-in-uwp-apps-like-windows-store

@joaodforce joaodforce added the feature proposal New feature proposal label Oct 25, 2019
@msft-github-bot msft-github-bot added this to Needs triage in Controls Triage Oct 25, 2019
@Nirmal4G
Copy link

Nirmal4G commented Oct 26, 2019

#1496 (comment)

@joaodforce
Copy link
Author

#1496 (comment)

I see your point, that would be a viable solution for some people.

However the problem I outline here is "Assuming that the user is not using his xinput device for something else its a bad User Experience, so this UWP auto map should be OPTIONAL"

This only further perpetuates the stigma of UWP Apps not being as popular, its because of the little things you know?

If this Mapping was System wide it could potentially be useful, however it is useless, since it only allows control for a tiny amount of the whole system.

Whats the point of being able to control the StartMenu and The settings App, but you cannot navigate Windows Explorer? Either go All In or All out, and since it is not All In this feature should be optional since it Is incomplete.

@Nirmal4G
Copy link

Nirmal4G commented Oct 26, 2019

Either go All In or All out, and since it is not All In this feature should be optional since it Is incomplete.

Yeah, I know. Microsoft is really bad at this. That's why many of their ideas fail at the entry level into the market. CE, Vista, 8.x (phone too), Silverlight, DUI, WinFS, and much more.

@Nirmal4G
Copy link

Nirmal4G commented Oct 26, 2019

so this UWP auto map should be OPTIONAL

To Windows team, UWP is the next application model after Win32. It's incomplete, yes... still in development, yes... Even for those reasons, they are not going to put a system wide settings to disable other input modals. WinUI can do it, if they want too, but if it does, it'll be a developers' choice for the app and not the users' choice for the whole system!

You could find a registry setting or a feature flag so that you can disable them via the mapping app but that's just what the devs of the mapping apps need to do.

Whats the point...

I feel you. It's the only thing I just REALLY HATE about M$FT. The commitment is just not there. we'll see if CShell based OS variants change any of these behaviors in coming years.

@shaheedmalik
Copy link

#1496 (comment)

Whats the point of being able to control the StartMenu and The settings App, but you cannot navigate Windows Explorer? Either go All In or All out, and since it is not All In this feature should be optional since it Is incomplete.

The UWP version of Explorer is controller compatible. The old Win 32 version of Explorer isn't. It takes time to replace things.

@JoshWobbles
Copy link

The worst part is that it doesn't just iterate XInput devices, which are typically better behaved, but it also seems to apply to DirectInput devices enumerated. This is a pain for me because my HOTAS throttle and sliders seem to control the navigation meaning I have to carefully center everything before returning to Windows, it gets even worse if I unplug the device the scrolling will go crazy and I will have to use keyboard shortcuts to reboot Windows.

If this behavior is acceptable to be forced onto me and other users that I have seen with similiar bug reports just so a small number of users can control their menu's with their gamepad without giving the rest of us the option, then that pretty much encompasses everything wrong with MS.

@joaodforce
Copy link
Author

#1496 (comment)

Whats the point of being able to control the StartMenu and The settings App, but you cannot navigate Windows Explorer? Either go All In or All out, and since it is not All In this feature should be optional since it Is incomplete.

The UWP version of Explorer is controller compatible. The old Win 32 version of Explorer isn't. It takes time to replace things.

This only enforces my point. I'm not here to hate on Windows or Microsoft, I just want to help improve the products I use daily.

This issue is not an open invite to random opinions, it's a formal proposal directed to the Windows UI Development team. It is their job to take it in consideration or not.

@shaheedmalik start your own issue discussion thread.

If this does not affect you please get out.

@JoshWobbles Your last comment is not related to this proposal, please open your own issue.

@JoshWobbles
Copy link

JoshWobbles commented Oct 26, 2019

@joaodforce It all supports the proposal to be able to disable controller navigation, which if I am not mistaken is what you are asking for. But if you feel segregating votes for the feature just because our reason for wanting it is the best way to go, then ok.

@jevansaks jevansaks added this to Needs triage in Reach Triage via automation Oct 28, 2019
@jevansaks jevansaks removed this from Needs triage in Controls Triage Oct 28, 2019
@shawly
Copy link

shawly commented Nov 3, 2019

I wish we wouldn't need a proposal for something like this, it's basic UX.
I've been using Controller Companion to control my desktop for years now and when this "feature" was forced on me, I wasn't able to control anything related to UWP apps anymore, so I looked in every thinkable setting in Windows to disable this and to my surprise there was NO OPTION, not even a registry key to disable this.
I have to disable my third party apps to use this inferior control scheme to do basic stuff like selecting a movie in the Netflix UWP app which is the only way I can have surround sound on my home theatre. This is horrible and I'm baffled that there are a lot of threads with people having this issue since 2016.
Why add an unfinished feature to regular builds?

@Austin-Lamb
Copy link

Unfortunately, this isn't something done by the XAML UI framework, so this GitHub isn't the correct place to track this feature proposal. Game controllers being promoted up to a form of keyboard input in UWP apps is done by a lower level of the input stack - XAML responds to these events, but the promotion, and thus ability to disable it system-wide, happens beneath us.

The team that does own this part of the stack is not on GitHub, so I have filed an internal tracking issue with them. There isn't currently a way for you to track progress on that - but if you file a Feedback Hub report and send me the link, I can attach that Feedback Hub report to the internal issue. As far as I understand this, that would give you some (limited) visibility into progress.

Reach Triage automation moved this from Needs triage to Closed Nov 4, 2019
@msft-github-bot msft-github-bot removed this from Freezer in Feature tracking Nov 4, 2019
@jevansaks jevansaks added the team-Reach Issue for the Reach team label Nov 7, 2019
@shawly
Copy link

Is there any progress yet? Removing this crap shouldn't be that hard... (sorry for my language but it has been 7 months now and nothing happened..)

@msft-github-bot msft-github-bot added the needs-triage Issue needs to be triaged by the area owners label May 25, 2020
@ranjeshj ranjeshj added the area-External Not owned by the WinUI team, not actionable in this repository. label May 27, 2020
@ranjeshj ranjeshj removed the needs-triage Issue needs to be triaged by the area owners label Jun 15, 2020
@msft-github-bot msft-github-bot added the needs-triage Issue needs to be triaged by the area owners label Jul 20, 2020
@shawly
Copy link

@Austin-Lamb sorry I forgot to link it, I created an issue on the Feedback Hub https://aka.ms/AA91eep

Nothing happened yet though...

@stevewri stevewri added the team-CompInput Issue for IXP (Composition, Input) team label Jul 21, 2020
@stevewri stevewri self-assigned this Jul 21, 2020
@stevewri
Copy link

Speaking up here for the input team here, with apologies for not responding earlier. We have a process for WinUI to route input and composition issues over to us, but it looks like this one predated getting that process up and running.

We're looking into what mitigation we could provide; it looks like a fairly simple thing to do, with this caveat: it would require an OS-level change, so it would have to be included in a future version of the OS, rather than an updated WinUI3 package. We'll keep this issue updated when we have line of sight on more details (e.g., a preview build to try out.)

Just to be clear: the mitigation would likely be a session-wide (all apps) opt-in/opt-out. Default behavior would be to opt in, but users would have some way to opt out, ideally a full-fledged input setting. Apps would not be able to change this behavior programmatically. Let us know how that sounds?

@Deagan
Copy link

Deagan commented Oct 6, 2021 via email

@TheConfax
Copy link

Yes, I am no beta user and this is working since a year or so.

Sorry for the double post. A developer in know that manages multiple other controller/device input projects has taken their time to help me figure out how to disable this for DS4 v1 controllers (ds4 v2 controllers, that have the light bar in the touch pad, don't have the issue of ui navigation input).

The developer that figured it out Is located here - https://steamcommunity.com/id/FirstPlato/ and here - https://forzatools.weebly.com/about.html

the developer is very knowledgeable and manages multiple projects regarding controller/device input and feedback. It is working great for me and works fine and doesn't require you to run a fix every time you reboot. It is a simple reg edit. And I REPEAT IT IS FOR DS4 v1 only (ds4 v2 doesn't have this issue).


Windows Registry Editor Version 5.00



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005]

"Disabled"=dword:00000001



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation\PrimaryUp]

"AxisIndex"=dword:00000012

"Inverted"=dword:00000001



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation\PrimaryUp]

"AxisIndex"=dword:00000012

"Inverted"=dword:00000001

just copy paste the code into a .reg file named whatever you want, like "ds4_ui_fix.reg" and run it. Then unpair and reboot and pair and try it out.

@james28909
Copy link

Yes, I am no beta user and this is working since a year or so.

Sorry for the double post. A developer in know that manages multiple other controller/device input projects has taken their time to help me figure out how to disable this for DS4 v1 controllers (ds4 v2 controllers, that have the light bar in the touch pad, don't have the issue of ui navigation input).
The developer that figured it out Is located here - https://steamcommunity.com/id/FirstPlato/ and here - https://forzatools.weebly.com/about.html
the developer is very knowledgeable and manages multiple projects regarding controller/device input and feedback. It is working great for me and works fine and doesn't require you to run a fix every time you reboot. It is a simple reg edit. And I REPEAT IT IS FOR DS4 v1 only (ds4 v2 doesn't have this issue).


Windows Registry Editor Version 5.00



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005]

"Disabled"=dword:00000001



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation\PrimaryUp]

"AxisIndex"=dword:00000012

"Inverted"=dword:00000001



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation\PrimaryUp]

"AxisIndex"=dword:00000012

"Inverted"=dword:00000001

just copy paste the code into a .reg file named whatever you want, like "ds4_ui_fix.reg" and run it. Then unpair and reboot and pair and try it out.

yes but that is for version 1 of the ds4 only afaik. i do not think it works universally.

@bayangan1991
Copy link

Yes, I am no beta user and this is working since a year or so.

Sorry for the double post. A developer in know that manages multiple other controller/device input projects has taken their time to help me figure out how to disable this for DS4 v1 controllers (ds4 v2 controllers, that have the light bar in the touch pad, don't have the issue of ui navigation input).
The developer that figured it out Is located here - https://steamcommunity.com/id/FirstPlato/ and here - https://forzatools.weebly.com/about.html
the developer is very knowledgeable and manages multiple projects regarding controller/device input and feedback. It is working great for me and works fine and doesn't require you to run a fix every time you reboot. It is a simple reg edit. And I REPEAT IT IS FOR DS4 v1 only (ds4 v2 doesn't have this issue).


Windows Registry Editor Version 5.00



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005]

"Disabled"=dword:00000001



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\Gamepad\UINavigation\PrimaryUp]

"AxisIndex"=dword:00000012

"Inverted"=dword:00000001



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation]



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005\UINavigation\PrimaryUp]

"AxisIndex"=dword:00000012

"Inverted"=dword:00000001

just copy paste the code into a .reg file named whatever you want, like "ds4_ui_fix.reg" and run it. Then unpair and reboot and pair and try it out.

@TheConfax This fix only works for DS4 controllers. The issue is that this applies to all xinput devices.

@james28909
Copy link

james28909 commented Oct 7, 2021

i guess you could modify that reg fix and instead of [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\054C05C400010005]
you could do like:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\**whatever_your_device_id_is**]

you will just need to make sure to make those changes for the whole reg file. maybe it would work. i do not know and cannot suggest someone to do it. if anyone tried to, please post back your results.

and again, i want to reiterate, it is complete bullshit that the official fix is not being pushed for windows 10 users, expecially since its getting support until 2025.

i think windows 10 users will be left with manual fixes like above. maybe we should create a reg file with as many devices as possibly that we can direct people to, and if their device isnt in the list, they can add it and push changes to main

@bayangan1991
Copy link

I could be reading it incorrectly but based on the documentation for this keyset it appears to be for mapping non-xinput devices to xinput devices.
https://docs.microsoft.com/en-us/windows/uwp/gaming/registry-data-for-game-controllers

My issue is occurring with standard xbox one controller, I don't the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\ in my registry.

Thanks for your effort though. This is something that should be configurable

@james28909
Copy link

I could be reading it incorrectly but based on the documentation for this keyset it appears to be for mapping non-xinput devices to xinput devices. https://docs.microsoft.com/en-us/windows/uwp/gaming/registry-data-for-game-controllers

My issue is occurring with standard xbox one controller, I don't the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GameInput\Devices\ in my registry.

Thanks for your effort though. This is something that should be configurable

can you get yoru controllers device id and add it to the registry above and try it? then unpair and reboot (make sure to make a backup before you change anything that way you can restore. id be interested if it worked. just create the key and see if it works.

@Theoldnation
Copy link

Yeah this shit is not yet being pushed for mainline w10

@Austin-Lamb Austin-Lamb removed their assignment Jan 6, 2022
@vectorjon
Copy link

This is the solution that has worked for me.
It involves rolling back to an older Xinput driver that doesn't 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.

@wkearney99
Copy link

Is there still not a way to just entirely cripple UWP recognition of controllers?

@umetzu
Copy link

was HKLM\SOFTWARE\Microsoft\Input\Settings\ControllerProcessor\ControllerToVKMapping\ removed on Windows 11 22h2?

@pratikone pratikone removed the needs-triage Issue needs to be triaged by the area owners label Oct 14, 2022
@Justywusty87
Copy link

Can't find the registry value nor any option to disable this. behavior. Happens 100% of the time on my computer when I unplug the controller, even if no button is being pressed when it is unplugged. Makes windows unusable until I reset the system using the power button. Guess I will install the old 2009 driver and see if VectorJons fix works. I wonder what causes this on only some users.. It's insane that this even happens.

@Gavin-Gomel-Dunn
Copy link

This is the solution that has worked for me. It involves rolling back to an older Xinput driver that doesn't 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.

Does this fix not work for Xbox Elite Series 2? It tells me the 2009 driver is not compatible with my device. I have tried so many fixes for this issue at this point... I use my controller as a mouse because I have a disability which makes it difficult to use a regular mouse, so this issue is particularly frustrating to me as I'm using my controller all the time.

@james28909
Copy link

james28909 commented Dec 11, 2022

@Gavin-Gomel-Dunn
hey, try to get in contact with the developer at this site. they are the ones that helped me disable the system wide v1 ds4 input so maybe they can help you as well. - https://forzatools.weebly.com/about.html i too was in the same boat and used my controller as mouse input. so maybe they can help you out
good luck!

@murphdolton
Copy link

How is this not fixed on Windows 10 yet? Useless

@BlueAmulet
Copy link

BlueAmulet commented Jan 14, 2023

Windows seems to generate key events with VK Codes of 0xC3 to 0xDA when you use a controller on a UWP application. Since there is still no way to officially disable this in Windows 10, I ended up just making a small application to add a Low Level Keyboard Hook and remove key events with those codes.

@S-A-U-Z
Copy link

To anyone still having this issue in windows 10 for apps like controller companion, THIS worked.

To summarize for basic layman googlers in need of help:
I copied all that registry nonsense from this post to a .txt file that I named whatever I want.
I grabbed the device ID for the 360 controller built into my GPD win v.1 PC, which was obtained through the device manager by right clicking the controller, under "Properties>Details>Compatible IDs", and replaced all the "054C05C400010005" in the .txt file I made with the correct controller device ID. It was something like "USB//DEV-XINPUT-WHATEVER_BLAHBLAH" and saved it. I went back to the controller in the device manager, disabled it, I then renamed the .txt file to say ".reg" at the end, right clicked it, and clicked "merge". after a restart, I re-enabled the device, and the issue was fixed.

If you aren't sure if you are looking at the correct device, unplug any other controllers that are plugged in, go to the properties of the device you suspect to be the correct controller, go to the "details" tab, and select "is connected" It should say "true" every device that isn't the the one that's plugged is should say "false".

Hope this helps!

@james28909
Copy link

james28909 commented Feb 9, 2023

To anyone still having this issue in windows 10 for apps like controller companion, THIS worked.

To summarize for basic layman googlers in need of help: I copied all that registry nonsense from this post to a .txt file that I named whatever I want. I grabbed the device ID for the 360 controller built into my GPD win v.1 PC, which was obtained through the device manager by right clicking the controller, under "Properties>Details>Compatible IDs", and replaced all the "054C05C400010005" in the .txt file I made with the correct controller device ID. It was something like "USB//DEV-XINPUT-WHATEVER_BLAHBLAH" and saved it. I went back to the controller in the device manager, disabled it, I then renamed the .txt file to say ".reg" at the end, right clicked it, and clicked "merge". after a restart, I re-enabled the device, and the issue was fixed.

If you aren't sure if you are looking at the correct device, unplug any other controllers that are plugged in, go to the properties of the device you suspect to be the correct controller, go to the "details" tab, and select "is connected" It should say "true" every device that isn't the the one that's plugged is should say "false".

Hope this helps!

its not really nonsense if you used it to disable xinput for your own device. also, below my original post with the registry entries, i also suggested for someone to fill in their own device id and test it. congrats, youre the first to change it and come back here to confirm that it works for other devices than just the ds4. i do not have other controllers i can test with. all i have is a v1 ds4. so thanks for that!

but thanks for the feedback. please send an email thanking the original developer that helped come up with this.

@ivalith
Copy link

To anyone still having this issue in windows 10 for apps like controller companion, THIS worked.

To summarize for basic layman googlers in need of help: I copied all that registry nonsense from this post to a .txt file that I named whatever I want. I grabbed the device ID for the 360 controller built into my GPD win v.1 PC, which was obtained through the device manager by right clicking the controller, under "Properties>Details>Compatible IDs", and replaced all the "054C05C400010005" in the .txt file I made with the correct controller device ID. It was something like "USB//DEV-XINPUT-WHATEVER_BLAHBLAH" and saved it. I went back to the controller in the device manager, disabled it, I then renamed the .txt file to say ".reg" at the end, right clicked it, and clicked "merge". after a restart, I re-enabled the device, and the issue was fixed.

If you aren't sure if you are looking at the correct device, unplug any other controllers that are plugged in, go to the properties of the device you suspect to be the correct controller, go to the "details" tab, and select "is connected" It should say "true" every device that isn't the the one that's plugged is should say "false".

Hope this helps!

I don't know if it's unique to 360 controllers or Xbox Series X/S controllers (what I'm using), but the compatible IDs section is blank for me whether I'm using the wireless adapter or directly connected via USB such that I'm not even able to attempt this.

@AlexSkillman10
Copy link

Anyone know the status on this? It seems like one of the most popular issues on here yet it's been open for 4 years and no one's taken the time to add a ticker box in the control panel to just let us disable this. I'm trying to create my own Xinput navigation and the forced windows controls make it impossible. I can't rely on complicated registry edits even if they do work because I can't expect users to go through that process to get a script working. What am I supposed to do?

@joaodforce
Copy link
Author

From reading most of the replies to this thread, it seems there are some 3rd party tools and workarounds that can get around this problem.

Even though having an oficial 1st party solution would be ideal the maintainers of this repo made it clear that this GH Issue is not the place to get this issue resolved, even thought there has been a clear history of changes in old versions of windows because of this thread.

I recommend everyone that is still facing this issue to make your voice heard on the Windows Feedback Hub.

@joaodforce joaodforce closed this as not planned Won't fix, can't repro, duplicate, stale Feb 13, 2023
@shawly
Copy link

shawly commented Feb 13, 2023

make your voice heard on the Windows Feedback Hub

LOL

I created an issue on the Feedback Hub https://aka.ms/AA91eep

Can't even access it anymore, so much for that.

@WilliamLeGod
Copy link

HKLM\SOFTWARE\Microsoft\Input\Settings\ControllerProcessor\ControllerToVKMapping
Does this still work in the latest official Windows 11 version? (22h2 v2)

@umetzu
Copy link

It does.

@ne1188
Copy link

Windows seems to generate key events with VK Codes of 0xC3 to 0xDA when you use a controller on a UWP application. Since there is still no way to officially disable this in Windows 10, I ended up just making a small application to add a Low Level Keyboard Hook and remove key events with those codes.

This works for me. I only run it after the xbox controller bugs out and I get the phantom "up" input in all UWP apps, which prevents you from typing or doing anything in the start menu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-External Not owned by the WinUI team, not actionable in this repository. feature proposal New feature proposal product-winui2 team-CompInput Issue for IXP (Composition, Input) team
Projects
Development

No branches or pull requests