Skip to content

test(core): add profile report conformance matrix - #13

Merged
SYMBaiEX merged 3 commits into
mainfrom
feat/profile-report-conformance
Oct 4, 2026
Merged

SYMBaiEX merged 3 commits into
mainfrom
feat/profile-report-conformance

Conversation

@SYMBaiEX

@SYMBaiEX SYMBaiEX commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Summary

Adds a checked-in profile-to-report matrix for Xbox, PlayStation, Switch, and generic HID, plus hardware-free conformance tests for OpenController's report encoders.

  • Documents profile button names and aliases, shared controls, report formats, profile-only PlayStation touchpad and motion, Switch motion, and omissions in XInput/generic HID reports.
  • Adds table-driven fixture coverage for exact face, shoulder, D-pad, trigger, and axis values across supported profiles and compatibility formats. Includes one-at-a-time profile alias assertions.
  • Covers Xbox GUIDE, PlayStation PS, Switch HOME/CAPTURE, generic HID's lack of HOME/CAPTURE controls, PlayStation's two touch contacts, and Switch motion in their relevant reports.
  • Updates root and core test discovery to include the core test directory; the existing core suite continues to run once.

Evidence and limitations

This is validation of OpenController's own state-to-report encoders. The upstream reports SDL #16220, SDL #14829, and Steam for Linux #13492 motivate clear conformance expectations, but this PR does not fix or verify SDL, Steam Input, operating system, driver, physical controller, or game behavior. Fixtures use the dry-run controller and do not require hardware.

Validation

  • bun test packages/core/src/__tests__/report-conformance.test.ts — 8 passed.
  • From packages/core, bun run test — 59 passed across 2 files, including both core test files.
  • Root bun run test — 162 passed across 13 files, 0 failed. The new file was discovered once.
  • bun run typecheck — passed.
  • bun run lint — passed (Biome checked 140 files).
  • git diff --check — passed.

Closes #9

Copilot AI balanced review requested due to automatic review settings October 4, 2026 21:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 50 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 780535e3-7df9-44f5-a614-41148c08bc66
📥 Commits

Reviewing files that changed from the base of the PR and between 067fc59 and 0ec8471.

📒 Files selected for processing (4)
  • docs/gamepad-report-conformance.md
  • package.json
  • packages/core/package.json
  • packages/core/src/__tests__/report-conformance.test.ts
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SYMBaiEX
SYMBaiEX force-pushed the feat/profile-report-conformance branch from 7ce1b45 to 132b1a6 Compare October 4, 2026 21:28
@SYMBaiEX
SYMBaiEX merged commit 5f7e6fc into main Oct 4, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a profile-to-report conformance matrix for gamepad outputs

3 participants