Skip to content

gamecontrollerdb: map retrogame_joypad by label like the other built-in pads - #3469

Open
qzydustin wants to merge 2 commits into
ROCKNIX:nextfrom
qzydustin:builtin-pad-labels
Open

qzydustin wants to merge 2 commits into
ROCKNIX:nextfrom
qzydustin:builtin-pad-labels

Conversation

@qzydustin

@qzydustin qzydustin commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

What does this PR do?

The retrogame_joypad line in gamecontrollerdb maps A/B by position but X/Y by label (a:b0,b:b1,x:b2,y:b3), while es_input.cfg and every other built-in pad map all four by label. So on these devices Circle is on the bottom button in PPSSPP (RG351P/M, G350) and DuckStation, and the GameCube X/Y are swapped in Dolphin.

Revert the A/B change of c1fd2da (a:b1,b:b0), drop the RK3566 PPSSPP Circle/Cross swap that made up for it, and swap it back in existing RK3566 controls.ini on update. With this, the retrogame_joypad devices map the same way as every other built-in pad, and RK3566 uses the same PPSSPP controls as the other platforms.


Testing & Verification

  • Device(s) Tested: none with retrogame_joypad
  • Build Artifacts / Commit: 6274d02

Test Steps

  1. Circle in PPSSPP and DuckStation, X/Y in Dolphin.

Test Results & Evidence

Needs a tester. Most ports use /tmp/gamecontrollerdb.txt, which mapper.txt builds from es_input.cfg and the controller_layout setting, so they don't change (checked on an R36S clone); the Moonlight port and Ikemen read the system db directly and follow this change.


Additional Context & Reviewer Notes

History in the first comment.


AI Assistance Disclosure

  • No Written entirely without AI tools.
  • Partially AI was used for minor assistance (e.g., refactoring, writing tests, debugging, documentation).
  • Yes AI generated a major portion of the code or implementation.

@qzydustin

qzydustin commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor Author

History (distribution-old hashes):

  • JELOS added the line as a:b1,b:b0 (8166454), the same as SDL_GameControllerDB, es_input.cfg and the RetroArch autoconfig.
  • 6dcf143 swapped Circle/Cross in the RK3566 PPSSPP controls; the RK3326 ones were never changed.
  • c1fd2da changed the line to a:b0,b:b1.

On all these boards the button printed A is BTN_EAST (b1): mainline rk3566-anbernic-rg353x.dtsi and rk3566-powkiddy-rk2023.dtsi have button-a = GPIO3_C2 = BTN_EAST, the same as our trees.

@qzydustin qzydustin changed the title fix the face button mapping of retrogame_joypad and commander gamecontrollerdb/commander: fix the face buttons on the built-in pads Oct 8, 2026
@qzydustin qzydustin changed the title gamecontrollerdb/commander: fix the face buttons on the built-in pads gamecontrollerdb: map retrogame_joypad by label like the other built-in pads Oct 9, 2026
@qzydustin

Copy link
Copy Markdown
Contributor Author

Split the commander change into its own PR; this one now only fixes the retrogame_joypad line.

This branch has not been deployed

No deployments
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.

1 participant