[Feature Request] SOCD Cleaner as an input config option
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
This feature request has been created and discussed before in #6715, but with no further progress
Description
SOCD stands for simultaneous opposite cardinal direction. Basically, if you press "left" and "right" at the same time or "left" while holding "right", and vise versa. Every game handles it differently. Some set such cases to "neutral", some have "last win", and some games just don't know what to do and do whatever.
The idea is to have an option in RetroArch that a player can toggle to get the behavior a player want, especially for keyboard players
Reason
- Inputs like half circle forward + punch & half circle back + punch are very hard to execute for keyboard players while playing fighting games in cores like ps2.
- Left+Right or Up+Down buttons being pressed together might crash some games
- Although there are many cores have already implemented a solution: Mame, Fbneo, dreamcast, some cores like ps2 haven't yet, and Implementing this in the retroarch frontend would be more optimal than doing it in every single core like @andres-asm said in #6715
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 reviewing the prior discussion in issue #6715 and the referenced MAME, FBNeo, and Flycast input implementations. Identify the RetroArch frontend input configuration entry points and determine how the option should expose selectable SOCD behavior; done means the setting is available to players and produces the chosen behavior for opposing directions, including in cores such as PS2.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100