Is your feature request related to a problem? Please describe.
Currently, the Xbox Elite Series 2 controller paddles are not supported by xpadneo.
Note: This issue pertains to the handling of paddles as distinct buttons, which is what happens when the controller is in the default profile slot. Other profile slots can bind the paddles to face buttons, which already works as-is with xpadneo.
Describe the solution you'd like
I'd like for the Xbox Elite Series 2 paddle inputs to each be recognized as unique buttons when they are not bound to a button alias by the controller profile.
Describe alternatives you've considered
As previously noted, it's entirely possible to use the paddles with the current xpadneo driver, but only through aliasing via the controller's button profiles. This approach imposes two significant limitations:
These profiles can only be configured using the official Xbox Accessories app, which, of course, does not run on Linux
The paddles can only behave as an alias for other standard Xbox face buttons, rather than being their own distinct buttons
Amusingly, you can also wire your controller to an Android phone and connect it remotely to your machine using Steam Link. The Steam client will recognize the controller as an Elite Series 2 and will allow you to rebind the paddles. This is somewhat surprising, since the Steam client did not allow paddle binding when using a direct wired connection to my machine (despite correctly recognizing the controller as an Elite Series 2).
Additional context
The potential for providing paddle support has been discussed previously in other issues. I'll link those here so other interested parties can more easily find their way here:
211: There's some discussion here of how paddle handling would potentially be implemented, including btmon output
247: There is mention here of the paddles being indistinguishable from ABXY in the default profile, but there's also later mention of MS cleaning up the controller output in a subsequent firmware update -- I don't think anyone's looked into whether this is still the case
213: This is the original PR that added Elite Series 2 support
I do own an XBox Elite Series 2 controller and I even have a little programming know-how, but I've never worked on a kernel driver... nor ever even used C. I won't be able to pull off this feature myself, but I'd like to do everything I can to help! Please let me know if there's any way I can assist.
Is your feature request related to a problem? Please describe. Currently, the Xbox Elite Series 2 controller paddles are not supported by xpadneo.
Note: This issue pertains to the handling of paddles as distinct buttons, which is what happens when the controller is in the default profile slot. Other profile slots can bind the paddles to face buttons, which already works as-is with xpadneo.
Describe the solution you'd like I'd like for the Xbox Elite Series 2 paddle inputs to each be recognized as unique buttons when they are not bound to a button alias by the controller profile.
Describe alternatives you've considered As previously noted, it's entirely possible to use the paddles with the current xpadneo driver, but only through aliasing via the controller's button profiles. This approach imposes two significant limitations:
Amusingly, you can also wire your controller to an Android phone and connect it remotely to your machine using Steam Link. The Steam client will recognize the controller as an Elite Series 2 and will allow you to rebind the paddles. This is somewhat surprising, since the Steam client did not allow paddle binding when using a direct wired connection to my machine (despite correctly recognizing the controller as an Elite Series 2).
Additional context The potential for providing paddle support has been discussed previously in other issues. I'll link those here so other interested parties can more easily find their way here:
211: There's some discussion here of how paddle handling would potentially be implemented, including btmon output
247: There is mention here of the paddles being indistinguishable from ABXY in the default profile, but there's also later mention of MS cleaning up the controller output in a subsequent firmware update -- I don't think anyone's looked into whether this is still the case
213: This is the original PR that added Elite Series 2 support
I do own an XBox Elite Series 2 controller and I even have a little programming know-how, but I've never worked on a kernel driver... nor ever even used C. I won't be able to pull off this feature myself, but I'd like to do everything I can to help! Please let me know if there's any way I can assist.