I solved the multi-computer-to-multi-monitor problem with a Level1Techs KVM[1]. The price (~$500 for the variant I purchased) initially gave me pause, but the longer I've had it, the happier I am with my decision.
It handles all the switching at the hardware level and thus has no perceptible lag for video or anything else. I'm able to connect a single set of peripherals, in my case, two monitors, a keyboard, a trackball, and a USB audio interface, to both my Linux desktop and a CalDigit Thunderbolt dock connected to my laptop. The L1T KVM has hotkeys[2] that let me switch between systems, with only a 1–2 second delay.
The benefit, for me, of this extra box now mounted under my desk is that when I upgrade my monitor, I only care about how good a display it is, not whether there's some perfect confluence of KVM, refresh rate, aspect ratio, display technology, etc. I find the monitor I want and let a separate IO routing layer.
I went down a similar rabbit hole a while back and ended up building something that attacks the same problem from the opposite direction: instead of just a hardware box that switches everything (video + USB), I wrote Fence[1], a software layer that automates switching USB input devices when you glide the mouse to the edge of the screen.
The idea is basically "Synergy's convenience, but with real hardware switching." You run a tiny client on each machine. When your cursor hits the left edge of your desktop, Fence tells a USB and HDMI Switch to physically redirect your keyboard and mouse to the next PC.
The switching happens in hardware and you can design your layout per-direction and per-device.
Where the L1T KVM is the "one box handles video and IO beautifully" approach, Fence is more of an "IO routing layer" that lets you keep your existing monitors and their auto-input-switching (or a separate video path).
I built it specifically to be cross-platform. You don't pass clicks/keystrokes over the network, just a "switch to pc2 PC, left edge" message.
Not a replacement for the L1T if you want one-button video+peripheral switching, but if someone likes their monitor's own input handling and just wants the "mouse to edge" workflow it's a nice middle ground.
I like the fact that moving the mouse to different edges of the screen can show exactly the source to the sink that I want.
I originally built it for live streaming with OBS, but now, I miss it when I have more than one computer I need to deal with at a time.
I found KVMs to be annoying and settled on a USB switch and letting my monitor auto-switch inputs.
My mouse felt laggy under the KVM because of the high polling rate it wanted to use. Some key combinations also got added delay because of the way the KVM listened to shortcuts.
Instead of the $200 KVM a $20 alternative with a dedicated switching button did what I wanted in a much better way. Maybe if you need to switch back and forth more often a KVM would be alright? But at that point I guess dedicated monitors with the USB switch would still be better.
I’m looking for a setup like this. I currently have a simple usb-c splitter that I use to switch my keyboard between the two. I bought a similar one for display ports but it doesn’t work super well, so I ditched it and just manually move the display port from my desktop to my caldigit.
They were both $20. The keyboard one works fine. I’d love to have a kvm like this but the price certainly gets gives me pause when I got halfway there for basically $20-$40.
I would guess that there is an issue when the USB peripherals connect and disconnect as you switch inputs. I don't put USB drives in my KVM because it'll interrupt a transfer if switched.
I did something similar last year with a monitor without built-in KVM but with good DCC support (Ultrasharp U3417W) and Synergy [0].
I use Synergy as part of my desk setup already, but needed a way to view the UI of a normally headless machine. The solution I built was a small shell script that terminated the active Synergy session and started a new one with a different config file (so keyboard/mouse input would map to the normally-headless machine), and fired off a DCC command to the monitor to change its input. The same script ran with a different argument would switch back to the normal display/control configuration. This solution worked pretty well until I was able to retire the headless machine early this year.
I had one of the versions of this monitor and I miss the PIP and two displays half and half, the KVM, it was truly nice.I never had to move any wires. I wish there was one just like it but 120hz and higher brightness that’s not $1.5k
does synergy works better now? 3 years ago, every week I would get into a situations where one machine was not connecting to the other, and I had to randomly restart synergy so maybe it connects. fun to do that 5 min before the meetings.
I loved synergy back in 2005 when it was _actually_ open source! It was probably my first open source contribution! But then it was enshittified and made impossible to build from source in order to support the commercial dreams.
What a great idea. It should be obvious and easy but DDC commands are hard to find and should be documented better.
I have a Dell U4323QE in the office and look forward to trying this out. I wondered if it was the same DDC commands so I googled a little and found this gist (concerning DDM):
Thank you! I hadn't thought of using software to handle monitor switching.. I have a very similar setup but my monitor doesn't support usb upstream so I have a dumb usb hub with a button to switch sources then still have to manually use monitor input change.
You gave me the idea to setup scripts on the windows / macos system to 'react' to hub detach events (which I click the button) and execute cli commands to change the monitor source automatically to the other machine. Too good.
This is the setup I (used to) use. My monitor doesn't do usb switching, so I got a cheap ($15ish?) usb switch (one downstream port (connected to a hub), two upstream ports, and a button to switch between them), and run a script on my desktop to send ddc commands to the monitor to switch inputs when it receives usb attach/detach notifications. No keyboard shortcuts, but one button next to my keyboard switches everything.
: I've since replaced the monitor, and found that the new one doesn't support input switching via ddc, at all. But it does switch if only one input is active, and I rarely use both computers at once, so I cope.
I love this approach, but a few years ago I tried it very unsuccessfully with my Xiaomi Mi 34" ultrawide.
By very unsuccessfully, I mean that the commands to change input didn't work. I can't remember if they did nothing or crashed the monitor, but subsequent investigation led me to realise I was lucky not to brick it, as some people found certain commands cause non-recoverable issues on that monitor!
So, I suggest caution in the form of maybe checking that others have successfully used DDC commands on your particular model.
I have a Dell U3225QE with a built-in KVM and 2 macs.
One connects with Thunderbolt only. The other connects with Display Port for video and USB-C for the rest of the built-in dock.
It's OK most of the time with the nipple switch. My one piece of advice is *avoid HDMI*. I learned after getting this monitor that the HDMI protocol is a petulant unstable little shit that does not tolerate renegotiation well. Get yourself a USB-C to DisplayPort cable.
If you turn one computer display off as in "xrandr --output DVI-D-0 --off", the monitor automatically selects some other computer to display.
Thus I have 2 computers and 3 displays, and I can do sentences like "displays 13", which uses only displays 1 and 3 and sends ssh-command "displays 2" to the other computer.
For macs, if you're signed into the same Apple account on both, you can "share" the same keyboard and mouse across them.
It does tend to be finicky - sometimes it just refuses to connect, and won't tell me why, and sometimes it'll forget the arrangement. And it requires you to be signed into one account on two machines, which some people may not want to do on corporate laptops.
I use two computers displayed side-by-side with the picture-in-picture feature of a single ultra-wide monitor.
Input leap[0] is a great open source KVM software version of the deskhop which allows me to control both computers on the same monitor with the sam peripherals.
I do the same but with a usb-c dongle. For whatever reason my brain needs a hard reset when switching between tasks otherwise my productivity nose dives.
I had a setup like this back in 2000 using VNC, it always used to spin people out when they realised one of my monitors was a SPARCstation and the other was a WinME box. :D
I'm going to have to look into this. I've got two machines using the same monitor (indeed work macbook and home linux). It's a curved 4K Samsung Oddyssey of some sort, and I can either switch through the monitor's menu, or set it to switch to the machine that gave the most recent input. The latter sounds perfect, but unfortunately both options suck. The monitor is incredibly slow to respond to anything: turning on, opening the menu, switching input, whatever. It always takes a couple of seconds, sometimes forgets to turn on at all, and often when I do something on one machine, the other suddenly wakes up, presumably by the monitor. The setup is unpredictable, and I blame the monitor.
Just dropping a note to say I’ve had the same monitor for a year and I absolutely love it. I don’t care about this seamless switching — I just use HDMI1 for Xbox, HDMI2 for my computer, and then swap hobby/work when needed. It’s also good motivation to turn off the work laptop when I’m done with the day.
The monitor is fantastic though. I’ve had no issues yet, knock on wood.
I do something similar with my ThinkPad and Steam Deck connected to different ports, and I change inputs and plug in a controller when I want to play a game then.
^F4::
Run C:\Users\YourNameHere\Documents\AutoHotkey\ControlMyMonitor /SwitchValue Primary 60 17 3
Return
Where the file path is where you've put ControlMyMonitor.exe, "Primary" means the main Windows display, the "60" means input select, and the "17" and "3" are the values you observe in ControlMyMonitor when each display you want to switch between is enabled.
Oh nice! I've been doing this on the Mac side with BetterDisplay, but on the Windows side I couldn't find an equivalent and have had the awful Dell software installed to do it there. This'll let me dump the Dell software! Thanks!
> And there you have it. A KVM solution that doesn’t require an external KVM device to pass inputs through, and a switch that can be triggered using a keyboard alone.
I'll pursue this when "they" decide to get real and make this not suck. Until then, I have sufficient alternatives.
I appreciate the writeup. It convinces me that integrated KVM stuff ~~ except for fewer wires ~~ isn't much better than the mess that's prevailed for years now, and I'm not missing much.
I also have a $900 monitor (provided from work) which is also a built in kvm switch, and it can show two desktops, one HDMI/windows and one usb-c/mac, side by side or as an inset as well. There's no delay switching either.
It is supposed to hot-switch the inputs if I move the mouse to the edge, but it does not, I guess it's because one of them is HDMI.
I used to have a Lenovo dock that I used as a switch, but not anymore and there's definitely less clutter.
Why does video input source switching suck so much?
Back in the old analog CRT days I could forgive the switching latency. With today's all-digital signal paths I feel like video input switching should be pretty close to instant.
Is the technology in a broadcast switcher really so exotic and expensive?
> Is the technology in a broadcast switcher really so exotic and expensive?
No. My characterization of the problem was precision flippancy; the demand for this is niche enough that optimizing for it is a low priority, so "they" simply don't. That failure is stack-wide; the specifications around display negotiation would need extension to manage the additional state necessary for the "agile" KVM use case, and then the hardware+firmware would need to exist and become cheap, somehow despite Imaginary Property laws, so that one could hope to find it in real products.
There is regulatory friction here as well: it would complicate power management. Not infeasibly so, but enough that unless a need appears of such import that it motivates people to dare to disturb that writhing ball of copulating tapeworms, it simply won't happen.
So don't hold your breath. Unless you're relatively young, you won't live to see it. More likely, some other paradigm will obviate the problem first.
Yeah, I read the whole article looking for any meat in there and there is none. I played with different setups as I, too, use both macos and linux. I remember doing a two screen setup where if you move the mouse to the edge of the linux screen, it appears on the macos one.
A two screen setup is not a one screen setup. I have a two screen mouse-edge setup and I was still interested to learn about being able to use a keyboard shortcut to control a monitor with a built-in KVM to switch between two computers on the same screen. That is, in fact, new to me.
No, the worst part of a KVM switch is the video signal switching. You want as few switches in the video signal path as possible and the higher bandwidth you need them to be the more expensive they're going to be. You're already paying for the one in your monitor, so taking advantage of that is the right solution.
IME even high-end KVM switches experience occasional signal interruption or, more often, failure to synchronize at all on output switch.
Why buy a switch when almost all monitors have multiple video inputs and they can switch them internally.
The only difficulty is that as said in TFA, the DDC commands are typically very poorly documented by the monitor manufacturers, so most computer users are not aware of them.
Honestly the best thing that worked for me, even if the hardware is not for everyone, is a Logitech MX Keys that supports 3 devices paired with another Logitech mouse that supports 3 devices, then flip the monitor through the inputs, super reliable. I could even have 2 devices side by side on the same screen (Dell utlrawide) and toggle between them.
Like many in this thread, I have a similar setup. I used to use I separate KVM, which did work but had a lot of cabling.
Eventually, I decided on just a simple USB SPDT switch that I designed [0], a USB hub, and manual input switching on the monitor. Even though it takes two actions instead of one, it's a simpler setup and has been quite reliable for years now.
I am just using RDP from one PC into another presently -- to solve this in a low complexity way. Tried a lot of approaches in the past -- none were reliable for me.
Yeah, this all sounds good in theory, but there's a lot of edge cases. For example, for me switching between Mac and Linux what often happens is that Linux just for some reason the it turns off the monitor port and it's black until I reboot and there was no easy way to get it back. This is while using fancy Dell monitors built-in KVM. Ultimately, I have settled on remote desktops as a more viable and quicker option.
I'm using Apple Studio Displays and have been on the lookout for a solution like this for quite a while. My grail is a Thunderbolt KVM; there are a couple on the market, but they cost a fortune and have terrible reviews. I guess the use case is so narrow that nobody is investing in it.
An alternative could be a good 5K/6K monitor with a KVM, but this is a unicorn as well...
> An alternative could be a good 5K/6K monitor with a KVM, but this is a unicorn as well...
I use a Dell U3224KB (32" 6K) in this way. Thunderbolt (usbc) is connected to a Macbook Pro and DP & regular usb c is connected to Windows gaming machine. Works perfectly. And yes, the U3224KB is pretty ugly, but I've grown to love it's features.
Its amazing to me how annoying these problems can be and there's no real one size fits all solution. I have a desktop PC and macbook, and two monitors. I use a KVM and also switch inputs on the monitors themselves.
I tried very unsuccessfully to do something with DDC/CI when the KVM would switch between systems. The idea being when the OS detect the presence of the keyboard/mouse because the KVM had switched to them they'd send a change source command but DDC/CI is such a disaster in terms of support.
We need someone like Framework to make a "monitor for hackers" that actually has robust, well documented, DDC/CI support and I'd be all over it.
> We need someone like Framework to make a "monitor for hackers" that actually has robust, well documented, DDC/CI support and I'd be all over it.
No, no, no. They need to modify their laptops so I can use the laptop's monitor and keyboard with e.g. a RPi without networking. Using the laptop IO for headless computers flipping a switch, or better ad-hoc streaming into some virtual environment would be such a win!
I gave up on a hardware solution to this and currently just use Screen Sharing to "remote" into my personal machine from my work machine, which I guess only works because they're both macs, although VNC probably solves this in a cross platform way. I have an Apple studio monitor so built-in KVM isn't possible, although maybe there's a jailbreak for it since it has its own processor and firmware? I still just vastly prefer the quality of Apple displays so I optimize for that first.
Also, OT but I have the same keyboard as OP and love it :) I want to hack a TouchID key from the Magic Keyboard I bought into the chassis. But it can't traverse the Screen Sharing hack, so I do still think about this from time to time.
Not really, unfortunately, even on wired LAN latency is noticeable, but I'm just editing code so it's at least doable. Resolution isn't bad. I wouldn't recommend it for graphic work or gaming. The only benefit that isn't degraded is the nanotexture on the studio montor, haha.
It never occurred to me that you can send commands across DDC to your monitor. Binding that to a key on the keyboard in different OSs to trigger the monitor's built in KVM is a nice touch. I only change between my computers a couple times a day else I'd be setting this up this evening
I have my Windows gaming rig in a rack at home, and run Apollo [1] on it. Using that, I can game on any Apple TV (with an Xbox controller) or the MacBook (connected to a display/keyboard/mouse) anywhere in my home. With wired networking 60fps at 4K is no problem at all.
This would be easy to set up the other way around, too: having a gaming rig on your desk with Moonlight, and running Linux on another machine somewhere in the network with Apollo to host the development setup.
No KVM (or KVM-equipped monitor) or other special hardware needed.
I have a Samsung Ultrawide monitor. It allows for two simultaneous video input displayed on the screen at once, in either 50/50 or 66/33 split. Combined with Barrier for mouse-keyboard switching and keyboard integration and I can use both devices simultaneously on the same monitor, almost as though they were a single device.
This is great. The Holy Grail of work/personal computing setups IMO. Too bad it’s so expensive.
I wish a KVM switch was a standard component of normal priced monitors these days. Especially one that also routed through all your peripherals, speakers, and everything.
Most people are unaware that the should buy a monitor with USB and DP-Alt mode. The same people are also unaware that they should ensure the same for the laptop they are buying.
Lower prices are always nice. But such things can be found at reasonable prices. I think awareness is a larger problem.
I am happy enough with the built-in speakers. But I do agree that line level aux out on the back would be nice.
I have a couple of Eizo EV3285, which have enough separate physical inputs for the 3 machines I use to drive them. Only real PITA is having to press the input selector on both. Must admit I wasn't even aware of DDC!
I use 2 computers without a KVM. My keyboard, mouse, and soundbar all support Bluetooth. All wired to the PC by default. When I switch to the Mac, I just flip each device to Bluetooth mode.
I have a similar setup for my MBP + Windows Desktop. I ended up using a simple USB switcher for all the devices and just running two inputs and manually switching between screen inputs. One button press for USB switch, one source switch on monitor. If I need something from the other computer during the use, I just remote in.
I have a few boxes that I switch between, but for some software it's nicer that my "main machine" be on DVI, and everything else HDMI. I may have to look at some scripting option where if the keyboard / mouse disappear (KVM switched away) change the display to use the HDMI input.
I do worry that would just add more trouble / race conditions / issues around this stuff. I feel like nvidia + linux + monitors doing anything other than staying on + attached all the time causes some headaches.
This is awesome. I chose my monitor among others because of the built in KVM switch. I always found it annoying that I had to use the navigation nipple to switch inputs. This is now in the past.
If someone wants to know I have an MSI MPG 491C QD-OLED.
FYI that if you have the right kind of Dell monitor, you can download their Display Manager software to do the same thing (and more): https://www.dell.com/en-us/lp/ddpm
back in the '00s i used a hardware kvm that could be controlled by the keyboard with some weird key combo (~ ~ (1|2)? maybe?). these days i strongly prefer deskflow (oss version of synergy) for this sort of thing or just ordinary remote desktop for the secondary. (depends on the task, if you're just building for the secondary or reading email it doesn't really matter- but if you're developing interactive applications or you need to reboot a bunch or something, then having the physical hardware with a local head can help).
Where I worked in the 00s, they had rack mountable kvm. The clients were just a small box with utp and the peripherals. A double press on ctrl opened a menu and you could choose a server. Neat.
it was embedded/client land for embedded systems that were connected to tvs (had one of those on my desk too). i had a primary windows dev box for wrs tornado and e-mail and then a linux box for ci dev and build/release infra. the kvm also allowed me to switch to whatever engineering sample hw i had on my desk. fun times!
For monitors with DisplayPort over USB-C, yes. The most common machine on the other end of that cable tends to be a MacBook, and nobody wants to run 2x usb-c cables from their MacBook to their monitor.
You can do this with even less fiddling just by getting a KVM that supports video. There are reasonably priced ones that can even do 4K 60Hz. This also means you don't have to deal with monitors that don't implement input switching via DDC/CI (thanks LG).
I did that at home. But I needed to try several KVMs until I found one which was stable. And I hate all the cables.
I agree that the industry hates its consumers and likes to mess things up. CEC never always quite the same. Not supported on many GPUs etc.
I do not want to appear to condone LG. But actually (sorry!) some supoort[0] it using DDC side channels (0x50 rather that 0x51). But I agree it is painful. Yet I prefer it over my cable spaghetti.
it's much more reasonable and trivial on lower quality monitors but if one of the two PCs is for gaming you're going to want 4k at at least 120Hz which, last I checked, didn't exist (or was very expensive). You also might have a hard time finding one that takes DisplayPort in, which is preferable for Linux.
Personally I just run the USB devices into a $5 USB A/B switch and manually change the inputs on the monitor.
I've got one (MA270S) hooked to a MBP (recommended, if you don't want to spend the dosh on an Apple display), but I haven't yet dug out another Mac to test the KVM. Considering that it's a $900 monitor, like the one in TFA, it damned well better work as advertised.
It handles all the switching at the hardware level and thus has no perceptible lag for video or anything else. I'm able to connect a single set of peripherals, in my case, two monitors, a keyboard, a trackball, and a USB audio interface, to both my Linux desktop and a CalDigit Thunderbolt dock connected to my laptop. The L1T KVM has hotkeys[2] that let me switch between systems, with only a 1–2 second delay.
The benefit, for me, of this extra box now mounted under my desk is that when I upgrade my monitor, I only care about how good a display it is, not whether there's some perfect confluence of KVM, refresh rate, aspect ratio, display technology, etc. I find the monitor I want and let a separate IO routing layer.
--
[1]: https://www.store.level1techs.com/products/p/14-kvm-switch-d...
[2]: https://forum.level1techs.com/t/official-l1techs-kvm-faq-ult...
The idea is basically "Synergy's convenience, but with real hardware switching." You run a tiny client on each machine. When your cursor hits the left edge of your desktop, Fence tells a USB and HDMI Switch to physically redirect your keyboard and mouse to the next PC.
The switching happens in hardware and you can design your layout per-direction and per-device.
Where the L1T KVM is the "one box handles video and IO beautifully" approach, Fence is more of an "IO routing layer" that lets you keep your existing monitors and their auto-input-switching (or a separate video path).
I built it specifically to be cross-platform. You don't pass clicks/keystrokes over the network, just a "switch to pc2 PC, left edge" message.
Not a replacement for the L1T if you want one-button video+peripheral switching, but if someone likes their monitor's own input handling and just wants the "mouse to edge" workflow it's a nice middle ground.
I like the fact that moving the mouse to different edges of the screen can show exactly the source to the sink that I want.
I originally built it for live streaming with OBS, but now, I miss it when I have more than one computer I need to deal with at a time.
[1] https://github.com/timgws/kvm-switch
My mouse felt laggy under the KVM because of the high polling rate it wanted to use. Some key combinations also got added delay because of the way the KVM listened to shortcuts.
Instead of the $200 KVM a $20 alternative with a dedicated switching button did what I wanted in a much better way. Maybe if you need to switch back and forth more often a KVM would be alright? But at that point I guess dedicated monitors with the USB switch would still be better.
I use mechanical USB switches to individually switch USB lines like this:
https://www.amazon.com/dp/B01I0Y3GEE
one for keyboard, one for mouse
Problems it avoids
- cable speed usb
- no extra latency
- using boot-up hold-key-down sequences on macos works fine
- keyboard doesn't get hung in weird states
- no hotkey conflicts
- no mouse gets in weird state on one system that persists to another
etc etc etc
They were both $20. The keyboard one works fine. I’d love to have a kvm like this but the price certainly gets gives me pause when I got halfway there for basically $20-$40.
I use Synergy as part of my desk setup already, but needed a way to view the UI of a normally headless machine. The solution I built was a small shell script that terminated the active Synergy session and started a new one with a different config file (so keyboard/mouse input would map to the normally-headless machine), and fired off a DCC command to the monitor to change its input. The same script ran with a different argument would switch back to the normal display/control configuration. This solution worked pretty well until I was able to retire the headless machine early this year.
[0] https://symless.com/synergy
I also recommend checking out the open source fork of Synergy, which is also compatible with Synergy clients https://github.com/deskflow/deskflow
I have a Dell U4323QE in the office and look forward to trying this out. I wondered if it was the same DDC commands so I googled a little and found this gist (concerning DDM):
https://gist.github.com/nebriv/cb934a3b702346c5988f2aba5ee39...
Which has the very useful comment:
https://gist.github.com/nebriv/cb934a3b702346c5988f2aba5ee39...
Which states:
#define LUMINANCE 0x10 #define CONTRAST 0x12 #define VOLUME 0x62 #define MUTE 0x8D #define PBP 0xE9 #define SWAP_USB 0xE7 #define SWAP_INPUT 0xE5 #define INPUT 0x60 #define SUB_INPUT 0xE8 #define INPUT_ALT 0xF4 // alternate address, used for LG exclusively? #define STANDBY 0xD6
I much prefer simple DDC commands over using something like Synergy or Barrier. I think it is a much cleaner solution.
You gave me the idea to setup scripts on the windows / macos system to 'react' to hub detach events (which I click the button) and execute cli commands to change the monitor source automatically to the other machine. Too good.
: I've since replaced the monitor, and found that the new one doesn't support input switching via ddc, at all. But it does switch if only one input is active, and I rarely use both computers at once, so I cope.
By very unsuccessfully, I mean that the commands to change input didn't work. I can't remember if they did nothing or crashed the monitor, but subsequent investigation led me to realise I was lucky not to brick it, as some people found certain commands cause non-recoverable issues on that monitor!
So, I suggest caution in the form of maybe checking that others have successfully used DDC commands on your particular model.
https://github.com/rockowitz/ddcutil/issues/153
One connects with Thunderbolt only. The other connects with Display Port for video and USB-C for the rest of the built-in dock.
It's OK most of the time with the nipple switch. My one piece of advice is *avoid HDMI*. I learned after getting this monitor that the HDMI protocol is a petulant unstable little shit that does not tolerate renegotiation well. Get yourself a USB-C to DisplayPort cable.
Thus I have 2 computers and 3 displays, and I can do sentences like "displays 13", which uses only displays 1 and 3 and sends ssh-command "displays 2" to the other computer.
Deskhop has been a lifesaver https://github.com/hrvach/deskhop
It does tend to be finicky - sometimes it just refuses to connect, and won't tell me why, and sometimes it'll forget the arrangement. And it requires you to be signed into one account on two machines, which some people may not want to do on corporate laptops.
Input leap[0] is a great open source KVM software version of the deskhop which allows me to control both computers on the same monitor with the sam peripherals.
[0]https://github.com/input-leap/input-leap
The monitor is fantastic though. I’ve had no issues yet, knock on wood.
You can add this .ahk script to run at startup:
Where the file path is where you've put ControlMyMonitor.exe, "Primary" means the main Windows display, the "60" means input select, and the "17" and "3" are the values you observe in ControlMyMonitor when each display you want to switch between is enabled.You can now press Ctrl+F4 to toggle inputs.
https://github.com/fiddyschmitt/SimpleKVM
> And there you have it. A KVM solution that doesn’t require an external KVM device to pass inputs through, and a switch that can be triggered using a keyboard alone.
It's supported by the relatively old HDMI 2.1/DisplayPort 1.4 standards - it shouldn't be that hard to find a KVM that can do this.
I'll pursue this when "they" decide to get real and make this not suck. Until then, I have sufficient alternatives.
I appreciate the writeup. It convinces me that integrated KVM stuff ~~ except for fewer wires ~~ isn't much better than the mess that's prevailed for years now, and I'm not missing much.
It is supposed to hot-switch the inputs if I move the mouse to the edge, but it does not, I guess it's because one of them is HDMI.
I used to have a Lenovo dock that I used as a switch, but not anymore and there's definitely less clutter.
Why does video input source switching suck so much?
Back in the old analog CRT days I could forgive the switching latency. With today's all-digital signal paths I feel like video input switching should be pretty close to instant.
Is the technology in a broadcast switcher really so exotic and expensive?
No. My characterization of the problem was precision flippancy; the demand for this is niche enough that optimizing for it is a low priority, so "they" simply don't. That failure is stack-wide; the specifications around display negotiation would need extension to manage the additional state necessary for the "agile" KVM use case, and then the hardware+firmware would need to exist and become cheap, somehow despite Imaginary Property laws, so that one could hope to find it in real products.
There is regulatory friction here as well: it would complicate power management. Not infeasibly so, but enough that unless a need appears of such import that it motivates people to dare to disturb that writhing ball of copulating tapeworms, it simply won't happen.
So don't hold your breath. Unless you're relatively young, you won't live to see it. More likely, some other paradigm will obviate the problem first.
I guess everything old is new again?
IME even high-end KVM switches experience occasional signal interruption or, more often, failure to synchronize at all on output switch.
Do what OP did.
The only difficulty is that as said in TFA, the DDC commands are typically very poorly documented by the monitor manufacturers, so most computer users are not aware of them.
Eventually, I decided on just a simple USB SPDT switch that I designed [0], a USB hub, and manual input switching on the monitor. Even though it takes two actions instead of one, it's a simpler setup and has been quite reliable for years now.
[0] https://shielddigitaldesign.com/posts/2021/susb/
As others have mentioned, you can use a cheap USB switch if you don't have an in-built KVM.
DDC/CI is quite interesting. Most OEMs seem to implement it just fine. But some (like LG) need special handling.
An alternative could be a good 5K/6K monitor with a KVM, but this is a unicorn as well...
I use a Dell U3224KB (32" 6K) in this way. Thunderbolt (usbc) is connected to a Macbook Pro and DP & regular usb c is connected to Windows gaming machine. Works perfectly. And yes, the U3224KB is pretty ugly, but I've grown to love it's features.
I tried very unsuccessfully to do something with DDC/CI when the KVM would switch between systems. The idea being when the OS detect the presence of the keyboard/mouse because the KVM had switched to them they'd send a change source command but DDC/CI is such a disaster in terms of support.
We need someone like Framework to make a "monitor for hackers" that actually has robust, well documented, DDC/CI support and I'd be all over it.
No, no, no. They need to modify their laptops so I can use the laptop's monitor and keyboard with e.g. a RPi without networking. Using the laptop IO for headless computers flipping a switch, or better ad-hoc streaming into some virtual environment would be such a win!
Also, OT but I have the same keyboard as OP and love it :) I want to hack a TouchID key from the Magic Keyboard I bought into the chassis. But it can't traverse the Screen Sharing hack, so I do still think about this from time to time.
https://moshen.net/posts/virtual_kvm/
This would be easy to set up the other way around, too: having a gaming rig on your desk with Moonlight, and running Linux on another machine somewhere in the network with Apollo to host the development setup.
No KVM (or KVM-equipped monitor) or other special hardware needed.
1: https://github.com/ClassicOldSong/Apollo
I wish a KVM switch was a standard component of normal priced monitors these days. Especially one that also routed through all your peripherals, speakers, and everything.
The monitor with the specs I wanted was $201[2]
[1]: https://prod.danawa.com/info/?pcode=29877128
[2]: https://prod.danawa.com/info/?pcode=74545976
Lower prices are always nice. But such things can be found at reasonable prices. I think awareness is a larger problem.
I am happy enough with the built-in speakers. But I do agree that line level aux out on the back would be nice.
https://www.displayspecifications.com/en/model/f86e3770
https://www.displayspecifications.com/en/model/49bc3e67
I just have the monitors auto-switch on (lack of) input when I put one machine to sleep. The single click buttons on the monitor also switch.
https://github.com/fiddyschmitt/SimpleKVM
I do worry that would just add more trouble / race conditions / issues around this stuff. I feel like nvidia + linux + monitors doing anything other than staying on + attached all the time causes some headaches.
If someone wants to know I have an MSI MPG 491C QD-OLED.
m1ddc works fine on my Mac, but why isn't there a single multiplatform cli tool that can be ran on Mac/Linux/Windows?
I need a Windows one for this to be useful for me.
https://github.com/fiddyschmitt/SimpleKVM
If you only have two computers, you just need one instance of SimpleKVM to switch between the computers.
Level1Techs are the best but also cost double or triple.
https://www.crowdsupply.com/techxartisan/openterface-mini-kv...
I agree that the industry hates its consumers and likes to mess things up. CEC never always quite the same. Not supported on many GPUs etc.
I do not want to appear to condone LG. But actually (sorry!) some supoort[0] it using DDC side channels (0x50 rather that 0x51). But I agree it is painful. Yet I prefer it over my cable spaghetti.
[0] https://github.com/rockowitz/ddcutil/wiki/Switching-input-so...
Personally I just run the USB devices into a $5 USB A/B switch and manually change the inputs on the monitor.
https://www.benq.com/en-us/monitor/home/ma270s.html
https://www.benq.com/en-us/knowledge-center/knowledge/one-se...
I've got one (MA270S) hooked to a MBP (recommended, if you don't want to spend the dosh on an Apple display), but I haven't yet dug out another Mac to test the KVM. Considering that it's a $900 monitor, like the one in TFA, it damned well better work as advertised.