ValveSoftware / ValveSoftware/Proton

Add Option to not Clean D-Pad SOCD Input

Open
#10,074 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature Request
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]

Contributor guide

No contributing guide indexed for this repository

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.