Skip to content
Snippets Groups Projects

bpf: add XBox Elite 2 wireless controller fix

Merged Benjamin Tissoires requested to merge bentiss/udev-hid-bpf:wip/xbox-elite-2 into main

When using the XBox Wireless Controller Elite 2 over Bluetooth, the device exports the paddle on the back of the device as a single bitfield value of usage "Assign Selection".

The kernel doesn't process those usages properly and report KEY_UNKNOWN for it.

SDL doesn't know how to interprete that KEY_UNKNOWN and thus ignores the paddles.

Given that over USB the kernel uses BTN_TRIGGER_HAPPY[5-8], we can tweak the report descriptor to make the kernel interprete it properly:

  • we need an application collection of gamepad (so we have to close the current Consumer Control one)
  • we need to change the usage to be buttons from 0x15 to 0x18

Link: https://lore.kernel.org/linux-input/CAEQPD4SZCFf5vj+Dyji9UzOg7M+3GPMRgTesUb2d9w8_Gm9XZg@mail.gmail.com/T/#t

Merge request reports

Merge request pipeline #1096494 passed

Merge request pipeline passed for 2cb9984b

Approved by

Merged by Benjamin TissoiresBenjamin Tissoires 1 year ago (Feb 13, 2024 7:33am UTC)

Merge details

  • Changes merged into main with 2cb9984b.
  • Deleted the source branch.

Pipeline #1101785 failed

Pipeline failed for 2cb9984b on main

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
Please register or sign in to reply
Loading