-
I use a software called Synergy.
https://symless.com/synergy
I have one keyboard and mouse connected to one "host" machine, and two machines connected as clients.
Sometimes if the host machine bogs a bit (like running a build or something) then the clients will have some latency but I've used this setup for gaming and work for two years and it's been pretty good.
My only complaint (about my personal setup, not the software) is that one machine has absolutely no peripherals attached to it aside from a monitor, so if I need to update the software, I need to connect a keyboard and mouse in order to do so.
Again, an issue with my setup and a caveat of using software as opposed to hardware.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Synergy is open core, these portions are licensed as GPL: https://github.com/symless/synergy-core/#License-1-ov-file
There is an open source fork that branches off version 1.9: https://github.com/debauchee/barrier#what-is-it
-
This announcement was only added to the README in early October[1]. In the meantime you can of course compile it yourself/grab a build from GH actions. I'm sure they would appreciate the testing, especially leading up to release :-)
[1]: https://github.com/input-leap/input-leap/commit/78ca8f1ef7b6...
-
Now it just need to be combined with something like https://github.com/haimgel/display-switch to do a DDC/CI monitor input switch as the USB activity moves around.
With a device like this you'd be missing the on_usb_connect event, but presumably you could do something (a special HID device button, an extra device id appearing, who knows) to make it work.
-
-
- https://github.com/microsoft/PowerToys
-
Open and cheap DIY IP-KVM based on Raspberry Pi
Open and inexpensive DIY IP-KVM based on Raspberry Pi
-
I recently put something together similar to this, to switch between my personal PopOS/Windows machine and my work Macbook Pro.
I used one of these manual USB switchers, (https://sabrent.com/products/usb-sw30), and connected it's switch to a Raspberry Pi 4B via GPIO (4B is overkill by wanted hardwired network). There's a small separate keyboard (which will later be a macro keypad of some sort), connected to the Pi. Using inputexec (https://github.com/rbarrois/inputexec) to detect keypresses and then firing off a specific script to send a network request to the LG TV I use as a monitor to switch the source, and then set the GPIO connected to the USB switcher to high or low to switch the keyboard/mouse to the other machine.
I can also turn on/off the TV using the same WebOS API (and Wake-on-lan) as used during the source switch. A Kasa smart outlet also gets toggled to turn on/off a BenQ ScreenBar Halo (https://www.benq.com/en-us/lighting/monitor-light.html).
So with 4 different keypresses, I can switch to Work, to Personal, turn off monitor and light, and turn on monitor and light.
-
I make one that I put a lot of effort into documenting:
https://github.com/tiny-pilot/tinypilot
It's pretty easy to extend since it's just Python and vanilla HTML/JS/CSS, so there's not much of a toolchain to install.
You can buy it pre-made for $399 or make a DIY one for under $100.
https://tinypilotkvm.com/blog/build-a-kvm-over-ip-under-100