Skip to content

feat: v3.1.0 — focus restoration + xeneon-hotkey tool#1

Open
ameet-rajababa wants to merge 2 commits into
ymlaine:mainfrom
ameet-rajababa:feat/v3.1-focus-restore-and-xeneon-hotkey
Open

feat: v3.1.0 — focus restoration + xeneon-hotkey tool#1
ameet-rajababa wants to merge 2 commits into
ymlaine:mainfrom
ameet-rajababa:feat/v3.1-focus-restore-and-xeneon-hotkey

Conversation

@ameet-rajababa

Copy link
Copy Markdown

Summary

  • Re-activate previously focused app after injecting touch click, so Stream Deck hotkey actions deliver keystrokes to the correct window instead of the Xeneon Edge's Electron surface
  • Add xeneon-hotkey companion tool (renamed from cgevent-key) for sending keystrokes via CGEvent, used by Stream Deck button actions

Test plan

  • Tap Stream Deck button on Xeneon Edge → verify keystroke lands in the previously focused app (not Stream Deck)
  • Run ./xeneon-hotkey v command → verify ⌘V paste works
  • Verify cursor returns to original position after touch click

ameet-rajababa and others added 2 commits March 14, 2026 21:29
….0.0)

The core fix: injectDrag now checks suppressCursorEvents and skips
during the 300ms post-click window. Previously, even a brief tap
generated HID coordinate-update events that called injectDrag, which
warped the cursor to the touch position without warping it back —
overriding the warp-back from injectClick.

Additional changes:
- Widen event tap mask to suppress leftMouseDragged, rightMouseDragged,
  and otherMouseDragged (was mouseMoved only)
- Increase suppression window from 150ms to 300ms
- Translate all logs and comments from French to English
- install.sh/uninstall.sh: use launchctl bootstrap/bootout (macOS Tahoe)
- Plist: add LimitLoadToSessionType + ProcessType for GUI session

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Re-activate previously focused app after injecting click so Stream Deck
  hotkey actions deliver keystrokes to the correct window
- Add xeneon-hotkey companion tool (renamed from cgevent-key) for sending
  keystrokes via CGEvent, used by Stream Deck actions on the Xeneon Edge

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant