OpenStickCommunity / OpenStickCommunity/GP2040-CE
Remove the SOCD mode addon, fold it into core
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 666
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 7
Description
Same idea as #941, we have some tech debt in the SOCD slider being half in an addon, half in core, and that is confusing to people because they map the pins in the Pin Mapping page and think they're done, without realizing they need to enable the addon, and on the flip side the addon doesn't really do anything all that special other than manage a setting.
#941 set the precedent of having an "active" DP mode, and the same idea would apply here; basically rinse and repeat:
- Create an
activeSOCDCleanerModein the core gamepad - Move the mapping of the pins from the addon to core
- Have the active mode default to whatever is in the gamepad config, unless one of the mapped pins for the other modes is active
- Use the active mode in the core gamepad checks, rather than what is in the config
- Remove the addon from the firmware and webconfig
- Point DDI and Display code (and maybe more?) at
getActiveSOCDCleanerMode()
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
Start by reviewing the active DP mode precedent in #941, then trace the SOCD addon, core gamepad checks, Pin Mapping page, firmware/webconfig, DDI, and Display code. Done means the active SOCD mode and pin mappings are handled in core, consumers use getActiveSOCDCleanerMode(), and the addon is removed from firmware and webconfig.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- embedded-iot
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100