ValveSoftware / ValveSoftware/Proton
Add Option to not Clean D-Pad SOCD Input
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 32.8k
- Forks
- 1.6k
- PR merge metrics
- PR metrics pending
Description
Feature Request
I'm requesting an option to allow opposite cardinal directions on the D-pad to both be registered. More information in description.
I confirm:
- [x ] that I haven't found another request for this feature.
- [x ] that I have checked whether there are updates for my system available that
contain this feature already.
Description
Leverless controllers are gaining popularity as a more ergonomic option for playing fighting games. On these controllers the D-pad is four separate buttons, all of which can be pressed simultaneously. These controllers often have different firmware configurations to change the behavior of the d-pad buttons when pressing opposite cardinal directions simultaneously (referred to as SOCD or simultaneous opposite cardinal directions). This is because different games require different behavior for tournament rules.
Some examples of common SOCD resolution:
- Neutral resolution: Pressing opposite directions results in neither input being registered
- Last Input resolution: Pressing opposite directions results in the most recent input being registered
- First Input resolution: The opposite of Last Input resolution
- Up/Right priority: Up will always override Down, Right will always override Left
- Off: No SOCD resolution is performed and is left to be handled by the game
When configuring my controller turn SOCD resolution off, I would expect when pressing up and down that both inputs get registered. When using Proton I notice pressing up and down results in neither input being registered (Neutral resolution). The same is true for pressing left + right.
References [optional]
- Old, somewhat related issue that only mentions Last Input resolution https://github.com/ValveSoftware/Proton/issues/5527
Contributor guide
No contributing guide indexed for this repository
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
The issue names no source files, tests, or entry points. Start by tracing Proton's D-pad input handling and existing SOCD neutralization, then verify that disabling SOCD resolution preserves simultaneous opposite directions for both vertical and horizontal inputs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100