-
Notifications
You must be signed in to change notification settings - Fork 113
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 One S controller on new firmware has incorrect mapping #314
Comments
If you got the descriptor from hid-generic, this looks good and we have something to work with. Next step would be to continue using hid-generic and generate a control mapping using |
This looks at least like it should be able to be detected and used by xpadneo:
So what does it tell us:
|
I think the 360 pad is Steam input, I may not have closed Steam completely when testing, and I run with Xbox controller configuration enabled. Either that or XOW masking the controller, disregard it for sure. I had the rf paired and was toggling the controller mode to connect to bluetooth. That is the MAC address of the controller, just confirmed here. I'll be happy to run a build here to test, but it may be easiest to test with the changes actually pushed to the repo, I'd just have to rebuild the dkms package in that case. I'll run through evtest this evening, just in case it differs from the layout from the Series controllers. |
@XirXes Oh yes, running Steam Input with Xbox controller support enabled actually steals input devices from us and re-emits them as normal non-HID devices. You should probably disable it for the time running the tests as it will interfere with the basic driver setup and adjustment otherwise. We need to test and improve each layer isolated, that is we start with the detection and plain unmodified descriptor (done), then continue to test the HID layer isolated (with evtest). Only then, we'll check for user-space compatibility (Steam, games, etc). xow should not interfere as it doesn't understand and talk HID devices (which Bluetooth-mode actually uses). |
Microsoft added BLE support to existing controllers. This commit adds support for binding xpadneo to controllers flashed with the new firmware version which exposes the device under a new PID. Affects: atar-axis#314 Signed-off-by: Kai Krakow <[email protected]>
I've created a PR for this: #315 To use it, run If you run any tests against it, please explicitly tell if you did run with the driver loaded or via hid-generic. Also, for |
evtest on hid-generic
|
That button test is on the HID driver |
I set this up and installed it with dkms and it connected up properly, vibration included. The buttons are mostly correct, but not quite. Great start though! |
Could you also run evtest on the xpadneo driver and show the mappings that are wrong? |
In your evtest dump, does L3 and R3 mean "left/right thumb stick button", and LB/RB are the shoulder buttons? Also, I'm missing the A button, but it should be MSC value 90001 key code 304 - that can probably not go wrong anyways. |
Correct, L3 and R3 are the sticks, and LB/RB are shoulders. I had the formatting messed up on my evtest, should be fixed now with A present. |
evtest with xpadneo enabled
|
Okay, thanks. I think I can work with that and get the mapping right. But I'm not sure when I have some spare time for it. May take a few days. |
My controller just got updated to 5.11.3118.0. I'll run some more tests tonight. Confirmed the HID_Generic evtest didn't change, and neither did the device ID. |
Thanks for the heads up. |
Microsoft added BLE support to existing controllers. This commit adds support for binding xpadneo to controllers flashed with the new firmware version which exposes the device under a new PID. Affects: atar-axis#314 Signed-off-by: Kai Krakow <[email protected]>
Microsoft added BLE support to existing controllers. This commit adds support for binding xpadneo to controllers flashed with the new firmware version which exposes the device under a new PID. Affects: atar-axis#314 Signed-off-by: Kai Krakow <[email protected]>
Also fixes Steam Input which apparently also uses SDL2. The bug shows up when SDL identifies the controller as being on USB instead of Bluetooth (SDL Gamepad ID starts with `03` instead of `05`) which then messes with SDL's expectations for the contents of hidraw. This fixes two SDL problems: * Wrong mappings in hidraw (buttons shifted to other buttons) * SDL2 doesn't properly throttle rumble commands (endless rumble) See-also: atar-axis#286 Maybe-fixes: atar-axis#303 Maybe-fixes: atar-axis#311 Maybe-fixes: atar-axis#314 Signed-off-by: Kai Krakow <[email protected]>
Also fixes Steam Input which apparently also uses SDL2. The bug shows up when SDL identifies the controller as being on USB instead of Bluetooth (SDL Gamepad ID starts with `03` instead of `05`) which then messes with SDL's expectations for the contents of hidraw. This fixes two SDL problems: * Wrong mappings in hidraw (buttons shifted to other buttons) * SDL2 doesn't properly throttle rumble commands (endless rumble) See-also: #286 Maybe-fixes: #303 Maybe-fixes: #311 Maybe-fixes: #314 Signed-off-by: Kai Krakow <[email protected]>
I'm sorry I didn't see this earlier, I just tested with the updated changes to PR #315 and everything but the 'View' button is working perfectly. It isn't making any event under either device. |
What's the view button? The left one with the two windows icon? |
Yeah, the select button, my guess is its getting filtered, its HID ID was 9000b, which collides with the Xbox logo button. Line 125 in I did try with the latest commits updated I also now have a Series X model controller with the beta firmware and can confirm it works perfectly with the same module, all buttons mapped correctly. |
Did not mean to close this, select button still doesn't register on model 1708 on firmware 5.11.3118.0. |
Which is the 1708 model? The original XB1S controller? Also, any idea if we finally can officially get the 5.11 firmware through Windows Update? I'd like to test this on my own models and fix the final things to get this merged. It's the only thing that blocking the next (and probably final) v0.9 release... |
1708 is the XB1S, correct. I will know later today if its on Windows. The biggest problem I have is all of my controllers are up to date through the xbox. I might be able to downgrade one of them. |
Hey, any news on the select button issue on 1708 model? |
I think MS still doesn't deploy this update via Windows, and I have no access to an Xbox through one of my friends. So I cannot test this myself yet. Does anyone know if the new firmware is available through Windows already? |
Microsoft added BLE support to existing controllers. This commit adds support for binding xpadneo to controllers flashed with the new firmware version which exposes the device under a new PID. Affects: atar-axis#314 Signed-off-by: Kai Krakow <[email protected]>
Microsoft added BLE support to existing controllers. This commit adds support for binding xpadneo to controllers flashed with the new firmware version which exposes the device under a new PID. The new firmware needs the Share button quirk. Affects: atar-axis#314 Signed-off-by: Kai Krakow <[email protected]>
Microsoft added BLE support to existing controllers. This commit adds support for binding xpadneo to controllers flashed with the new firmware version which exposes the device under a new PID. The new firmware needs the Share button quirk. Affects: #314 Signed-off-by: Kai Krakow <[email protected]>
Please check again with latest master. |
I spotted a Reddit thread saying they've updated Xbox Accessories in Windows 10 and 11 and the new update includes firmware 5.13.3143. link As for retesting with a new build, I just did and I still don't get any response from btn_select, and it does enable the record button even though this controller doesn't have one.
|
Thanks for spotting this. I tried all my models and only the XBXS was updated to 5.13. My XB1S and XBE2 remained at 4.8. The updates probably roll out in waves. Regarding the buttons, xpadneo will currently report all buttons available across all models even if that particular model does not have each button. All buttons worked as they should. I'll probably have to wait for my older models to update to 5.13. |
for me on xbox series x controller it seems select and share are swapped in the latest master |
I have confirmed what @ryannathans said, there was a second update to the Xbox Accessories app and it does include firmware 5.13.3143 for the 1708 model controllers, so you should be able to get your One S controllers updated now. The only big note about the controller update in my eyes is if you need non LE bluetooth on your controller for anything, you are best off staying on or reverting to the old firmware. You can also now downgrade controllers from Windows by entering this URL in the Run dialog box;
|
I can confirm that for all my three models. Although the app says "no update available" it will still apply an update to 5.13 when I click the update button. I can now test this stuff and already fixed two problems in the source code but currently my XBE2 controller no longer connects to Bluetooth and just says:
It then semi-connects (xpadneo sees the device) but it won't work and eventually timeout:
It seems that with version 5.13, both models XB1S and XBXS use the same PID now (0B13). The button mapping is correct for both models. |
It seems to be used for both the Xbox Series X|S and the original Xbox One S controller when updated to firmware 5.13. Closes: atar-axis#314 Signed-off-by: Kai Krakow <[email protected]>
I can confirm that with the latest commit 4fd620c and modprobing hid-xpadneo before I connect the controller my select button now registers! With that the keymap issues I was having on 5.13 are completely resolved. I'll close this issue, now that you have the new firmware in hand I'm sure if there's anything else wrong you'll find it. |
It seems to be used for both the Xbox Series X|S and the original Xbox One S controller when updated to firmware 5.13. Closes: atar-axis#314 Signed-off-by: Kai Krakow <[email protected]>
It seems to be used for both the Xbox Series X|S and the original Xbox One S controller when updated to firmware 5.13. Closes: atar-axis#314 Signed-off-by: Kai Krakow <[email protected]>
Microsoft added BLE support to existing controllers. This commit adds support for binding xpadneo to controllers flashed with the new firmware version which exposes the device under a new PID. The new firmware needs the Share button quirk. Affects: atar-axis#314 Signed-off-by: Kai Krakow <[email protected]>
Also fixes Steam Input which apparently also uses SDL2. The bug shows up when SDL identifies the controller as being on USB instead of Bluetooth (SDL Gamepad ID starts with `03` instead of `05`) which then messes with SDL's expectations for the contents of hidraw. This fixes two SDL problems: * Wrong mappings in hidraw (buttons shifted to other buttons) * SDL2 doesn't properly throttle rumble commands (endless rumble) See-also: #286 Maybe-fixes: #303 Maybe-fixes: #311 Maybe-fixes: #314 Signed-off-by: Kai Krakow <[email protected]>
It seems to be used for both the Xbox Series X|S and the original Xbox One S controller when updated to firmware 5.13. Closes: #314 Signed-off-by: Kai Krakow <[email protected]>
Microsoft added BLE support to existing controllers. This commit adds support for binding xpadneo to controllers flashed with the new firmware version which exposes the device under a new PID. The new firmware needs the Share button quirk. Affects: #314 Signed-off-by: Kai Krakow <[email protected]>
Version of xpadneo
Controller Model
1708 Firmware 5.11.3116.0
Connection mode
Installed Software
Severity / Impact
Describe the Bug
This controller is running the new beta firmware with double press to toggle between bluetooth and xbox wireless. I believe the firmware version matches the Series controllers; 5.11.3116.0
The controller connects to bluetooth fine and is detected by games and Steam, but the layout is wrong and some buttons don't work. It doesn't do the vibration that xpadneo usually does, I don't think it connects to xpadneo at all, its descriptor is always under
/sys/module/hid_generic/drivers/hid\:hid-generic/0005:045E:*/report_descriptor
.Steps to Reproduce
Expected Behavior
Screenshots / GIFs / Videos
System Information
Controller and Bluetooth Information
0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
xpadneo-btmon.txt
xpadneo-dmesg.txt
xpadneo-lsusb.txt
Additional Context
The text was updated successfully, but these errors were encountered: