Microsoft-ui-xaml: End user option to disable controller input in UWP apps, especially non-games.

Created on 25 Oct 2019  路  17Comments  路  Source: microsoft/microsoft-ui-xaml

Describe the bug
UWP Controller support cannot be disabled. leading to unwanted controller input in applications that have no business reading controller input, such as the Start menu. This can even lead to the random selection and unwanted scrolling when Windows interprets the inputs incorrectly.

Steps to reproduce the bug
Connect a DirectInput type of controller, hotas etc
Launch UWP app, or even start menu
Disconnect controller and watch cursor and scrolling go crazy

Expected behavior
Controller input in non games should be OPT IN and have the option to disable completely. Windows is after all a operating system and it is absurd to think we are all playing games all the time.

Screenshots

Version Info
Windows 10 1903

NuGet package version:


| Windows 10 version | Saw the problem? |
| :--------------------------------- | :-------------------- |
| Insider Build (xxxxx) | |
| May 2019 Update (18362) | |
| October 2018 Update (17763) | |
| April 2018 Update (17134) | |
| Fall Creators Update (16299) | |
| Creators Update (15063) | |


| Device form factor | Saw the problem? |
| :-------------------- | :------------------- |
| Desktop | |
| Mobile | |
| Xbox | |
| Surface Hub | |
| IoT | |

Additional context
STOP treating Microsoft PC's like game consoles!

needs-triage team-Reach

Most helpful comment

If I leave something on my keyboard, should developers remove keyboard functionality because of it?

UWP apps are designed more than just Windows desktops. A game controller is an input device such as a mouse, headset, or keyboard. Just unplug your controller.

All 17 comments

This is absurd. I actually want UWP experiences to be controller capatible. You want Microsoft to disable something for a unlicensed third party app?

I want it to be opt in, as in optional, as in my computer isn't a game console so don't introduce bugs into simple start menu navigation when I don't want it....

If I leave something on my keyboard, should developers remove keyboard functionality because of it?

UWP apps are designed more than just Windows desktops. A game controller is an input device such as a mouse, headset, or keyboard. Just unplug your controller.

Unplugging the controller causes the random scrolling. I did mention that just like I mentioned that it should be opt in, not removed....

I have not seen these issues, when I use my controller on my PC (both laptop/desktop).

I play games sometimes in the middle of coding when I get stuck. When I get an idea or solution to my problem during the play, I'll switch to write code / note an idea using the chatpad on my controller (_sometimes, I'll even run a quick debug of the program using the controller with chatpad_), then I'll switch back to gaming.

To me, it was seamless, then again, It took a little while to adjust to the behaviors of the controller!

@JoshWobbles

You see, the root of the problem is not the input device, it's the bugs. So, ask @microsoft to fix the bugs.

Note: People will always use something we create in ways we didn't even imagine or we didn't want them to.

Sure, you can argue that I have not got the resources to support the other input devices, you don't have to, you just need to adjust their behavior to your application.

For system components such as Start Menu (Xaml/WinRT), File Explorer (DUI/Win32), Xbox App (React/Electron), you can also file a feedback in the Insider Hub App and link the GitHub issue there.

Update

I read the other issues, I see what you got there, when using input mapping, these issues do happen because both the mapping app and system process the input simultaneously.

What I would do

Since UWP Apps support XInput, you can blacklist them from the Mapping app. So that the mapping doesn't apply to those apps. Do they support blacklisting apps? If not, you can request them. They would deliver them (_sooner_) instead of asking MSFT to do a feature addition to Windows itself.

Update

I read the other issues, I see what you got there, when using input mapping, these issues do happen because both the mapping app and system process the input simultaneously.

What I would do

Since UWP Apps support XInput, you can blacklist them from the Mapping app. So that the mapping doesn't apply to those apps. Do they support blacklisting apps? If not, you can request them. They would deliver them (_sooner_) instead of asking MSFT to do a feature addition to Windows itself.

https://github.com/microsoft/microsoft-ui-xaml/issues/1495#issuecomment-546594322

@Nirmal4G I dont use a mapping app for my HOTAS, it is natively supported in games. HOTAS means Hands On Throttle And Stick, its not an app or a mapping application, it's basically shorthand for a throttle and stick setup for simulators.

@JoshWobbles

I know, I was talking in general, the side of input modality in windows, you know how the system calls intercept from the input devices and send them through driver filter and all that...!

Since, they have like a universal driver for the device, the devs can implement a filter that could work correctly in non-game regions in the OS. But I don't see them putting a switch in settings anytime soon.

There are lot of feedback like that in the insider hub, even one of mine, where I had a similar problem with a custom controller. As I said previously, You can file it in the insider hub and track the issue there.

@Nirmal4G I think you may be referring to a double input, which I am not experiencing, the issue I am having is that my throttle and sliders map to what Windows believes is a X & Y and is trying to navigate start menu and etc based on the position of the throttle and my air brake slider. When the HOTAS is unplugged these values must default to the maximum even though the device is no longer present because the start menu just scrolls all the way to the bottom as soon as it is opened with no input. Im guess whatever wrapper for the controller the UWP is creating is not being properly disposed on removal. Either way, I see this as a feature that should be optional because even my Space Navigator mouse has shown some weird behaviors now too.

Ive never had any success on the insider or feed back hub, ive been trying to get them to fix HDR and Dolby Atmos audio forever...

HDR and Dolby Atmos are known issues, so they'll fix them by next major update.

Im guess whatever wrapper for the controller the UWP is creating is not being properly disposed on removal.

This, they can do a fix.

Either way, I see this as a feature that should be optional...

I agree, at least on Windows Desktop editions.

HDR and Dolby Atmos are known issues, so they'll fix them by next major update.

I'm not holding my breath, been a mess for over a year now lol

I'm currently using LG 55" C7 OLED, Vision and Atmos is working in some cases but not HDR. I think the issue is on both sides, LG has a crappy Game mode support, even in C9, it has not improved at all.

And more over, @Microsoft needs to have a reference panel for OLED that the consumers use and not the signage ones. That way they'll literally see the problem we're facing!!! 馃槣 馃ぃ

I'm going to close this as a duplicate of #1495 - please see the last comment I put there before that issue was closed. I'll work with the input team internally to get any additional information added to 1495.

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.

Was this page helpful?
0 / 5 - 0 ratings