[HN Gopher] DeskHop - Fast Desktop Switching
___________________________________________________________________
DeskHop - Fast Desktop Switching
Author : rcarmo
Score : 909 points
Date : 2023-12-27 09:53 UTC (13 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| codetrotter wrote:
| Love the intro of the readme.
|
| Also, it may be niche but I had the same thought in the past
| about this way being the solution for slow switching. Awesome to
| see someone did all of the work already. Now I just need to find
| someone selling it on AliExpress so that I won't even have to
| lift a finger to have one :D
| michaelmior wrote:
| Synergy works well for this purely in software. Unfortunately
| it's not free or open source, but it's relatively inexpensive.
|
| https://symless.com/synergy
| thedookmaster wrote:
| https://github.com/debauchee/barrier is the free open source
| version of this
| figmert wrote:
| Prior to Synergy going to closed source, it was forked into
| Barrier[0], which then was forked into input-leap[1]. Both open
| source.
|
| [0] https://github.com/debauchee/barrier
|
| [1] https://github.com/input-leap/input-leap
| ddalex wrote:
| Unfortunately there is no simple way of makeing this work on
| a Chromebook
| stavros wrote:
| Input leap was forked two years ago and the Readme still says
| "we hope to have a release ready very soon", which doesn't
| sound very hopeful. Too bad, Synergy was always a very useful
| project.
| aystatic wrote:
| 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...
| stavros wrote:
| Oh good, thanks, I will!
| loloquwowndueo wrote:
| I haven't tried Synergy. barrier and input-leap were useless
| for me as they don't capture "ctrl-alt" so my crucial "open a
| terminal" shortcut always opens it on the primary computer.
| Maybe Wayland is to blame?
| elaus wrote:
| Didn't have any problems with X11 and various computers -
| so maybe it really is Wayland-specific?
| rzzzt wrote:
| 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
| smcleod wrote:
| And its new version has been rewritten so that it's no longer a
| native app but an Electron web app.
| asmor wrote:
| Synergy has some bugs they just don't seem to care about. For
| instance, if you use a macOS host, the calculation of where
| your cursor on a Windows/Linux client uses the macOS
| acceleration curve, but the actual movement of cursors does
| not. So you end up switching back unintentionally trying to do
| things on the third of the windows screen closest to your host.
| sixothree wrote:
| I have a saying "nothing sucks like synergy but they all do".
| Not a single one of these technologies is reliable. But synergy
| is the one that has multiple times made even the connected
| keyboard stop working to the point where the machine needs to
| be power cycled to become responsive.
| bonki wrote:
| Thing is, I used the old OSS Synergy some 15-20 years ago,
| across Linux, Windows and I believe OSX as well (although I
| am not 100% certain about the latter). It worked absolutely
| flawlessly for several years while I used it and I loved it
| dearly. Fast forward (I had no need for a software kvm until
| last year) and I use Barrier now and it barely works.
| Autostart on Windows doesn't work at all, the installer
| failed to create certificates so nothing worked until I
| created them manually and sometimes the keyboard dies
| completely or exhibits frustrating bugs which only a reboot
| can solve. It's baffling how this used to work so well and is
| barely usable 15+ years later.
| snappysnap wrote:
| Totally agree. Back in 2004 I used it daily to bridge
| between two PCs running on one network, behind a firewall
| with one running the synergy server and the other the
| client, and a laptop running the client. Both PCs were
| under my desk with my laptop and two screens from the PCs
| on top. I had one keyboard and mouse across three screens
| powered by three computers and could seamlessly not only
| move my mouse across all 3, but also copy paste text across
| too. I believe a newer version (which may never have
| materialized before it went closed source) was going to
| have drag n drop across too. It was so easy to work with
| and remember it very fondly. It was magic stuff.
| jtriangle wrote:
| Turn off clipboard sharing, use a config file, and barrier
| works well on most systems.
|
| Way too much BS to get it running though.
| mmwelt wrote:
| Any suggestions for Windows & Android (tablet)? All the
| solutions seem to only work with desktop OSes.
| smileybarry wrote:
| The fact that TLS connection encryption is gated behind the $60
| edition (vs the $30 personal edition) _completely_ turned me
| off it. Not a fan of basic security being paywalled.
| worldsayshi wrote:
| Does Synergy work with multi monitor setups? I've enjoyed
| Barrier but it doesn't work when any of the machines have
| multiple displays so I've ditched it for now.
| ProcNetDev wrote:
| Synergy works with multi-monitor (for me at least). I've been
| using it for close to two decades. Outside of the Linux
| kernel, it is probably the single piece of software I've used
| the longest.
| jtriangle wrote:
| I use barrier across 4 monitors and three devices, works
| fine.
|
| Nowadays you have to look at the logs and search through a
| pile of github issues to find the right solution to make it
| work, but once it's up it's pretty trouble free.
|
| Only real pain point is clipboard sharing, which works for
| small clipboards, but, copy too much text and it takes
| forever to switch.
| mariopt wrote:
| I bought 4 USB hubs just to switch the keyboard and mouse, it's
| just so annoying how most devices are so terrible. Randomly you
| have to physically detach the hub several times a day. If you
| plug webcams and/or USB mics, it only gets even worse.
|
| I'm using Synergy software and it works well, but I still want a
| proper KVM that can allow for webcams, mics, audio, etc. Features
| like moving only a group of plugged devices via keyboard
| shortcuts.
|
| KVM users are underserved for sure.
| ccakes wrote:
| > KVM users are underserved for sure.
|
| 100%
|
| I want to share keyboard, mouse and monitor between a PC and a
| MacBook. A KVM with DP+USB on one side and Thunderbolt on the
| other doesn't seem to exist.. I feel like this has to be a
| common use case :(
|
| I know I could break out on a dock first, but I have a
| particularly high-res monitor which most of the docks baulk at,
| or only support at 30Hz
| vladvasiliu wrote:
| I know it's suboptimal, but can't you do the split on the
| macbook? The TB port should output pure DP, so you plug that
| on the DP-in on the KVM. You plug a second USB-only cable
| that goes to the KVM USB in.
| jwells89 wrote:
| Closest I've found is manually switching the machine plugged
| into a TB 4/USB 4 dock (CalDigit TS4), with the cables for
| each computer being managed when unplugged by a magnetic
| cable pad[0].
|
| It's a bit clunky but not too bad once you have a feel for
| swapping cables and is less flaky than the more affordable
| KVMs I've tried. Gets me a nicer port loadout to share
| between machines too, and can be expanded to support as many
| computers as you've got space and patience for.
|
| This does however assume all machines involved can handle
| outputting a display signal via Thunderbolt or USB C. Not too
| much of an issue with laptops but it's still unusual for
| desktop PCs to have their GPUs hooked up to support TB/USB
| alt modes.
|
| [0]: https://www.amazon.com/dp/B08XYZFM7D
| usrusr wrote:
| I even got TB4 signal through one of those USB-C "magnetic"
| adapters [0], I figured that this would shift wear from
| repeated plugging from the expensive device to a cheap
| adapter.
|
| Super annoying when you accidentally disconnect and then
| the entire device tree has to reboot, but on the hub side,
| accidental disconnect might be much less of a problem (I
| use it at the laptop side, to dock with different screen
| setups)
|
| [0] like this, https://www.amazon.com/dp/B0BV7BPVCL/ but
| ordered from the Chinese site
| pzmarzly wrote:
| I'm in the same boat as you. After trying and returning a few
| KVMs, I found a decent USB-only KVM switch [0] that works
| with 4K HDR + PD devices (I think it just electronically
| connects and disconnects cables), it works amazingly with
| switching between Macs, but my PC GPU doesn't have USB
| output, just DP. I have bought a Thunderbolt PCI-E card (ASUS
| ThunderboltEX 4), it worked, but only turned on once Windows
| has fully booted, so I returned it too. I'm considering
| buying an USB-C signal muxer [1] but they are a bit too
| expensive for my liking. I guess there isn't enough market to
| produce them and sell them at reasonable price - most people,
| including myself, just accept having to switch video input
| separately from USB KVM.
|
| [0] https://www.amazon.co.uk/dp/B0BN5D2NXX
|
| [1] https://www.amazon.co.uk/dp/B0732W9DG8
| me_jumper wrote:
| how about these?
|
| Anker 553 USB-C Docking Station (KVM Switch): -
| https://www.anker.com/products/83k2?variant=42726922125462 -
| https://www.amazon.com/Anker-Docking-Station-Desktop-
| Display...
|
| iDock C10 KVM Switch Docking Station -
| https://www.avaccess.com/products/idock-c10/
| zrail wrote:
| I have a compromise setup but it seems to work ok. Two
| MacBooks, one pro, both M1.
|
| One is plugged into a TS3+. The other is plugged into a USB-C
| dock to get Ethernet and a USB-A input, but I don't use the
| video out. Instead, I run a Thunderbolt to DP cable from a
| second TB port to the KVM switch.
|
| I use this KVM ordered on Amazon: Cable Matters USB 3.0 KVM
| Switch DisplayPort 1.4 for 2 Computers with 8K@60Hz
|
| Pros: preserves 5K@60Hz for both machines, switches keyboard,
| mouse, and a webcam just fine.
|
| Cons: no hot key switching, another remote to lose, no EDID
| emulation so the computers fall asleep when they're not
| active, switching takes a bit. Sometimes a machine doesn't
| wake up when I switch back to it so I have to fiddle with
| cables, but that's been pretty rare.
| wombat-man wrote:
| I share a mouse and keyboard between pc and mac with a usb
| switcher.
|
| Two monitors. Both the mac and pc are connected to each
| monitor. I just switch inputs as needed.
|
| It's not as good as one button press but heck i can monitor
| something in both systems if I want
| nine_k wrote:
| Most monitors have 2-3 inputs. Mine has a desktop, a laptop,
| and occasionally my phone attached to it, using HDMI, DP, and
| another DP / USB-C respectively.
|
| Unless you switch really often and want subsecond switching
| time, three's no need to even use a KVM to switch the
| monitor.
| jbverschoor wrote:
| Even at twice per day switching using monitor controls
| would drive me nuts. The buttons, the menu, the delays,
| blanking and disconnects. By then I already forgot why I
| was even switching
| conwaytwitty wrote:
| If you want a proper kvm, see the offering from
| level1techs/wendell (not affiliated, just a satisfied
| customer) at
| https://www.store.level1techs.com/products/hardware
|
| I used one with 4x dual dp switching at home to run desktop
| with linux, pcie passthrough gaming vm on same machine and my
| work laptop via a dell thunderbolt dock connected to it.
|
| Works extremely well, with modern features tested for (gsync,
| high refresh etc etc).
|
| edit: one thing to note is that you need really good quality
| cables, so don't cheap out
| fexatious wrote:
| I share two monitors and audio equipment between a desktop
| and a windows laptop (dell XPS) using a "dumb kvm" that
| wrangles a few USB outputs and two DisplayPort inputs. the
| laptop only has USB-C output so it connects to a fancy
| thunderbolt dock borrowed from a friend which then goes to
| the KVM. I have a third monitor only connected to the desktop
| with a laptop stand in front of it for a third screen
|
| It takes a couple seconds to switch but otherwise works
| flawlessly unlike my previous solution of shitty dongles,
| switching dual input monitors, and moving a usb hub input
| cable between machines. I also considered rebuilding the
| desktop to have a thunderbolt output and buying a thunderbolt
| switching KVM but I couldnt make it work
|
| desktop - kvm - fancy dock - laptop Full diagram:
| https://imgur.com/a/ah54fjd
| rewgs wrote:
| > I want to share keyboard, mouse and monitor between a PC
| and a MacBook. A KVM with DP+USB on one side and Thunderbolt
| on the other doesn't seem to exist.
|
| It does if you use the built-in KVM in a recent Dell
| Ultrasharp display, and change Thunderbolt to USB-C.
|
| My setup is a MacBook Air plugged into the USB-C port, a
| Windows PC plugged into the Displayport/USB port. Mouse and
| keyboard are plugged into the display.
|
| I switch inputs via a StreamDeck. The StreamDeck just sends a
| key command; on macOS, BetterDisplay handles input switching,
| and on Windows, the Dell Display Manager app does the job.
|
| Switching is a touch slower than I'd like, but beyond that,
| it's flawless.
| rkangel wrote:
| The best setup I've found is what I lucked into at work. It's a
| Benq monitor (32", 4k) that does the KVM itself. There's a
| couple of Displayport inputs, each if which has a couple of
| USBs with it, as well as a USB C which is both peripheral and
| display input (and decent power output). Then there's a little
| pick on the desk for switching.
|
| The nice thing is that it continually presents a monitor to all
| the inputs even when they're not being displayed. Means you
| don't get the flickering as Windows sorts itself out and so a
| much faster and more seamless switch.
| jlundberg wrote:
| Which benq model is this?
| rkangel wrote:
| Looks like it's the PD3205U (https://www.amazon.co.uk/BenQ-
| PD3205U-Designer-Technology-Co...). Am not at work to
| double check.
| adra wrote:
| I've been very happy with my tesmart dual DP 4 port KVM. The
| only limitation I have is that it's only usb 2 host controller,
| so a lot of higher speed devices like some webcams can't get
| switched using it.
|
| LAlso if you need Apple products in the mix, you have to use
| two physical usb3 cables from the mac just to distinguish the
| two display channels because apple hates MST for reasons
| (another reason to hate their arbitrary bs).
| LoganDark wrote:
| Level1Techs does the same thing for DisplayPort if you want fast
| monitor switching. Just be prepared for the price:
| https://www.store.level1techs.com/products/p/14-kvm-switch-d...
| layer8 wrote:
| This doesn't seem to do the mouse position-triggered switching?
| joshchaney wrote:
| Not sure why they posted that when Level1Techs does actually
| have USB KM with mouse roaming.
| https://www.store.level1techs.com/products/p/4-port-km-
| switc...
| layer8 wrote:
| GP was indicating monitor switching, which your link
| doesn't do. The equivalent of TFA for monitor switching
| would be full KVM switching when the mouse crosses the
| outer screen edge.
| LoganDark wrote:
| I'm referring to the fact that it maintains an independent
| connection to each monitor in order to facilitate fast
| switching. Almost no other DP switches do this.
| leshokunin wrote:
| The video in the Readme is well worth watching. I expected some
| kind of clicking to enable the kvm and switch devices. This is
| moving your mouse and keypresses across devices instantly. While
| I like Synergy, a hardware solution would work without much
| software and potentially much configuration.
| Tigress8780 wrote:
| I recently had the idea of making similar hardware with ESP32
| (some of them has USB hardware). You may lose mouse acceleration,
| but many do not like this to begin with, so it's fine.
|
| Does absolute mouse work correctly when two systems have very
| different (total) resolution? For example, one is a laptop with a
| single screen, and another one is a desktop with three screens.
| jalk wrote:
| How does absolute mouse work? The mouse hw just reports delta
| x/y and has no idea how the corners of your screen map to your
| desk surface. So it sounds like special hw. or very frequent
| recalibration of "corners" after moving mouse when machine is
| off or lifting+moving (which would essentially be what would
| happen when using it on machine 2)
| DannyBee wrote:
| It is not putting your mouse itself in absolute mode (only
| graphics tablets really operate in absolute mouse mode). It's
| just outputting absolute mode reports to the host.
|
| Absolute mouse HID report has a logical/physical min/max, not
| just delta. Regardless of size of screen, min/max correspond
| to the boundaries in absolute mode.
|
| So it's just keeping track internally of the incremental
| relative accumulation of your mouse as you move it, and i
| assume, when you hit the min/max, swapping screens.
|
| I assume it's reporting a high enough min/max resolution to
| make this not happen crappily.
|
| The polling rate on mice is usually only 125hz (8ms), so it
| has plenty of time to handle the input.
|
| Even "gaming" mice are usually only 1000hz (1ms).
|
| I would guess, looking at it, that it takes a few
| microseconds to handle the mouse moves, max.
| lovelyviking wrote:
| As I understand GPIO speed is limited and below usb 2.0
| speed if I am not mistaken. So what is the maximum speed of
| this setup? How 'gaming" gaming mouse can be?
| gruturo wrote:
| From a quick google search (to make sure I'm not just
| stating my memories, but actual facts) the RP2040 can
| toggle a GPIO at about 66MHz (via its PIOs. Otherwise a
| bit slower, and using more CPU). USB 1 is 1.5 or 12Mbps,
| so you should have no issues even if you bit bang it.
|
| Despite the USB protocol overhead, it is plenty even for
| a gaming mouse. Pretty sure there's no point polling it
| at above 1 kilohertz or so.
| DannyBee wrote:
| Absolute mouse "works" in any situation. You are responsible
| for reporting the physical and logical min/max values for the
| mouse. The host translates these into screen coordinates.
|
| So if you report the max x/y as 32767, and the current x/y as
| 32767, the host will translate it to the corner, regardless of
| size of screen.
| 1f60c wrote:
| > Ever tried to move that YT video slider to a specific position
| but your mouse moves too jumpy and suddenly you are moving your
| hand super-carefully like you're 5 and playing "Operation" all
| over again?
|
| On YouTube specifically, you can scrub through a video frame-by-
| frame using the , (comma) and . (period) keys, no custom hardware
| required. :-)
| noman-land wrote:
| Anything between 30 seconds and 1 frame is impossible.
| dave8088 wrote:
| The J and L keys will skip back and forth 10 seconds.
| s4i wrote:
| And left and right 5 secs.
| sixothree wrote:
| Control left and right for chapters.
| dishsoap wrote:
| I wonder when they added that, I remember wanting it and
| it not existing when they first rolled out the chapters
| feature around 2020.
| hrvach wrote:
| Wow, did not know that. TIL. Thank you!
| Brajeshwar wrote:
| That's nice. Btw, I'm curious, what kinda mouse do you guys use
| that makes you hold your breath while you scroll? I believe
| mice these days are super precise and works pretty well.
| Defletter wrote:
| Because it's not necessarily the mouse, but us :P
| mikelevins wrote:
| The mouse ain't the problem.
|
| Once I was fast and precise, with sharp close vision. Now I'm
| not.
|
| Enjoy your capabilities while you have them. Decline awaits
| us all.
| acjohnson55 wrote:
| I wish there was a solution for Android. Sliders for fine
| grained selections are horrible in touch interfaces.
| layer8 wrote:
| Same on iOS.
| benjijay wrote:
| At least in Android you can pull the slider up for finer
| control, though every now and then they tweak how well this
| works so YMMV
| AlexErrant wrote:
| "fine grained" is relative, but you can go forwards/backwards
| 10 seconds in YouTube Android by doubletapping to the
| left/right of center on a video. If it's paused, doubletap to
| the left/right of the play button. It should also work on
| iOS, but I don't have an iPhone so can't confirm.
|
| https://www.majorgeeks.com/content/page/youtube_double_tap.h.
| ..
| codetrotter wrote:
| I use iOS and can confirm that double tap on left or right
| side works to jump forward backward there too. I often use
| it when I watch a video and I miss what was said so I jump
| back a bit and watch again.
| benjijay wrote:
| You can pull the slider up for finer control, though every
| now and then they tweak how well this works so YMMV
| fevangelou wrote:
| Seriously, if any VC is reading this, get this man some funding
| to make it a real project. Even at double or triple what it
| costs, it's still cheaper than any other commercial competitor.
| ipsum2 wrote:
| Not every cool project needs to be a startup.
| jamesholden wrote:
| This. So much this. It's also really cool as a 'niche'
| project, and felt even approachable to someone like me who
| hasn't ever done more soldering than his first PS1 and a
| modchip.
| fevangelou wrote:
| I read some months ago that tinypilotkvm.com is doing JUST
| fine.
|
| So yeah, sometimes niche markets can be profitable. And it
| doesn't have to be millions of dollars in VC money
| obviously to be invested.
| xbmcuser wrote:
| If it gets really popular here on hacker news won't be long
| before chinese devices based on it start appearing. Or if
| someone is willing to invest $10-20k they could have devices
| ready to sell in less than 2-3 weeks.
| jbverschoor wrote:
| With built-in networking so they can send your keylogs ;-)
| lovelyviking wrote:
| > Or if someone is willing to invest $10-20k they could have
| devices ready to sell in less than 2-3 weeks.
|
| Can you elaborate on this for someone unfamiliar with
| production? How one come up with the number and such time
| estimation?
| layer8 wrote:
| Better make a Kickstarter or similar out of it. Don't tie
| yourself to VC money if you can help it.
| joshchaney wrote:
| One exists already.
| https://www.store.level1techs.com/products/p/4-port-km-switc...
| IshKebab wrote:
| > All I wanted was a way to use a keyboard shortcut to quickly
| switch outputs, paired with the ability to do the same by
| magically moving the mouse pointer between monitors.
|
| Most KVM switches have a keyboard shortcut (mine is scroll lock,
| scroll lock, 1/2). Mine also supports the mouse based switching
| but it's unusable because to work it needs to emulate a mouse
| with zero acceleration. Also this doesn't switch video.
|
| I've had the same idea tbh but the inability to switch video and
| the software complexity put me off. A KVM switch is better
| (except the cost).
| damagednoob wrote:
| I have a KVM switch[1] and it's double middle mouse click to
| switch outputs. Works well with Mac, Linux or Windows.
|
| [1]:
| https://www.amazon.co.uk/dp/B08GBXTW2Q?ref=ppx_pop_mob_ap_sh...
| fock wrote:
| with all the people switching USB-devices collected here: I also
| have an USB-switch to handle work/private machines (as well as
| the odd usually headless VM).
|
| Oddly, there is no delay on switching with Windows. Devices are
| registered instantly and I can type. Linux needs 1-2 seconds...
| and I just don't know why. Anyone has an idea what to tune?
| archerx wrote:
| Why not use Remote Desktop? I work on multiple computers on one
| laptop and if your network is fast enough it's silky smooth. For
| linux I use VNC and it works well but isn't as nice as RDP.
| smokel wrote:
| In many cases remote desktop is a great solution. However, a
| hardware based KVM can be preferable for several reasons.
|
| Security: remote desktop requires the machines to be on the
| same network.
|
| Performance and compatibility: hardware accelerated rendering
| often does not play nice with remote desktop.
| vidarh wrote:
| Because that doesn't do the same thing. The point is to have
| two monitors connected to separate machines, and use the same
| mouse and keyboard to control both of them.
| jbverschoor wrote:
| Good to note that it doesn't require client software to detect
| edges.
|
| > To get the mouse cursor to magically jump across, the mouse hid
| report descriptor was changed to use absolute coordinates and
| then the mouse reports (that still come in relative movements)
| accumulate internally, keeping the accurate tally on the
| position.
|
| So it works like synergykm / barrier, without clipboard features
| and without client software.
|
| Very nice.
| tapland wrote:
| Very nice to not require the computers to connect over the
| network.
| tiku wrote:
| This was a concern for me, that is why i've used Synergy over
| VPN and it worked quite well. It also works on networks where
| you can't reach the other pc's that way.
| colordrops wrote:
| I initially used synergy at work between two computers and
| a coworker teased me about the security implications, so I
| found it very little effort to pipe over an SSH tunnel
| abustamam wrote:
| Can you share some info about that? How is it different
| from synergy business/enterprise where it encrypts your
| data? (aside from owning the encryption)
| jbverschoor wrote:
| Barrier has built-in encryption
| fragmede wrote:
| tailscale makes the VPN easy these days.
| azinman2 wrote:
| I also like zerotier
| chatmasta wrote:
| I doubt the reason for avoiding connection is a technical
| barrier but rather a security one. For example, I prefer
| to keep my personal and work laptops completely
| airgapped.
| jbverschoor wrote:
| You should check out https://pikvm.org/
| toddmorey wrote:
| Yes this is so clever and beautiful. Projects like these are my
| favorite thing to discover on HN.
| munro wrote:
| Wow!! Very cool! I tried to use a KVM to switch from my personal
| macbook, work macbook, and gaming computer.... the hardware was
| awful, I had just ended up manually switching. The gaming
| computer had its own keyboard&mouse, so it was just switching the
| monitor (and there would be horrendous latency).
|
| Anyway, I think this space has tons of low hanging fruit for
| improvement. And so many KVM products are insanely priced, and
| they're not even good.
|
| Also how the ADuM1201 works is very cool!
| jnordwick wrote:
| When I worked at Virtu we had all the desks on wheels, pull the
| plug and roll away. Even better than switching. We moved them
| around all the time.
| victorbjorklund wrote:
| Wow. This looks just like what I been wanting for a while.
| zschuessler wrote:
| One of the coolest hack projects I've seen in some time. Looking
| at the schematics took me back to my electronics technology
| class, learning the value of heat syncs and accidentally setting
| amps on fire :,)
|
| Having an accompanying explainer article or video is something
| I'd pay/donate for, just out of sheer curiosity of the work
| involved.
| hrvach wrote:
| Thank you so much for the kind words. I'm hardly an expert but
| I will try to write something when I find some extra cycles. It
| was done to fix a problem I was seeing on a daily basis, but
| then I figured out it might help others (also gave me an excuse
| to practice kicad and 3d modelling).
| nirav72 wrote:
| This been one of my biggest frustrations - I also use a USB 3.0
| switch to toggle mouse & keyboard input between two PCs. I'll be
| on a teams call meeting where I don't have a lot to say and then
| someone mentions my name or messages me. I'm suddenly fiddling
| around looking to find the button to switch inputs back to the PC
| running teams. I thought about wiring up a ESP32 or Rpi Pico W
| with couple of optoisolators to the button pins on the USB
| switch. Then expose a http endpoint to simply toggle inputs
| between two machines via autohotkey script + keyboard shortcut.
| Only problem was that I couldn't come up with a way to determine
| which input is active. So gave up on the idea. But I like this
| solution.
| mouth wrote:
| Have you looked into a headset compatible with Teams that has a
| mute button? My work provided a Logitech branded headset that
| has volume, hang up, and mute buttons on the cord, which makes
| it much easier to unmute myself while multitasking.
| rplnt wrote:
| Just responding to the clunky and slow switching that is
| available. I have this wireless DELL mouse+keyboard set that
| switches quite easily and fast. Supports up to three devices
| (dongle + 2x BT). Dedicated key for tge switch, wirelss is
| instant, BT takes roughly 2 seconds.
|
| I can't recommend it though, as the mouse scroll wheel broke
| pretty quickly, and it's apparently a common problem. Can't
| "warranty it" individually. I do like the keyboard so far.
| nirav72 wrote:
| Some dell monitors also allow switching video input via
| keyboard + mouse using the Dell Display Manager utility. You
| can set custom hotkeys for each input. I have a dell monitor as
| my daily driver and its my central monitor in a multi display
| setup simply because of the display input switching capability.
| Beats having to buy a expensive DisplayPort KVM.
| hrvach wrote:
| That's pretty interesting, how long does the switch take?
| nirav72 wrote:
| Its about 2 seconds. Although, there is slightly longer
| delay when switching from a dell laptop connected to the
| monitor's HDMI input than the PC connected to the
| displayport input. I suspect it has something to do with
| the dell laptop going through a thunderbolt4 dock and
| outputting via HDMI.
| nulld3v wrote:
| I have a similar project inspired by another similar project
| (https://github.com/jfedor2/screen-hopper).
|
| My own version of this consists of two programs.
|
| One program runs on a Linux desktop and listens to input events
| from the Linux input subsystem (evdev). When you press a specific
| key, it will start consuming all events and sending them over USB
| serial to a RPI Pico. Pressing the key again will toggle back
| into passive listening mode.
|
| The RPI Pico is programmed to receive Linux evdev events over
| serial, translate them into USB HID events and send them to
| another Windows PC.
|
| The end result is a KM switch that switches instantly between a
| Linux PC and a PC running an OS of your choice.
|
| Epic wiring photo: https://ibb.co/m0zhzgz. I used another Pico as
| a USB serial adapter.
|
| As a hardware noob, needing only 2 wires was a huge relief and I
| think this is a great starter project for other hardware noobs.
|
| Both programs were < 100 LOC. There are tons of Rust crates and
| python packages to listen to Linux evdev. The program on the Pico
| was quite simple too, basically just a loop with a big switch
| statement and there are Rust crates to send USB HID events. You
| can use COBS to send stuff over serial without worrying about
| framing.
|
| Ultimately I never ended up open sourcing it because of some USB
| serial bugs (it would not reconnect properly to the Linux desktop
| after getting disconnected). Not sure if it was because of Linux
| or the Pico. I still use it, the bugs aren't a problem because I
| never disconnect the wires.
|
| I also specifically left out the absolute mouse feature since I
| play a lot of FPS games and it wouldn't work with those. I have
| the switch key bound to a button on the side of my mouse anyway
| so I can switch systems without even touching my keyboard.
| hrvach wrote:
| That's an awesome idea, man. I wish I thought of that.
|
| I learned about about that screen hopper project only
| yesterday, and it just confirmed my theory - whatever I try to
| do, somebody smarter than me already made, only better,
| smoother running and with nicer features :)
|
| I play no games whatsoever so absolute coords would be
| perfectly fine, but one of the items on the to-do list is to
| make it configurable.
| nulld3v wrote:
| IMO the hardest part of open source is documentation and
| packaging so hats off to people like you who take that final
| step from tinkerer's project to open source! Also props to
| you for the galvanic isolation and actually designing a
| circuit lol.
|
| I'm sure there's even more keyboard/mouse switching projects
| out there, there's just no good acronym or search query to
| find them. You could search for "KVM" but it's just dominated
| by PiKVM. We should really standardize on something for the
| SEO.
| grepfru_it wrote:
| Your project is practically an example for Teensy boards. I
| made this exact gadget 10 years ago :)
|
| Ultimately my friend was explaining his 'mouse jiggler'
| vbscript and I thought 'how can I make this a hardware
| version' this led to a design and once you have a design it
| is easy to query google for design hints at the component
| level "usb hid microcontroller" "usb passthrough
| [teensy|arduino]" "usb init host controller
| [teensy|arduino]" "mouse path [teensy|arduino]" etc etc
| drakenot wrote:
| I'm trying to grok the absolute coordinate issue.
|
| Does this mean your solution would break if someone was
| playing a FPS/game?
|
| And is the solution to use relative coordinates but lose the
| auto transition feature? Meaning that you would have to
| manually switch?
| shhsshs wrote:
| Many FPS games move the camera by listening to relative
| mouse movements and moving your camera a corresponding
| amount, while keeping your cursor hidden and in the center
| of the screen. Absolute movements cause different issues
| depending on the particular game.
|
| I am not familiar with HID but I assume there is a way for
| the computer to provide feedback to the input device about
| the cursor's current position. If that's correct, it could
| probably be done with relative movements just fine.
| hrvach wrote:
| I'm not very versed in gaming, so have very little
| knowledge about what games want. It should be possible to
| implement a relative mode too and some way to switch
| between the modes so when working use absolute, when
| playing use relative.
| resoluteteeth wrote:
| I'm sure people would be interested in seeing it even if it
| still has bugs
| fragmede wrote:
| > Ultimately I never ended up open sourcing it because of some
| USB serial bugs
|
| Shouldn't that be a reason _to_ open source it? Nerdsnipe
| someone else into figuring out the sublety that 's causing the
| bug!
| drakenot wrote:
| Would you be willing to throw it into a repo with a warning
| that it is user-beware with no support?
| nulld3v wrote:
| A bunch of folks have suggested I open source this regardless
| of the bugs and I think their arguments have merit!
|
| Here's the source, provided as is: https://github.com/null-
| dev/picokvm
| moneywoes wrote:
| anyway to have this work on a mac and android tablet?
| dotwaffle wrote:
| At first glance I thought this was going to be a reinvented Sun
| Ray!
| vs4vijay wrote:
| On Windows, you have the option of using a tool named Mouse
| Without Borders, which was developed by Microsoft Garage and is
| now part of Windows PowerToys.
|
| Links: - https://www.microsoft.com/en-
| us/garage/profiles/mouse-without-borders -
| https://github.com/microsoft/PowerToys
| riedel wrote:
| Barrier is a Cross-Plattform, open source Synergy fork that
| works quite well without any additional HW too [0]
|
| Edit: I just noticed it is unmaintained (never bothered
| actually because it works. Input leap is the continuation
|
| [0] https://github.com/debauchee/barrier [1]
| https://github.com/input-leap/input-leap
| go_prodev wrote:
| Glad to see it mentioned here. I used it a few years ago and it
| worked really well.
|
| It makes it especially easy to drag and drop file copies across
| computers.
| Waterluvian wrote:
| How do modern KVMs address OSes thinking an HDMI or USB device is
| unplugged when switching? I've never found a solution that
| actually works because of this issue.
|
| It seems this only addresses KB/Mouse by keeping them enumerated
| on the host PCs at all times and just sending no inputs to one.
| So that feels fairly solved. But what about monitors?
| green-salt wrote:
| I've found this really depends on the monitor. My Samsung
| gaming monitor hates this, while the plain Dell ones I have
| will switch around decently.
| dvektor wrote:
| Wow this is awesome. I use a KVM switch currently and it takes a
| solid 2-3 seconds and for that reason I find myself usually just
| SSH'ing into the other computer and having a tmux session
| instead.
|
| Excellent work.
| tiku wrote:
| I've been using Synergy with my mac and windows desktop, and in
| the past I've used Input Director between two windows machines.
| It was good enough to game on LAN parties.
| fersarr wrote:
| Very cool! Take my money :) In my case I would like to share
| mouse, keyboard and monitor. So, just switching between two
| laptops.
| woodpanel wrote:
| very nice. For apple-only users there is a built-in option to
| connect your macs in the same manner called "universal control".
| david422 wrote:
| I have a similar usage and need. I do have a uGreen USB hub that
| has a button on top that I use to swap between computers - but it
| does have a slight delay.
|
| I also discovered logitechs k860 keyboard which has 3 buttons on
| the top for switching between computers. I use it with the USB
| receiver and a bluetooth laptop. No noticeable lag and works very
| well.
| colordrops wrote:
| I used to use Synergy for this until switching to Wayland, which
| isn't supported. Last time I checked there was a project called
| RKVM attempting to do the same thing for Wayland but it was very
| buggy at the time. I should check again to see if there has been
| any progress.
| bryanlarsen wrote:
| "lan-mouse" works for me on Wayland.
| lancetipton wrote:
| This is awesome and it looks like the exact solution I've been
| looking for. That said, I'm way out of my depth when it comes to
| building this. What would it take to get a step by step tutorial
| on how to build this thing? I read through the readme, and
| there's some good info there, but a few things went over my head.
|
| Never used a Pico board, only exp is with a Tensor board that
| came out a few years back.
|
| Any further advice on where / how to get started with is would be
| appreciated?
|
| Also great work, the transition looks super smooth.
| nemacol wrote:
| This looks great. I have a work PC and personal PC on the same
| desk but cannot install anything on the work PC. Would be great
| to declutter my desk with this.
|
| Unrelated - surprised JLCPCB does not have a way to share a link
| to a PCB so folks can buy a board without needing to upload the
| files themselves. Maybe I am missing it?
| kidsil wrote:
| I had the same need and ended up using a USB Hub that required
| manual clicks to switch between devices. All software-based or
| network-based switches were a no-go in my case. I love the idea
| of a hardware-based switch that allows for seamless transitions
| between devices.
|
| Who will pick up the gauntlet and allow those of us without a
| soldering iron to buy a ready-to-use box?
| jevogel wrote:
| Already exists.
|
| https://www.cdw.com/product/siig-4-port-roaming-km-switch-wi...
| giancarlostoro wrote:
| I use a Nulea trackball and a Nulea keyboard. I bought two of the
| trackballs. The previous trackball I had, the scrollwheel was
| dying too often (for $60 it was kind of annoying) and the
| Logitech MX trackball, eventually the switch for clicking dies,
| and replacing it yourself is more than just a 2 minute task, not
| worth it for me).
|
| I prefer just having two trackballs, especially since they don't
| move, they're very ergonomic. The keyboard is the style of a
| Microsoft Ergonomic Keyboard, but it supports multiple devices.
| The keys are exactly how I wanted them (flat), and its been a
| good keyboard, supports one USB dongle connection, and two
| bluetooth connections, which is what I wanted. I was surprised
| how good the keyboard is after passing on it on Amazon a few
| times, which led me to try their trackballs, and I was not
| disappointed with either purchase.
|
| I prefer to just hard switch the keyboard, so I don't get
| confused as to which computer I'm going to be typing on,
| sometimes I switch computers to google something personal that I
| rather not type on a work machine.
| shermantanktop wrote:
| This is great, but why use raspberry pi? Seems like the same
| functionality would be easier and more robust using an embedded-
| type system like Arduino. Teensy boards in particular can act as
| USB hosts.
| aappleby wrote:
| It uses a Pi Pico, not the Linux SBC. Arduino-tier.
| shermantanktop wrote:
| Ah! Didn't catch that, thanks.
| hrvach wrote:
| It's not a full Raspberry Pi, but their RP2040 microcontroller
| based board. Teensy boards are awesome but they are kind of
| pricey. This one is 4-5$, it's in stock everywhere, and what's
| usually the most important reason for making such decisions - I
| had two lying around from a previous project :-)
| phreack wrote:
| Most times, the answer to these types of questions on hobby
| projects is that the maker either knew more about Pies than
| Arduinos, or simply had a Pi lying around and not an Arduino in
| their home when inspiration struck, heh.
|
| I've certainly been guilty of doing something "a worse way"
| simply because it's what I first thought of and was available
| to me, and you gotta strike while the mental iron's hot.
| wjdp wrote:
| These are Raspberry Pi Picos, they are embedded type devices
| and not the usual Pis you're used to. The keyboard I'm using
| right now uses the same chip (RP2040) as the Pico, runs QMK and
| seems to be more performant (flashes faster anyway) than the
| normal microcontrollers you tend to get in plancks and the
| like.
| peab wrote:
| This is so cool, kudos to you for sharing
| ulrischa wrote:
| Shut up and take my money :) Fun aside: this is awesome. I would
| like to buy one preassembled
| pcunite wrote:
| I literally installed Mouse without Borders this week! But
| hardware is better for secure login screens and the like. So, I
| still have a KVM switch. One thing I learned is that I don't want
| seamless mouse between two monitors.
|
| So, I setup "holding" down CTRL which allows the mouse to pass.
| Its just a nice way to stop accidents and for when I want auto
| window sizing at borders. This project looks great if it can
| support holding down CTRL to allow the mouse to pass into the
| other screen.
|
| I also love clipboard copy. That is kinda a biggie some days.
| hrvach wrote:
| This is a really great idea! If you don't mind, I'll put this
| on a list of to-do features.
|
| I was testing a "nudge" feature, where you need to move a mouse
| a little faster towards the other screen to have it jump
| across. It was not bad, even though I've found it to be most
| intuitive when the cursor simply moves freely like it was one
| big desktop.
|
| Clipboard would be awesome to have, but considering privacy,
| security and data protection concerns, it's just too risky.
| adroitboss wrote:
| This looks great! I need to look into it. For a little while I
| have used a combination of a KVM Switch and Mouse without
| Bordershttps://www.microsoft.com/en-
| us/download/details.aspx?id=354... to switch between my computer
| and the laptop I have on my desk. It would be great to have a
| local-only option. The application would need to copy the
| contents of my clipboard from one computer to the next, a feature
| I don't think I can live without.
| treprinum wrote:
| I use a cheap 4-way USB port 2.0 sharing switch (for printers)
| that can be found on eBay for $10. I even used two chained
| together with another 2-way switch when I had 12 computers around
| me. You just press a single button corresponding to a single
| computer and all your keyboard/mouse events are going there.
| nkotov wrote:
| Similar setup, I have a switcher that has my
| mouse/keyboard/microphone connected. One tap, switch between my
| Macbook and my Windows Desktop.
| tamimio wrote:
| Here's how I do it now, three machines two are linux and one is
| windows: I use Logetic MX master 3 mouse, it can connect to three
| devices via Bluetooth, if I need to switch from one to another, I
| click a button in bottom to switch it to the next one, and being
| wireless is very handy since one machine is far away from where I
| sit and it's connected to a big screen.
| NelsonMinar wrote:
| This seems clever and useful enough to be turned into a
| manufactured product.
| sheepscreek wrote:
| I've been using a software solution for this for over a decade.
| It's called Synergy (https://symless.com/synergy) and it is fast
| - switches instantly over wifi and also works across
| Windows/Mac/Linux.
| samstave wrote:
| Cant believe I am only learning about this now. Darn - I've
| needed this for over a decade.
|
| Also, havent heard Full Sail in a really long time... Had a
| friend from growing up that went there and became famous...
|
| THanks for the link - Ill be installing this around my place
| today :-)
| dsr_ wrote:
| https://github.com/debauchee/barrier is the still-open fork.
| hijinks wrote:
| barrier is basically a dead project now. The active members
| of the project forked it and are going to release when
| ready but
|
| https://github.com/input-leap/input-leap
|
| Keep an eye on that for anything new
| apitman wrote:
| How much ongoing development is needed for something like
| this? I've been using synergy/barrier for years and the
| features I need have changed barely if at all during that
| time. Seems like a prime candidate for "finished"
| software.
| ryukafalz wrote:
| Barrier doesn't support Wayland, which is a pretty big
| missing piece at the moment for Linux users.
| bryanlarsen wrote:
| I use "lan-mouse" on Wayland.
| ortusdux wrote:
| A few months ago my mouse stopped working on my 2nd computer.
| It took me a few minutes to fix because I just plain forgot I
| was running Synergy. I checked, and my setup had been working
| without issue for 4-5 years. Definitely near the top of my list
| for valuable paid software.
| AtlasBarfed wrote:
| With VR headsets and increasing 8k TV affordability, screen
| real estate is really getting big.
|
| Technies almost always have a laptop, phone, and home desktop
| up at once, often have some media/fileshare, and then there are
| VMs to further the complexity.
|
| Here's what I've been wanting for years: a big ass 8k
| wraparound monitor, and it has clickable widgets in the desktop
| to turn on the computer/VM and activate the display feed into
| some part of the desktop.
|
| There's a primary desktop area, and that area is surrounded by
| "neutral zones/buffer zones where if you take the mouse into
| that area and click on it, it would swap the "primary" area to
| that machine and place the former machine's display into one of
| the peripheral areas of the large display, or secondary
| monitors.
|
| With "cores to spare" in modern Moore's law scaling, I should
| be able to have several OSes seamlessly running at once, not
| the virtualbox stuff or other clunkiness, a much more seamless
| experience. There's a lot of hardware/CPU features to support
| it, but of course the OS vendors/distros have no prioritization
| to do something like that. It's also a fundamental failing of
| IoT.
|
| We are all moving towards a world where we have a dozen decent-
| class computing devices (Multicore multiGhz phone, 2x that for
| a tablet, 2x that for a laptop, and 2x that for a desktop) even
| not counting IoT, media, etc.
|
| We need a truly distributed OS that can handle this stuff.
| Windows/Android/iOS/OSX won't do it, they are in the walled
| garden business we need Linux to do it. The cloud projects, k8s
| / etc wanted a "datacenter OS" but basically failed.
| arghwhat wrote:
| > With "cores to spare" in modern Moore's law scaling, I
| should be able to have several OSes seamlessly running at
| once, not the virtualbox stuff or other clunkiness, a much
| more seamless experience. There's a lot of hardware/CPU
| features to support it, but of course the OS vendors/distros
| have no prioritization to do something like that. It's also a
| fundamental failing of IoT.
|
| No. The hardware features that allow running multiple OS's at
| once _is_ what VirtualBox /QEMU/HyperV/Xen/etc. use, and
| those feature require a privileged OS to manage it.
|
| The hardware does not support having multiple OS's manage the
| machine at once - even if they could be made to run, they'd
| step on each other and make hardware crash as they all try to
| configure it differently at the same time, and with them all
| in ring 0 they'd be able to arbitrarily compromise each
| other. Plus, you'd be annoyed that each of, say, 3 OS's could
| only use 1/3rd of all resources - 16 cores and 64 GB of RAM
| may seem like lot, but 5 cores and 21 GB of RAM does not.
|
| It's a dumb idea. Just get a better OS, a better hypervisor,
| better "fastboot to other OS" features (say, 1-5 seconds
| "hibernate and resume other OS"), or another desktop.
| sfilmeyer wrote:
| >Techies almost always have a laptop, phone, and home desktop
| up at once
|
| What definition are you using here? I like tech and worked as
| a software engineer (not working now), and I haven't owned a
| desktop in over a decade. If we're talking "almost always", I
| think these days I have 0 phones/laptops up most of the time
| followed by 1 in pretty close second place, and even having 2
| (let alone 3 or more) is uncommon for me.
| jevogel wrote:
| I tried to use this for a while but it didn't work well when
| using different VPNs on different computers. So, I bought a
| commercial device similar to the DIY one here and it works
| amazingly well. It doesn't require you to log in to the
| computers first and you can switch by moving across screen
| edges or with a series of keystrokes. You can also switch the
| attached USB devices independently of the keyboard and mouse.
|
| The product is sometimes called a boundless, borderless, or
| roaming KM switch.
|
| https://www.cdw.com/product/siig-4-port-roaming-km-switch-wi...
| Nullabillity wrote:
| The computers need to be able to reach each other, yes. You
| should be able to do that by adding a route overriding the
| VPN route (just like how any VPN client has to prevent the
| traffic to the VPN server from going through the tunnel).
| s0rce wrote:
| Synergy is great, its widely used on complex lab equipment
| where different parts are controlled by different PCs,
| sometimes running different OSes.
| geocrasher wrote:
| My first use of Synergy was in the mid 2000's, using the same
| KB/Mouse on a Windows XP machine with a Debian desktop box
| next to it. Worked fabulously for a long time.
| thallada wrote:
| No one has mentioned ShareMouse yet?
| (https://www.sharemouse.com/) In my experience it has worked
| way better than Synergy. I switched after getting fed up with
| the synergy developers not responding to various multi-year old
| bugs that made the software unworkable for me (e.g.
| https://github.com/symless/synergy-core/issues/5992).
|
| The only downside is that you have to "renew maintenance" to
| continue receiving updates to ShareMouse after a year. But I
| haven't done that yet and it still works fine for me.
| kentoss wrote:
| Synergy, Barrier, and Input Leap are all pretty good software
| solutions stemming from the same ancestor. The latter two are
| free and open source. Synergy has a nice way of organizing the
| boundaries between your machines.
|
| I wish any solution had custom monitor interleaving. My
| personal setup is such that the monitors are not set up
| linearly, and each monitor can independently switch to each
| machine. Specifying the boundaries on a per-monitor and per-
| machine basis would be amazing, but it doesn't seem to exist in
| software or hardware form.
|
| I spoke to Synergy recently and they said it is on the road map
| as a popular feature request. Hopefully soon!
| fnordpiglet wrote:
| Looks awesome, but sad they put TLS as a premium feature above
| the basic for pay sku. Security should be default in everything
| and for free. It's not a luxury, it's a table stakes bare
| minimum thing. (That said I'll try it out and if it's good I'll
| license the premium sku for the copy and paste feature)
| synergy20 wrote:
| I bought Synergy and ended up not using it shortly, nowadays I
| use a cheap physical USB switch(about $20) that can work with 4
| PCs sharing one set of keyboard and mouse, super robust for me,
| and quick too.
| trallnag wrote:
| What about switching display input source?
| docmars wrote:
| This is really impressive. Interesting to see a no-fuss hardware-
| only solution out there for this! I never thought it was
| possible. Nice work!
| deltaburnt wrote:
| After going down the hellish rabbit hole of KVM and thunderbolt
| dock shopping, I started to fantasize about doing a project like
| this. So many horror stories of cheap electronics frying your
| ports, the switch adding input delays, etc. It's not that I
| didn't want to shell out the money, but it seemed like all the
| recommended solutions were either ancient (still had VGA
| connections) or were enterprise grade (close to $1000). I would
| have settled for a little robot arm that just physically unplugs
| one USB cable and plugs in another.
|
| Essentially I found that the easiest way to swap between my
| computers is to physically disconnect a thunderbolt cable from
| one and plug it into another. As far as I can tell there's no
| such thing as a thunderbolt switch, so this is the local minima
| I'm stuck in until I try and make my own solution.
| shepherdjerred wrote:
| That's what I do too. Thunderbolt is excellent, but it would be
| nice to not need to physically swap cables.
| ravetcofx wrote:
| Thunderbolt 3/4 Switch for about $400 Canadian
| https://www.amazon.ca/Thunderbolt-Peripheral-Charging-Suppor...
| abustamam wrote:
| 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.
| deltaburnt wrote:
| This was indeed my first approach, but my employer disallows
| the use of synergy between personal and corporate devices (I
| could use it across two corporate devices though).
| baumy wrote:
| If you have a monitor that can serve as a USB hub (pretty easy
| to find) and has a thunderbolt input (less easy to find but
| there are options), you can hook multiple machines up to the
| monitor and use `ddccontrol` to toggle the monitor's active
| input. The devices hooked up to the monitor via USB can then
| follow the monitor to any of the connected computers.
|
| I have my mouse, keyboard, and webcam plugged into my monitor.
| The monitor is connected to both my work laptop and personal
| desktop. I wrote a script using `ddccontrol` that I have bound
| to a hotkey on the laptop and desktop which toggles the active
| input. Switching the display and USB peripherals back and forth
| between the two machines is just a keyboard hotkey.
|
| The commands look something like this: `ddccontrol -r 0x60 -w
| 3855 dev:/dev/i2c-7 >/dev/null 2>&1'
|
| With the exact arguments dependent on your particular hardware.
| conqrr wrote:
| Damn, I didn't know usb on monitor was a thing. This could
| work for me if I get a new monitor since I use a single
| display for multiple boxes. Maybe I could try Synergy too
| with the ddccontrol command
| sedivy94 wrote:
| I experienced a very unusual bug with a Tripp Lite KVM once
| because a feature like this was baked in.
| davidthewatson wrote:
| This is amazing!
|
| I'm saying that as a long-time user of a desktop setup consisting
| of Lin-Mac-Win boxes arranged left-to-right for at least two
| decades. Polyglot is to programming languages as multi-platform
| is to hardware. Fortunately, that's gotten easier as system-on-a-
| chip or SoC designs have proliferated in the last few years.
|
| My current setup consists of 2x $250 Ryzen SoC Mac-mini copies
| straight outta Shenzhen and an M1 MBP.
|
| I only wish that the once resilient world of open source KVM
| solutions such as synergy had not devolved into a recursive
| nightmare of forks where getting a working multi-platform open
| source software KVM without cost is challenging. Sadly, my
| current setup uses a good 'ole KVM switch but the button pressing
| is distracting.
|
| I look forward to trying something like this again one day.
| Thanks for sharing!
| mmanfrin wrote:
| What I really need is this + monitor input switching. I want to
| use both my monitors with both computers and just be able to hit
| a single button to swap everything.
| silicate wrote:
| My m32u monitor has a built in kvm switch and I switch between
| my Mac and pc with a button push. Monitor/keyboard/mouse and
| usb speakers
| teshigahara wrote:
| Many KVM switches do this, just search Amazon for KVM switch +
| HDMI/Display Port, but they're often not great in my
| experience. My last one only lasted a couple of years and would
| sometimes fail to pick up my monitor.
| jwiz wrote:
| https://github.com/haimgel/display-switch might be a piece of
| what you need to get this working.
| deagle50 wrote:
| Omg I wanted to build exact this. Thank you!
| camhenlin wrote:
| Nice work! If DeskHop could be made to work with a Bluetooth
| mouse, it would be even better. FWIW I was looking for a similar
| solution recently. I've got a magic trackpad, keyboard, bluetooth
| mouse, and monitor. I'd like to swap between 2 computers somewhat
| easily.
| vaidhy wrote:
| Where can you get these parts in US? I can probably order the
| pico, but others seems hard to find.
|
| (or is the answer AliExpress)?
| wrigby wrote:
| For the electrical components, Digi-Key[1] and Mouser are the
| two go-to's. I didn't read 100% of everything, but unless he's
| selling the PCB's you'll have to get them fabricated from the
| Gerber files in the repo. JLC is the go-to for this - expect to
| pay $5-$10 for a single-sided design like this, and you'll
| probably get free shipping if it's your first order.
|
| 1: ADuM1201 - https://www.digikey.com/en/products/base-
| product/analog-devi...
| 20after4 wrote:
| It still blows my mind that I can order a few custom boards
| from JLC and have them in < 1 week for < $25 with
| international shipping included.
| hrvach wrote:
| I believe you should have no difficulties finding these in the
| US - try Newark, Mouser, DigiKey, Arrow.
| epakai wrote:
| I've used a similar commercial implementation. They're sold as
| USB or KVM Synchronizer. Some will control 4 machines. The one I
| had was limited to 2x2 or 4x1 arrangements for the edge
| switching. Not ideal for a multi-monitor setup, but still pretty
| cool. I have future plans to combine it with an HDMI multi-viewer
| to setup a compact gaggle of machines.
|
| They were quirky in their implementation, but it still felt cool
| to have it all done in a little USB switch device.
|
| For my actual setup I still find barrier (forked as input-leap)
| excellent. I use Linux, Mac, and Windows machines without issue.
| I even play games with with my input going over the network this
| way.
| lofaszvanitt wrote:
| How the switch via screen edge works if it doesn't need any progs
| installed on your computer? Doesn't the absolute mouse coordinate
| space need two identical monitors? And how it figures out when
| you are at the edge of the screen?
| conqrr wrote:
| I use a single monitor, keyboard, mouse for both work and
| personal and need to switch between these pain free. I haven't
| come across a seamless solution as most of the software ones rely
| on mulitiple displays. My current solution is 3 button press on
| each device (monitor, keyboard, mouse) to switch.
| scrapcode wrote:
| What hardware do you use to split the keyboard and mouse? I
| have the same situation but have different input devices for
| each machine and just change monitor inputs as needed.
|
| Also, is it possible for one device to keylog when the keyboard
| is switched to the other?
| conqrr wrote:
| My Targus keyboard/mouse support multiple devices and have a
| physical button to switch.
| Sander3Utile wrote:
| A kvm switch can reduce that down to 1 button press.
| amelius wrote:
| Another solution is to simply run a VNC server on one of the
| desktops, and a VNC client on the desktop that has your keyboard
| and mouse attached.
|
| This is super flexible, as that computer can now be in another
| room or building.
| throwaway892238 wrote:
| Meanwhile I'm over here wishing I could make my Mac switch
| virtual desktops and windows quickly and seamlessly, but compared
| to Linux and even Windows, it feels dog slow. There's also a
| weird quirk of the AltTab app where sometimes you try to alt+tab
| back to a previous window, and the previous window+desktop
| appears, but the focus is actually still on the first window, so
| keyboard shortcuts go to the wrong app. You have to not only
| alt+tab, but then click on the window you just switched to, to
| change focus. Kind of insane that this basic desktop
| functionality doesn't work well on a $2,000+ machine.
| LorenzoGood wrote:
| I really like the idea of a hardware solution for a problem like
| this, as opposed to a software solution.
| gigel82 wrote:
| I use Barrier[1] and even with full software integration it
| sometimes gets things wrong (especially if you have a game or
| something else doing mouse capture); I'd be surprised if this can
| be solved entirely in hardware, but it sure looks amazing.
|
| https://github.com/debauchee/barrier
| aschla wrote:
| 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 its 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.
| doctorhandshake wrote:
| >> NOTE: Both computers need to be connected and powered on for
| this to work (as each board gets powered by the computer it plugs
| into).
|
| It's not clear to me what would happen in the event that only one
| of the two computers was powered up. Would the powered pico pass
| the mouse off to a dead pico at the screen edge and then have no
| twin to pass it back, leaving the powered machine with no USB
| devices?
| spatalo wrote:
| Is there any such solution that allows to use Windows Precision
| Touchpad gestures?
| odysseus wrote:
| What if you want to switch ONE monitor, for example a 5K Apple
| Studio Display, between a Mac Mini and a MacBook?
|
| Does a reliable solution exist that includes all accessories
| built in/attached to the monitor? (Ethernet, monitor speakers,
| monitor camera, power delivery charging, etc.)
| dhruvarora013 wrote:
| My "dumb" solution here is that I've plugged all peripherals
| into a dock. I have a cable go from my dock to my Macbook or
| desktop. I have to physically replug every time but it's just
| the one cable for charging + data transfer so it is simple
| enough
| HellsMaddy wrote:
| I built something like this. Luckily my monitor has an IR
| remote control, which allowed me to record and replay control
| codes to switch inputs. I used a USB hub that also had an IR
| remote control for my keyboard/mouse, and I used a teensy with
| an IR LED to send codes to both the USB switch and monitor. I
| used an IR repeater/extender to route the IR signal from
| underneath my desk where the teensy/usb switch are to the back
| of my monitor where it can reach the monitor's IR receiver. I
| also made a little NodeJS app that shares my clipboard between
| my computers. Although the whole setup is pretty hacky, it
| works surprisingly well.
| jaktet wrote:
| I use this and it generally works fine: https://a.co/d/5vDBGMM
| . I had issues with getting full framerate and resolution until
| I tried a few different cables. The only issues I have are that
| sometimes the monitor will get all glitchy on one computer.
| Turning it off and on sometimes helps, restarting the computer
| sometimes help, and other times it just doesn't work one day
| and works fine the next. Overall though I've only had the issue
| where it's glitchy and I distorts the screen and I couldn't fix
| it for that one day it happened -\\_(tsu)_/-
|
| It hasn't been enough of an issue to mess with it more or try a
| different one
| lawnchair wrote:
| Did this back in '99 with a program called x2vnc.
| puetzk wrote:
| 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.
___________________________________________________________________
(page generated 2023-12-27 23:00 UTC)