Skip to content

Linux -> macOS fixes#385

Merged
feschber merged 2 commits into
feschber:mainfrom
kenichi:linux_to_macos_fix
Feb 22, 2026
Merged

Linux -> macOS fixes#385
feschber merged 2 commits into
feschber:mainfrom
kenichi:linux_to_macos_fix

Conversation

@kenichi
Copy link
Copy Markdown
Contributor

@kenichi kenichi commented Feb 11, 2026

  • address [Linux client + MacOS server] Sticky modifier keys #357 - When handling a KeyboardEvent::Key for a modifier key, emit a CGEventType::FlagsChanged event so macOS updates its system modifier state, rather than relying solely on a KeyboardEvent::Modifiers event that Linux/libei never sends.

@kiwiz
Copy link
Copy Markdown
Contributor

kiwiz commented Feb 11, 2026

Confirming that this fixes macOS for me, thx!

IMO, #347 is preferable over hardcoding the reversal here.

@kenichi
Copy link
Copy Markdown
Contributor Author

kenichi commented Feb 12, 2026

@kiwiz glad to hear it!

i can rebase this to just the modifier keys event commit if there's a better fix for scrolling, whatever works best @feschber

@feschber
Copy link
Copy Markdown
Owner

I don't really have any strong opinions on whether or not we should hard code either scroll direction (when #347 is merged, it ultimately doesn't matter).
However, I'd prefer to have a separate PR for it, if you want it to be included, so this one is only about the modifier event emulation.

@feschber feschber merged commit bcf9c35 into feschber:main Feb 22, 2026
20 checks passed
UberKitten added a commit to UberKitten/lan-mouse that referenced this pull request Mar 25, 2026
…test upstream

Rebased onto current main which includes:
- Fix stuck modifiers (feschber#385)
- remote key-up on triggered release (feschber#371)
- fix inconsistent mouse capture on macOS (feschber#346)
- improve reliability of connections (feschber#349)
- macos: fix modifier capture (feschber#342)
- macos: fix scroll capture (feschber#350)
- and more

Conflicts resolved in lan-mouse-ipc/src/lib.rs and src/service.rs
(same SaveConfiguration variant conflict as original build).
Also re-added #[derive(Clone)] on InputConfig and #[serde(alias = "input")] for config compat.
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