Add native shortcut editor with automatic action discovery - #285
Draft
Guffawaffle wants to merge 102 commits into
Draft
Guffawaffle wants to merge 102 commits into
Guffawaffle wants to merge 102 commits into
Conversation
…-target-enforcement
…ability-confirmation
…ability-confirmation
…/preserving-toml-editor
xmake invokes swift-frontend directly, bypassing the Swift driver's default external macro plugin search paths. In the Xcode 27 SDK, SwiftUI property wrappers (e.g. @State) are external macros requiring libSwiftUIMacros, which the compiler could not locate. Derive the SDK from xcrun and re-add the driver-equivalent -external-plugin-path flags for the usr/local and usr lib plugin directories. Older SDKs without libSwiftUIMacros.dylib skip the flags entirely, so pre-macro toolchains keep the previous build line.
Widen RegisterShortcutPages to also compile for __APPLE__, matching the shared native settings adapter. Installation stays gated at runtime by the focus query, ScreenManager dispatcher registration and per-target Mach-O extent checks; layout mode remains Windows-only, so macOS capture is physical and reports platform_unsupported for layout. Capture stores macOS Command as the single generic WIN- modifier: a physical Command key may arrive through both the Windows and Command keycodes, and emitting the prefix from either family produced WIN-WIN. The editor renders stored WIN- bindings as CMD on macOS through a presentation-only token alias; staged tokens, summaries, restore defaults and overlap warnings use it, while input parsing and TOML serialization keep the canonical WIN- spelling on every platform. Docs move macOS into the native settings adapter contract and record that in-game ARM runtime smoke evidence is still pending.
…itor Feature/mac shortcut editor
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.
Adds an in-game shortcut editor under Settings → Mod Settings → Shortcuts, so bindings can be changed without editing TOML.
Actions are grouped by purpose. Players can capture, add, remove or restore bindings, with overlap warnings and an explicit Apply step. The editor preserves alternative bindings, comments and unrelated settings, and rejects stale edits.
Capture cancels on Escape, focus loss or leaving the page. Input remains captured until key release to avoid triggering gameplay actions.
Windows x64 native UI. Depends on #269 and #282.
The shared settings framework and persistence dependencies include macOS support; shortcut capture and editor registration remain Windows-only.
Validation: Windows release build passed. Settings fixtures passed. Mac ARM players confirmed settings, galaxy controls, and persistence on the combined integration build; Intel Mac runtime testing remains unconfirmed. Platform CI for this PR is tracked separately.