DS4 controller being improperly identified/mapped
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
First and foremost consider this:
- Only RetroArch bugs should be filed here. Not core bugs or game bugs
- This is not a forum or a help section, this is strictly developer oriented
Description
Retroarch is seeing my DS4 (when plugged into shieldTV) as a steam/nintendo USB switch pro controller and as such swapping the A/B X/Y buttons. I tracked it down to the Nintendo Switch Pro Controller USB Steam User 1.cfg autoconfig profiles which were recently added and was able to circumvent the behavior by deleting them. Obviously not an ideal long term solution as each time you'd update your autoconfig profiles you'd have to prune those out.
Expected behavior
The DS4 to be seen as an xinput controller user 1 (when used in this fashion)
Actual behavior
I have used it this way for years. Launching retroarch via steamlink on the ShieldTV. It has always picked the DS4 up as an xinput controller user # when i have it tethered via usb cable (as it should). At some point in recent history some switch/steam profiles were added and it began seeing it as a nintendo switch pro controller.
retroarch and all assets are updated to latest nightly as of immediately prior to this post
Steps to reproduce the bug
- plug your DS4 into a shieldTV via USB
- open the steam link app
- launch retroarch and notice how the controller is mis-identified/mis-mapped.
Bisect Results
[Try to bisect and tell us when this started happening]
Version/Commit
You can find this information under Information/System Information
- RetroArch: 1.88 e91e9336a9
Environment information
- OS: Win10
- Compiler: [In case you are running local builds]
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the DS4 behavior through the listed ShieldTV, Steam Link, and USB steps. Inspect the Nintendo Switch Pro Controller USB Steam User 1.cfg autoconfig profile and the surrounding autoconfig profiles to determine why it is selected instead of xinput controller user 1. Done means the DS4 is identified and mapped as the expected xinput controller without manually deleting profiles.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100