-
Notifications
You must be signed in to change notification settings - Fork 193
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
Xbox Controller Needs Rebinding if Powered Off #391
Comments
I have not been able to recreate this issue on 2117.1 with a Dualsense, no matter what i did Hope another person can fix this |
This issue is only related with XBOX genuine controller and is linked with SDL2 guid. The bytes 2 and 3 from guid change with every launch of the app, here is the example with a Xbox series X controller.
This is a real pain in the ASS as it requires reconfiguring the same controller over and over again. I have implemented a fix in my software regarding this issue when using latest SDL versions : i just replace the CRC bytes with 0000, the guid 030000005e040000130b000009057200 is now stable and the controller config remains ! This is the best solution, and it will also avoid future SDL rework of this CRC part. Maybe this can be implemented in lime3ds and Azahar also @kilbouri @kleidis |
Maybe here, to modify the guid before getting the string:
|
Can confirm this issue is still present in Azahar 2120 Release Candidate 3. If I find time, I'll look to raise a pull request and implement @Tartifless 's fix, though I can't promise I'll be able to so if anyone else can, it'd be great. |
Oh wow, there's activity here. Love it. Given it has been a while, I want to add some new information. Between making this issue and now, I moved to Manjaro Linux. I cannot reproduce the issue with a fresh from-source build. Makes me wonder if this isn't so much an issue with specifically one type of controller, as it is with how device ids are assigned on Windows. But then, @kleidis can't reproduce it with a Dualsense... Maybe bluetooth vs wired connection makes a difference? Probably worth a deeper investigation with various types of controller and connection methods before patching. Thanks everyone :) |
Hello, SDL team have fixed it here: So 2 options:
Option 2 is done in other emulators, as they kept the guid from before sdl 2.24, without the crc part. That kept them from having issues when they updated sdl and the guid changed. |
I'm going to treat this as an upstream SDL bug and wait for the fix to make its way in from there |
Still using guid without crc is a safe option, more futureproof (empiric statement) as these sdl guys change the way it's calculated every other version |
Is there an existing issue for this?
Affected Build(s)
Stable 2117.1
Description of Issue
Xbox controller (bluetooth XB1) bindings stop working if the controller is powered off and back on again. My guess is that it receives a new device ID and therefore the stored bindings are no longer mapped to the controller properly.
Expected Behavior
Bindings keep working if the controller is powered off and back on again.
Reproduction Steps
Log File
lime3ds_log.txt
System Configuration
CPU: i5 8600K
GPU/Driver: RX 6750XT (24.6.1)
RAM: 32GB
OS: Windows 11 23H2 22631.4037
The text was updated successfully, but these errors were encountered: