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

Controllers do not set themselves as Player 1 when reconnected even if there are no other controllers connected #30

Open
heddy1 opened this issue Jan 16, 2022 · 1 comment

Comments

@heddy1
Copy link

heddy1 commented Jan 16, 2022

Many games don't work with controllers that are detected as "Player 2/3/4". So I am requesting for Xb2XInput to have a way to change the player designation of the controller to "Player 1", or at least allow the controller to reset to Player 1 if all controllers are disconnected and only one controller is re-connected.

Expected behavior:
I expect Xb2XInput controllers to behave like Xbox 360 controllers. With Xbox 360 controllers, if the 360 controller is currently Player 2, you can make it change to Player 1 by unplugging all controllers and then plugging them in the desired order. The first controller connected becomes Player 1, the second controller connected becomes Player 2, etc.

Actual behavior:
A controller connected through Xb2XInput that is currently Player 2 does not reset to Player 1 if you disconnect all controllers and then connect again. It does not become Player 1 when reconnected, even if there is no other controller connected. Restarting the Xb2XInput software does not have any effect.

Temporary workaround:
Restart the computer, or log out and log back in. These are the only ways to reset an Xb2XInput controller to Player 1.

@heddy1 heddy1 changed the title Controllers do not set themselves as Player 1 Controllers do not set themselves as Player 1 when reconnected even if there are no other controllers connected Jan 16, 2022
@Squall-Leonhart
Copy link

Squall-Leonhart commented Jul 3, 2022

This isn't the fault of this software, its a flaw in windows 10's common class Xinput driver itself, you can replicate it with various Xbox 360 controllers, and also with Vigem.

It doesn't replicate with Xbone+ controllers though.

There is no way to force controllers to be pad 1 in the Xinput api for Windows (a frustrating oversight imo), you can use a combination of vigem and X360CE in virtual controller mode to enable/disable controls until you get the physical one back on pad 1, i run the DirectX SDK's RumbleController sample to identify when i've reached the point of only having virtual pads on 2,3,4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants