libretro / libretro/RetroArch

DS4 controller being improperly identified/mapped

Open
#10,869 3 comments 0 reactions 0 assignees View on GitHub

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
  1. plug your DS4 into a shieldTV via USB
  2. open the steam link app
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.