What happens on a handover in about one second.
A KVM hands the keyboard over without anything unplugging, which is exactly why the usual tools miss it.
The KVM moves the receiver
The Bolt receiver now belongs to the PC. No device unplugs, so no ordinary change event exists, and the keyboard stays in macOS mode: Command acts as Alt.
logiswitch sees the device arrive
It fires on arrival, the event Logi Options+ ignores, because Options+ only corrects the layout once, when its agent starts.
One HID++ write, 326 ms
setHostPlatform goes back along the same wire to the keyboard itself, so the keycaps' legends match the machine that now has focus.
326 ms
for a platform switch, measured
1.1 s
to correct an Easy-Switch return (MX Keys S, Bolt receiver)
~45 ms
of CPU per 60 s at idle, measured
Why Options+ alone does not fix it and what does.
| Capability | Logi Options+ | Karabiner-Elements | Solaar | logiswitch |
|---|---|---|---|---|
| Switches the keyboard's real layout | yes | no — remaps keys | yes | yes |
| Reacts to a KVM / host change | no | n/a | manual | yes, automatically |
| Windows | yes | no | no | yes |
| macOS | yes | yes | no | yes |
| Runs headless, no account | no | yes | yes | yes |
| Idle CPU | background service | event tap | daemon | ~45 ms / 60 s |
Questions
Does it fight Logi Options+?
No — it writes the same value Options+ would want, on the event Options+ ignores. The two agree rather than compete. The coexistence table above is measured, not assumed; the method and captured frames are in the repo's PROTOCOL.md.
What about Linux?
Not yet. Solaar already covers Linux thoroughly; logiswitch exists because the problem lives on Windows and macOS, where nothing else fires on a KVM handover.
Which keyboards does it support?
Logitech MX Keys and MX Keys S on Bolt or Unifying receivers — keyboards that carry their OS layout in firmware and switch it over the wire.
Can I see it decide?
Yes. Every switch is logged, and the terminal capture above is what a handover looks like in real time.
The KVM hands the keyboard over, and the layout follows it.
No hotkey to remember, and no first line typed in the wrong layout. It watches for the handover and sets the layout to match the machine that just took over.
Get it on GitHubFree · MIT · Windows and macOS
Layout Auto Switcher