Xbox One Controllers Don't Work If More Than One Is Used
Xbox One Controllers Don't Work If More Than One Is Used
Hi all, I tried to run a search to see if anyone has reported this issue and I am surprised not to find any previous posts. I have discovered that Xbox One controllers don't work correctly if more than one controller is used in Windows 10. I have spent three days troubleshooting this issue, I have tried everything I can think of. For a little background, I am not new to Xpadder, I have been using it for years with Xbox 360 controllers. I am also very computer savvy as it is what I do for a living.
With that said, here's the issue that I have noticed. If one Xbox One controller is plugged in, everything works perfectly fine. As soon as two are plugged in, Xpadder will not respond. To get it to work, I have to click on Xpadder and press some buttons on the controller then it will work from that point forward until Xpadder is closed, at that point if I reopen it I have to repeat this process. So basically, as an example, if you start Xpadder through command line it doesn't work. You have to bring up the GUI, press some buttons on the controller, and only then it will work.
I am pretty sure the problem has something to do with Xinput, it seems that Xpadder has trouble detecting that the Xbox One controllers are Xinput devices. When I go to properties, it will show Dinput, and as soon as I press a button on the controller it displays the Xinput information. The only way I can get two controllers to work, is by messing with the drivers in Windows and installing them in such a way that Xinput is disabled and the controllers are only seen as Dinput devices. This is not ideal obviously as I then can't use the controllers with any games that use Xinput. By the way, I have tested this on my everyday PC and I have also done a clean Windows 10 install to eliminate any potential problems with my Windows installation.
I will post a video demonstrating the issue later today.
With that said, here's the issue that I have noticed. If one Xbox One controller is plugged in, everything works perfectly fine. As soon as two are plugged in, Xpadder will not respond. To get it to work, I have to click on Xpadder and press some buttons on the controller then it will work from that point forward until Xpadder is closed, at that point if I reopen it I have to repeat this process. So basically, as an example, if you start Xpadder through command line it doesn't work. You have to bring up the GUI, press some buttons on the controller, and only then it will work.
I am pretty sure the problem has something to do with Xinput, it seems that Xpadder has trouble detecting that the Xbox One controllers are Xinput devices. When I go to properties, it will show Dinput, and as soon as I press a button on the controller it displays the Xinput information. The only way I can get two controllers to work, is by messing with the drivers in Windows and installing them in such a way that Xinput is disabled and the controllers are only seen as Dinput devices. This is not ideal obviously as I then can't use the controllers with any games that use Xinput. By the way, I have tested this on my everyday PC and I have also done a clean Windows 10 install to eliminate any potential problems with my Windows installation.
I will post a video demonstrating the issue later today.
Re: Xbox One Controllers Don't Work If More Than One Is Used
Here is a video showing the problem https://youtu.be/_9M9pBSj2ZE
Re: Xbox One Controllers Don't Work If More Than One Is Used
I also completely forgot to mention this in the video, but this issue is specifically with Xbox One controllers on Windows 10. Wasn't a problem on Windows 7.
Re: Xbox One Controllers Don't Work If More Than One Is Used
Thank you for taking the time research the problem and to create a video. This is very useful.
I think I have found the problem: DirectInput in Windows 10 does not allow XBox One controllers to be accessed in the background
When 2 or more Xbox One controllers are connected in Windows 10, the GUI needs to be in focus so that Xpadder can read the button data and match the DInput device to the XInput device. This is not necessary for a single Xbox One controller as the match is automatic.
Please can you try the following tests to confirm:
1) In the Xpadder settings window there is an option to disable XInput. If you try that can you confirm that Xpadder only responds to your controller if the Xpadder window is currently in focus?
2) Re-enable XInput and close Xpadder fully. Disconnect both Xbox One controllers. Connect one only and start Xpadder. It should work in Notepad instantly. Now connect controller 2. Does this new controller also work in Notepad instantly
I think I have found the problem: DirectInput in Windows 10 does not allow XBox One controllers to be accessed in the background
When 2 or more Xbox One controllers are connected in Windows 10, the GUI needs to be in focus so that Xpadder can read the button data and match the DInput device to the XInput device. This is not necessary for a single Xbox One controller as the match is automatic.
Please can you try the following tests to confirm:
1) In the Xpadder settings window there is an option to disable XInput. If you try that can you confirm that Xpadder only responds to your controller if the Xpadder window is currently in focus?
2) Re-enable XInput and close Xpadder fully. Disconnect both Xbox One controllers. Connect one only and start Xpadder. It should work in Notepad instantly. Now connect controller 2. Does this new controller also work in Notepad instantly
Re: Xbox One Controllers Don't Work If More Than One Is Used
Thanks Jonathan, here is a video showing the results of the tests you suggested. https://youtu.be/Pcb0vnxCMiQ
Re: Xbox One Controllers Don't Work If More Than One Is Used
Thanks again for making the videos. Very useful.
It appears that test 2 confirms my theory. Due to the bug, using 2 or more Xbox One controllers on Windows 10 overloads the detection system and requires bringing the window into focus.
The quickest workaround is to connect the controllers one at a time (as you did in the test).
This is one of many issues that are complicated to resolve using the current generation of Xpadder code.
It appears that test 2 confirms my theory. Due to the bug, using 2 or more Xbox One controllers on Windows 10 overloads the detection system and requires bringing the window into focus.
The quickest workaround is to connect the controllers one at a time (as you did in the test).
This is one of many issues that are complicated to resolve using the current generation of Xpadder code.
Re: Xbox One Controllers Don't Work If More Than One Is Used
Thanks for taking a look. The problem with turning one controller on at a time, is that when using Xpadder through a frontend like most of us do, this method doesn't work since Xpadder is constantly being closed/reopened while both controllers are on. Wondering if you have any plans to fix this particular bug in the future?
Re: Xbox One Controllers Don't Work If More Than One Is Used
Yes. The workaround is not ideal.
I have an idea...
Please could you send me a screenshot (by uploading it to imgbb or similar site and posting the link here) of the controller properties page of one of the Xbox One controllers. It's the window with the raw data. If you do this with only one controller connected you should see raw data for both DInput and XInput.
I have an idea...
Please could you send me a screenshot (by uploading it to imgbb or similar site and posting the link here) of the controller properties page of one of the Xbox One controllers. It's the window with the raw data. If you do this with only one controller connected you should see raw data for both DInput and XInput.
Re: Xbox One Controllers Don't Work If More Than One Is Used
Thanks. I will see what I can do...
Re: Xbox One Controllers Don't Work If More Than One Is Used
I have tried a number of methods but the results are not good. Unfortunately, with the current framework it is not possible to fix this issue.
Re: Xbox One Controllers Don't Work If More Than One Is Used
Thanks for trying
Re: Xbox One Controllers Don't Work If More Than One Is Used
Hi Jonathan, congrats on the 15 year anniversary of Xpadder! I wanted to check back with you on this issue which we discussed back in 2021 to see if there are any new developments regarding compatibility with newer Xbox controllers? Thanks!
Re: Xbox One Controllers Don't Work If More Than One Is Used
I am a step closer