Skip to content

Fix Remote keyboard shortcut injection - #649

Merged
enaboapps merged 2 commits into
mainfrom
codex/fix-keyboard-shortcuts-647
Aug 24, 2026
Merged

Fix Remote keyboard shortcut injection#649
enaboapps merged 2 commits into
mainfrom
codex/fix-keyboard-shortcuts-647

Conversation

@enaboapps

@enaboapps enaboapps commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • map canonical A-Z and 0-9 protocol keys to physical Windows key events
  • omit modifiers already held by the Remote session from shortcut press and release
  • preserve standalone shortcuts and macOS layout-dependent key handling
  • clean up successfully pressed shortcut keys after partial injection failures

Root cause

Remote already sends the PC's canonical payload, for example keys: ["Ctrl", "A"]. Enigo's Windows conversion kept the Shift-state byte returned for uppercase Unicode characters and treated the combined value as a virtual-key code. PC also replayed Ctrl inside the shortcut even though keyboard.modifierDown already held it.

Validation

  • npm run lint
  • npm test (74 Vitest tests and 5 release-feed tests passed)
  • npm run build
  • cargo fmt --manifest-path src-tauri/Cargo.toml --check
  • cargo clippy --locked --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
  • cargo test --locked --manifest-path src-tauri/Cargo.toml (217 unit tests and 2 config tests passed)
  • npm run tauri build -- --bundles nsis --no-sign
  • Remote src/remote/RemoteSession.test.ts (12 tests passed)

Physical Windows and macOS shortcut checks remain for release validation.

Closes #647

@enaboapps
enaboapps marked this pull request as ready for review August 24, 2026 13:36
@enaboapps
enaboapps merged commit 0f39360 into main Aug 24, 2026
3 checks passed
@enaboapps
enaboapps deleted the codex/fix-keyboard-shortcuts-647 branch August 24, 2026 13:37
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.

Fix Remote keyboard shortcut injection

2 participants