Skip to content

fix(devices/onexplayer_apex): target xbox-elite to surface oxp8 paddles#585

Merged
pastaq merged 2 commits into
ShadowBlip:mainfrom
srsholmes:fix/onexplayer-apex-xbox-elite-target
May 9, 2026
Merged

fix(devices/onexplayer_apex): target xbox-elite to surface oxp8 paddles#585
pastaq merged 2 commits into
ShadowBlip:mainfrom
srsholmes:fix/onexplayer-apex-xbox-elite-target

Conversation

@srsholmes
Copy link
Copy Markdown
Contributor

@srsholmes srsholmes commented May 8, 2026

The OneXPlayer Apex profile targets xbox-series, but its oxp8 capability map emits LeftPaddle1 / RightPaddle1 — codes that only exist on xbox-elite. So under xbox-series they silently drop and the back paddles do nothing.

Switching the target to xbox-elite (which 50-onexplayer_x1.yaml already does for the same reason, since its oxp5 map also emits paddle codes) makes them surface as BTN_TRIGGER_HAPPY5 / BTN_TRIGGER_HAPPY6.

Tested on a OneXPlayer Apex (Bazzite, hidraw 1a86:fe00). Before: paddles produce nothing on the emulated /dev/input/eventN. After: they fire as expected. No regression on the rest (sticks, face buttons, triggers, bumpers, dpad).

AI disclosure

Per CONTRIBUTING.md: the original PR description and an explanatory YAML comment in the first commit were drafted with Claude. The fix itself, the on-hardware testing, and the reasoning are my own. The follow-up commit 7ed00b7 removes the LLM-drafted YAML comment so the diff is exactly the target value change, with Co-developed-by: Claude Opus 4.7 in that commit's message.

The Apex's oxp8 capability map (onexplayer_type8.yaml) emits
LeftPaddle1 / RightPaddle1 for the back paddles. Those button codes
only exist on the xbox-elite target — under xbox-series they're
silently dropped, so the back paddles are dead.

50-onexplayer_x1.yaml already targets xbox-elite for the same reason
(its oxp5 map also produces paddle codes). The Apex profile is the
inconsistent one. One-line target swap; no other behavior changes.
@srsholmes srsholmes marked this pull request as ready for review May 8, 2026 11:32
@pastaq
Copy link
Copy Markdown
Contributor

pastaq commented May 8, 2026

Thanks, we somehow missed that during review of the PR that added support.

The PR summary feels very LLM oriented. If an LLM was used for any part of this effort please disclose that per the contribution guidance.

auto_manage: true

# The target input device(s) to emulate by default
# The target input device(s) to emulate by default. xbox-elite (matching
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no reason to change anything but the target device. A history and explanation of the change are not required for a single word diff.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

… AI use

The YAML comment introduced in a3a528d was drafted with Claude. Per
CONTRIBUTING.md, AI-generated content must be disclosed in the commit
message that introduces it — that disclosure was missed on the
original commit. Removing the comment here so the diff against main
is the one-line target_devices edit (xbox-series → xbox-elite),
which is my own reasoning verified on-device.

Also disclosing here that the original PR description (the comparison
table, structured test plan, etc.) was drafted with Claude. The fix
itself, on-hardware testing, and the technical reasoning behind it
are my own.

Co-developed-by: Claude Opus 4.7
@pastaq pastaq merged commit ce610fe into ShadowBlip:main May 9, 2026
3 checks passed
github-actions Bot pushed a commit that referenced this pull request May 9, 2026
## [0.77.1](v0.77.0...v0.77.1) (2026-05-09)

### Bug Fixes

* **devices/onexplayer_apex:** target xbox-elite to surface oxp8 paddles ([#585](#585)) ([ce610fe](ce610fe))
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 9, 2026

🎉 This PR is included in version 0.77.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants