Skip to content

feat(sender): add per-session configurable shortcut bindings#124

Open
tiehfood wants to merge 1 commit into
swellweb:3.2-devfrom
tiehfood:feat/configurable-shortcut-bindings
Open

feat(sender): add per-session configurable shortcut bindings#124
tiehfood wants to merge 1 commit into
swellweb:3.2-devfrom
tiehfood:feat/configurable-shortcut-bindings

Conversation

@tiehfood

Copy link
Copy Markdown

Adds per-session bindings that map a trigger combo pressed on the master to an action combo injected on the slave (direction follows the input role). Edited via a click-to-record UI in the session settings and persisted per session.

The action is injected through in-process System Events (NSAppleScript), because macOS ignores synthetic CGEvents for protected symbolic hotkeys such as Space switching. Triggers must be combos macOS doesn't reserve (e.g. ⌃⌥←, not ⌃←); the action may be any combo.

Notes: UI strings are English-only (rest of app is localized); currently wires the receiverMaster direction. Requires Accessibility + a one-time "control System Events" Automation grant on the sender.

Map a trigger combo pressed on the master to an action combo injected on the
slave (direction follows the input role), edited via a key-recorder UI in the
session settings and persisted per session. The action is injected through
in-process System Events (NSAppleScript), because macOS ignores synthetic
CGEvents for protected symbolic hotkeys such as Space switching.
@swellweb swellweb changed the base branch from main to 3.1-maint June 19, 2026 02:57
@swellweb swellweb changed the base branch from 3.1-maint to main June 19, 2026 02:58
@swellweb swellweb changed the base branch from main to 3.2-dev June 19, 2026 10:31
@swellweb

Copy link
Copy Markdown
Owner

Thanks for the contribution — really appreciated. I retargeted this to 3.2-dev so new feature work can land there while 3.1-maint stays focused on bug-fix releases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants