TLDR: Instead of a full KVM, buy a good USB switch and use the monitor’s own switching capabilities. Slightly more button presses but much less to go wrong. Optionally enhance with auto-switching your existing display.
Generally for my at-home remote working setup I have just used a single MacBook, connected to a decent display, keyboard and mouse, for both work and personal computing. While this is convenient, it has often been a bit awkward to remember to silence notifications at the right time to avoid personal messages popping up during calls and pairing sessions.
At my current place of work, the provided work machine is 100% for work–it isn’t even possible to sign in with your Apple ID except for Apple Music. While this is definitely inconvenient I’m finding that I like the separation of work and personal computing—I can finally update the OS on my personal laptop without worrying that I’ll be prevented from getting my work done the following day.
The problem then is how to share the peripherals between the machines. I had expected that this would be simple, but a quick look at reviews for various solutions suggested otherwise. Another complication was that I’d be sharing between a 2021 M1 MacBook and an older 2015 model, and I was considering getting a new monitor which may or may not have connections to serve both.
As it ended up being a lot of work to research available devices and decide on and test a setup that would work well and without any noticeable latency I thought I would share this information in case it is helpful to others.
Finding a device which didn’t have reviews which caused me to hesitate was tricky. My work machine shipped with a USB-C dongle from Startech which has been flawlessly providing HDMI out, ethernet, USB-A and USB-C pass through. Impressed with this and the reviews also, I went for this USB switch also from Startech.
There are many cheaper options, but none that I could find that did not have some apparent drawback for someone (including broken devices due to incorrect power management in some cases).
I switch machines infrequently (generally only when weekends come and go) so this setup works well for me, and I appreciate that all the connected devices (keyboard, webcam, headset) are all switching perfectly.
There is open source software available that can listen for the USB events related to the switch and send a signal to the screen to switch input. I haven’t tried this as I don’t feel the investment in getting it set up would pay off, but if you switch more often then it could be worth looking at 1.