Skip to content

fix(macOS): handle Accessibility Keyboard shortcuts - #44

Open
davutac wants to merge 1 commit into
anomalyco:mainfrom
davutac:accessibility-keyboard-activity
Open

fix(macOS): handle Accessibility Keyboard shortcuts#44
davutac wants to merge 1 commit into
anomalyco:mainfrom
davutac:accessibility-keyboard-activity

Conversation

@davutac

@davutac davutac commented Aug 29, 2026

Copy link
Copy Markdown

What changed

  • Listen at the annotated session event tap so macOS Accessibility Keyboard shortcuts reach HEX.
  • Record dictation, Voice Action, and paste hotkey activity in the Activity views.
  • Drop shortcut observations if the event queue is full so diagnostics never delay recording.
  • Add tests for event serialization, queue pressure, and Activity summaries.

Why

Accessibility Keyboard injects key events after the HID event tap HEX previously used. Physical keyboards worked, but the same shortcut sent by Accessibility Keyboard never reached the listener.

Moving the tap fixes that. The new Activity entries make future shortcut problems easier to diagnose.

Testing

  • cargo test --bin voice-control suppression::tests -- --nocapture (30 passed)
  • cargo test --bin voice-control events::tests -- --nocapture (6 passed)
  • cargo test --bin voice-control app_window::tests::activity_summarizes_configured_shortcut_actions -- --exact --nocapture (1 passed)
  • cargo fmt --check
  • git diff --check

@kitlangton

Copy link
Copy Markdown
Collaborator

Thanks for tracing this to the event-tap boundary. I incorporated the annotated-session tap change in #45 and shipped it in Hex 2.1.7, alongside a fix for side-specific modifier matching. I kept the Activity logging additions out of this release.

Could you update through Check for Updates and confirm Accessibility Keyboard hold/release and modifier-plus-key shortcuts work? The Rust suite and native synthetic-event routing checks pass, but I haven't verified the actual Accessibility Keyboard interaction locally.

@davutac

davutac commented Aug 29, 2026

Copy link
Copy Markdown
Author

Thank you. I can confirm this works now

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.

2 participants