switchr seamlessly moves an MX Master 4 to the host selected on an MX Keys Mini for Mac.
- Logitech MX Keys Mini for Mac, Bluetooth product ID
0xB36A - Logitech MX Master 4, Bluetooth product ID
0xB042 - macOS 13 or newer
- Swift 6.2 or a compatible newer Swift toolchain
Both devices must be paired to the same computers on matching Easy-Switch slot numbers. Selecting keyboard slot 2 sends the mouse to its slot 2.
Bluetooth permission is required.
switchrconnects to the keyboard and mouse through Bluetooth.- It listens for Logitech HID++ Easy-Switch notifications from the keyboard.
- When a host key is pressed, it reads the selected slot from the notification.
- It sends the same host slot to the mouse through Logitech HID++.
- Both devices connect to the selected computer.
- When the devices return,
switchrreconnects and resumes listening automatically.
Run every command from the project directory.
sh build.shThe executable is created at:
.build/release/switchr
sh grant-permission.shEnable switchr under Privacy & Security → Bluetooth when System Settings opens.
sh install.shThis installs and starts the LaunchAgent. It starts automatically when you log in.
sh logs.shExpected readiness lines include:
Bluetooth state=5 authorization=3
keyboard ready pid=0xB36A
keyboard notifications enabled
mouse ready pid=0xB042
Press an Easy-Switch key. A successful switch logs:
keyboard switching from host 1 to host 2
mouse switch command sent for host 2
Stop following logs with Ctrl+C.
Repeat this setup on every Mac from which the keyboard should initiate a synchronized switch.
launchctl print "gui/$UID/dev.switchr.agent"The log is stored at ~/Library/Logs/switchr.log.
Source changes require a rebuild:
sh uninstall.sh
sh build.sh
sh grant-permission.sh
sh install.shAfter rebuilding, confirm Bluetooth permission is enabled and the logs show authorization=3.
sh uninstall.shThis stops and removes the LaunchAgent.
- No
switchrentry in Bluetooth settings: runsh build.sh, thensh grant-permission.shagain. authorizationis not3: enableswitchrin Privacy & Security → Bluetooth.mouse unavailable: ensure the mouse is connected to this Mac and Logi Options+ can see it.- Keyboard is ready but no switch is detected: confirm the keyboard is the supported MX Keys Mini for Mac and disable competing Easy-Switch relay utilities.
- Mouse moves to the wrong computer: pair keyboard and mouse hosts to matching slot numbers.
- Project was moved: run
sh uninstall.sh, thensh install.shfrom the new stable path.