feat(input): add macOS Steam Controller compatibility toggle - #587
Merged
Conversation
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Chizuui
pushed a commit
to Chizuui/OpenNOW-Modified
that referenced
this pull request
Aug 11, 2026
…#587) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds an experimental macOS-only Input setting that restores Chromium's older HID gamepad path to fix Steam Controller recognition on Electron 42.3.3 (Chromium 135), which broke compatibility by enabling
kXboxUseGameControllerDataFetcherMacby default. The setting is opt-in, defaults to off, applies after app restart, and includes a warning about potential Xbox controller compatibility trade-offs.opennow-stable/src/main/chromiumCommandLine.tswithbuildChromiumCommandLineto conditionally appendXboxUseGameControllerDataFetcherMactodisable-featureson macOS when the setting is enabled.steamControllerCompatibilityModetoSettingsinterface inopennow-stable/src/main/settings.tsandopennow-stable/src/shared/gfn.ts, with normalization and migration to ensure boolean type.opennow-stable/src/main/index.tsto use the new command-line builder and bootstrap preferences loader on startup.opennow-stable/src/renderer/src/components/SettingsPage.tsxwith experimental badge and hint explaining the trade-offs.Note
Medium Risk
Changes low-level gamepad discovery via Chromium flags at process start; opt-in and restart-bound, but wrong platform/state could affect Xbox vs Steam Controller behavior.
Overview
Adds an opt-in, macOS-only Input setting Steam Controller Compatibility Mode (default off) that takes effect after restart.
Startup Chromium flags are built through a new
buildChromiumCommandLinepath: when the toggle is on on darwin, it appendsXboxUseGameControllerDataFetcherMactodisable-featuresso Chromium uses the older HID gamepad path for Steam Controller, with UI copy warning this may hurt Xbox controller compatibility.The setting is wired through shared types,
settings.jsondefaults/migration, bootstrap preference loading in main, a macOS-only experimental toggle in Input settings (plus search keywords and English strings), and unit tests for normalization and platform-gated feature flags.Reviewed by Cursor Bugbot for commit 57319d1. Configure here.