libretro / libretro/RetroArch

DS4 Controller bug

Open
#15,765 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

Description

If you connect via bluetooth a oem DS4 controller to retroarch and then hold down the ps4 button for 10 seconds which turns off the controller it will not disconnect from retroarch. if you turn the controller back on it will still be connected like nothing happened but if you start using a fight stick or something it will go to 2nd player as well because 1st is still taken by DS4 controller. this has been going on for quite awhile.

Expected behavior

My DS4 controller to disconnect and show as being disconnected as happens in any other emulator.

Actual behavior

DS4 connects great and works great with retroarch, it just simply never disconnects after you use it if you connect via bluetooth and turn it off with PS4 button being held for 10 seconds.

Steps to reproduce the bug

connect ds4 controller via bluetooth
hold ds4 button for 10 sec to turn off controller
nothing will happen on retroarch's end

Bisect Results

Has been going on at least since 1.15 but longer I believe.

Version/Commit

You can find this information under Information/System Information

  • RetroArch: [version/commit]
Environment information

Windows 11

  • 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

No source file, test, or entry point is named. Start by reproducing the Bluetooth power-off sequence on Windows 11 with an OEM DS4, then trace the controller disconnect handling; done means RetroArch releases the DS4 player slot and a replacement controller becomes player one.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.