protonscr

Xbox One S Wireless (BT) controller shows up as 2 different controllers in Steam. And is causing problems via double inputs.

steamclosed
ValveSoftware/steam-for-linux#8364 · opened 2022-01-27 by D33M0N · updated 2022-01-27 · 1 comments · github
DD33M0N 2022-01-27 github

Your system information

  • Steam client version (build number or date): 16 Jan 2022 at 17:34:49
  • Distribution (e.g. Ubuntu): Manjaro
  • Opted into Steam client beta?: [Yes/No] No
  • Have you checked for system updates?: [Yes/No] Yes

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist

https://steamcommunity.com/discussions/forum/1/3198120360738732479/

Basically When I turn on my Xbox One S Wireless (Bluetooth) controller, it appears in Steam as 2 different controllers:
Xbox One Controller
Xbox 360 Controller

problem is that they are both active and mirror many controls, pads, sticks, A and B buttons.
Now when I try to play some multiplayer / co-op games, like Jack Axe (via Proton?) or TowerFall Ascension (native I guess?), where you can't exactly disable controllers and try to start game and press A on the controller, it activates 2 players at once, which kind of move around via same controller...

And the MAIN PROBLEM is that I can't disable this mirroring in any shape or form in Steam.

SECOND PROBLEM is that they are not entirely mirrored.
The "original controller" and the "steam fake phantom controller" are not identical. They have vastly different button configurations.
One of them has traditional Xbox controller buttons, whereas for the phantom I suspect, A is A; B is B; Y is X; back button (left of Guide) is Left-Button; Play button (right of Guide) is Right-Button; X and Right-Button seem disabled and don't register as any button at all, Left-Button is Y etc. And there is no way to remap the controller buttons inside steam for the fake to be "correct".

Some guy in steam forum suggested blacklisting the 360 controller via adding "045e/028e" to blacklist line in config.vdf file. Which I did. It did only HIDE the xbox 360 controller inside the steam controller configurations and settings, however the controller shadowing and BS remained still active inside the games.

THIRD a bit unrelated problem is that Steam generated one fake phantom "xbox 360 controller" also for my WootingOne keyboard (theoretically controller compatible/able, but for which I had disabled Xinput controller functionality in Wootility, so it doesn't show up as Joystick anymore directly in linux either anymore outside steam). But steam still somehow picks it up and generates some fake controller for it also.

What I expected to happen:

  1. NO PHANTOM CONTROLLERS at all.
  2. and/or option to disable double inputs / controllers.
  3. Option to actually reconfigure button layout/mapping for both controllers. (yes, I assume I can do this when I turn on "Xbox Configuration Support" in General Controller Settings, but then I can and have to change them for every game separately, but there is still no global "default" mapping option for everything still undefined.)
  4. When there are several "fake controllers" generated by steam, there is no way to distinguish them from eachother, for which device each one of them is generated for. Some hint would be nice in their name. Like:
  • Xbox 360 controller (Xbox One S fake);
  • Xbox 360 controller (WootingOne fake);

Steps for reproducing this issue:

  1. connect Xbox One S Wireless controller in my case (maybe same with any other controller?)
  2. open Steam Settings -> Controller -> General Controller Settings
  3. observe there your connected controller + some Steam generated phantom Xbox 360 controller (WHICH YOU CAN'T TURN OFF NOR DISABLE.)
  4. Observe unplayable co-op games by this issue, like try to play Jack Axe or TowerFall Ascension. (Jack Axe could actually be semi playable if the buttons were matching also for both controllers, but because they are not, then the characters go all the time out of sync and cause confusion and just is not good.)
Kkisak-valve maintainer 2022-01-27 github

Hello @D33M0N, in general, multi-issue issue reports are bad for any issue tracker.

This issue is already being tracked at #8132, #7531, and the third part is an SDL issue similar to https://github.com/libsdl-org/SDL/issues/4271.

Feel free to share the relevant part of your experience for each of these issues on the separate issue reports. Closing in favor of the older issue reports.

Nothing extracted yet.