Barrier: Share mouse and keyboard between computers
github.com
github.com
The name is still barrier though, has anyone more info about this fork?
personally I am waiting for them to cut a stable release and then try it out.
sigh. The aristocrats!
If you want to share a mouse with an OS older than a decade or so you'll still have to use the original Synergy 1.x. It works on both old machines/OSes (all the way back to the 90s) and on the very newest released OSes. Given that, I don't really see a need for barrier or input leap. They're kind of niche, but it's nice someone's keeping the codebase going.
Basically the only reason to use newer forks of synergy is if you have an abnormally high DPI screen in your span.
Like any MacBook Pro post 2015?
Thanks for linking this project, I wouldn't have seen it otherwise. Will be giving this a try this afternoon.
Now it's forked again?! I don't know what, but this smells like something bad.
I suspect DRM or patents for rent seekers are involved somehow. Or maybe they're playing on the naivety of the business community towards this stuff. I'd sure like to know, and also if there are any low-cost or open source KVMs available.
For any high-bandwidth thing like HDMI, you need to do clock recovery and copy over the bitstream at the very least. You can't just use relays or whatever. Doing this at 10gbps+ is going to cost a bit.
Of course then Windows gets confused by the lack of monitor and rearranges all the windows, so it's not a perfect solution.
The computers would see the HDMI cable/USB cords unplugging and re-plugging.
Obviously this can be problematic, but I can't see it being that expensive.
a) the display will flip out and spend multiple seconds re-syncing itself, and
b) the sources may take actions such as resizing the desktop, switching to the internal display, pausing the game, whatever.
Part of the point of a hardware KVM is that it negotiates its own connection to all of the devices involved, and only changes which signals are passed through at any given moment, resulting in instantaneous switchovers.
Now, a multi-input monitor can also do this, but then you have to deal with whatever compat issues are involved in commanding it to switch over DDC (see for example https://github.com/haimgel/display-switch), and it typically also won't be as fast as a hardware solution since input switching speed isn't a metric most people care about when monitor shopping.
It has like... 4? different physical layers running at different speeds and all sorts of other weirdness.
Who has 2 computers? People who can afford them.
If you look up the prices of stand alone hdmi switches on amazon though I think the most likely explanation is these are now niche products so the price has gone up. Logically a decent vga USB KVM + an HDMI switch shouldn't require more cost than those two devices prices together.
Some of the reviews suggest it acts as a pretty brain dead switch, which may cause problems with the OS. I know for a while I had a Windows 10 PC's monitor on a remote switch for silly reasons. I had to make sure to lock the PC before the monitor would turn off, otherwise some combination of driver/os/whatever would treat the disappearance of the monitor as a resolution change, and all my windows would get squished into 640x480. I could see KVMs like this triggering the same sort of madness.
I dunno, I started thinking of it like switching from one game server to another, if you (somehow) do it in the middle of a game, stuff is bound to explode.
Logitech has a keyboard that perfectly connects to 3 devices (unifying and/or BT) but they don't have a mouse that follows the keyboard and their mouse oriented work-arounds for that are garbage.
The only bug I experienced was that the Barrier client would infinitely connect until you set up where that client "is" (as above) on the server. This is a pretty well-known issue at this point, but it would be nice if Barrier would say a bit more about errors (instead of being stuck on "Barrier is starting..."). There's a Show Log button in the File menu though which is nice.
I ask because the best use I had for Synergy was around 20 years ago: one Linux desktop (my daily driver) and other ones for non Linux applications (or ones I didn't want to pollute my system with).
Over the years I've used it for Outlook (connecting to Exchange), Lotus Notes, Xcode, Adobe tools, etc.
On the Photon at least, emulating a keyboard and mouse is incredibly easy and is baked into the firmware, but implementing the Barrier protocol so that it can appear as a client on the network and pass on the keyboard/mouse input seems like it's going to take some effort.
[1] https://docs.particle.io/photon/ [2] https://beagleboard.org/black
I remember remote controlling an OS that needed me to install absolute touchscreen drivers to work best (probably a VM, but maybe Synergy drivers??)
[1] https://docs.particle.io/reference/device-os/firmware/#movet...
There's a rewarding UX that can be made by switching the touchscreen to relative instead of absolute, you get more fine grained control.
https://qemu-stsquad.readthedocs.io/en/doc-updates/system/us...
Personally I've had the same need (shared keyboard and mouse) and same requirement (work policy preventing additional software) for many years now so have resorted to using a KM switch (no V) bought off eBay.
If you look up "KM switch", the first thing you'll notice is that most search engines will automatically assume you meant "KVM switch" instead. This is what I believe contributes to the highly niche market and niche prices for KM switches. Anything under $100 is rare, hence used ones on eBay being the better option.
It should be possible to have a series of Atmel 32u4 microcontrollers acting as a keyboard/mouse devices controlled by a single host device over I2C. The problem is that people with the skills and people with the motivation haven't overlapped in a significant way.
Yeah... I, uh, have the skills (and I'm guessing you do too), but I don't see the point of the product. But you're right, a KM switch could be made very inexpensively. Could also be made modular, and wireless (for people who are into that thing).
You don't even need heterogeneous nodes, I think. All the nodes could be the same -- an RP2040 (now my favorite microcontroller for personal projects) can handle being a USB device, and host. The nodes could connect to each other through a daisy chained i2c, with another layer above for autoconfig.
What would be a price people would pay for such a thing? Say, 1 control node and 3 client nodes (allowing you to control 4 computers with 1 keyboard and mouse)? You say under $100 is rare?
If so, neat idea, and I've done stuff like that before. You can even have the client appliances be configuration free -- they announce themselves to the network and the server pushes out after pairing.
Interesting and fun to build, but I don't quite see the use of such a thing. It would still require running the barrier server on your laptop. I'd try to possibly go a different direction: A cheap device (RP2040 based?) that sits in between an external keyboard and your laptop. Other copies of the same hardware plug into the usb ports of other computers you'd wish to control.
I really wish my 49" Samsung Odyssey G9 supported DDC over DisplayPort, so I could also switch my monitor input via software, and essentially have a KVM without buying any additional hardware.
A major consideration for me is avoiding introducing any extra input latency between my input/output devices and my personal desktop, since I use it for gaming. I'm okay with trading off additional latency when controlling my work laptop in exchange for lower latency on my main desktop. That said, I may end up using my BeagleBone rather than my Photon, since it has an ethernet port, and running Linux may prove advantageous.
Basically manual static acceleration for those that hate automatic smooth acceleration but want to occasional move fast easily.
Alternatively if you're lucky enough to have reasonably steady hands you'd be surprised what you can get used to as a default static speed. My multi-monitor setup is over 70 inches horizontally but I can get across it in a flick or still move pixel by pixel if I want.
I used to use Synergy all the time before the computer got so powerful that I didn't need multiple computers to drive all the monitors and run things in VMs
It's a fork of an older version of Synergy before they changed their license.
One of the alternatives is what I use currently - Microsoft Garage Mouse Without Borders ( https://www.microsoft.com/en-us/download/details.aspx?id=354... ) which suites my needs.
ps. using 5GHz wifi significantly reduces mouse latency.
I was a big user of synergy 1 and was quite disappointed by the takeover that led to the current partially proprietary Synergy.
It was a slide, first "let's have a binary builds for paying users to fund the project" then "let's have important features only for paid users with a license code needed", then the guys goal was to create and develop a company, hiring dev and assistants... The original spirit was lost.
This annoyed me a lot based on the fact that it was not the original developer of Synergy.
So, for long time I was thinking of doing a fork. And so, I'm very grateful that some people did it and had the courage to continue it.
Modern HDMI KVM hardware switches seem rather expensive; anyone found a good way to "switch" the monitors as well as keyboard and mouse?
One (expensive) example: https://www.dell.com/en-us/shop/dell-ultrasharp-30-usb-c-hub...
[1] https://www.nirsoft.net/utils/control_my_monitor.html [2] https://superuser.com/a/1556618/299215
There is also a utility that watches for usb device change events on a cheap USB keyboard/mouse (no video) switcher that does the video automatically, but I had it lock up the usb stack on my Linux machine and never really got it to work reliably enough.
I use one of the cheap usb KM switches and changing the input on the monitor manually. Still kind of sucks, but better than nothing.
This allows me to extend my active desktop to two monitors, or show a different machine on the secondary monitor. I also use barrier for this two host configuration.
This is a nice tool but not yet production ready.
I have keychron k1 keyboard and an mx master mouse. Keychron is currently connected to the USB hub due to led lights, latency. But the keyboard has a battery and can work off of bluetooth. Mouse is connected through the tiny dongle that comes with logitech mouses. Both Keyboard and Mouse claim to work off Bluetooth. Can I use this program to share the keyboard and mouse between the two macbooks? Or is using Bluetooth or a kvm switch a better option?
MacBook Pro (2016 and later) MacBook (2016 and later) MacBook Air (2018 and later) iMac (2017 and later) iMac (5K Retina 27-inch, Late 2015) iMac Pro, Mac mini (2018 and later) Mac Pro (2019)
All iPad Pros iPad Air (3rd generation and later) iPad (6th generation and later) iPad mini (5th generation and later)
I find myself wanting to copy screenshots between the two constantly, and if you have two monitors stacked vertically, I can pick the bottom monitor to be the edge monitor to go to my other computer.
I wish barrier devs were more active devs but it still works great
Works fine enough on WiFi, supports clipboard sync and file copy (but reliable only for small files).
(and if I remember it right I learned about it here in some thread about Synergy...)
I use two of them with Linux and Mac.
In my experience the protocol is quite light on the network, because this directly influences where the cursor is on your screen you probably want to keep latency down as much as possible.
Personal opinion: Don't put anything that matters, or connections to anything that matters, on computers with rootkit anti-cheat software installed. Even if the company itself is perfectly respectful, there's too many instances of supply chain attacks and attackers loitering on internal networks to trust such a vulnerability. At all.
ESEA for CS:GO: https://play.esea.net/client
I've heard similar ones for Valorant, etc.
- Denuvo Anti-cheat (used by Doom Eternal's multiplayer mode)
- Vanguard for Valorant
I refer to them as rootkits since they install Ring-0 kernel modules that are updated outside of your control.
Essentially one terminal for n computers, with a hardware or software switch between them?
I was looking recently and came across https://www.aten.com/gb/en/products/kvm/desktop-kvm-switches... (and similar in the range)
Switching multiple monitors simultaneously seems to take you into a whole new bracket I tend to associate with the 15-monitor fintech/daytrader market, with pricepoints to suit :(
I've been using it for a couple of months and it's been a game changer. No more fiddling with monitor menus to switch inputs or wondering if the monitor is currently set to one computer or the other. You have to make sure your monitors support DDC/CI, though.
[0] https://news.ycombinator.com/item?id=29608967 [1] https://github.com/haimgel/display-switch