The problem started for me at SDRC when I had an HP-UX box and a WinNT box on my tiny little desk (cubette I think is what they called it). I didn't have room for both keyboards and mice to be on my desk, and it was always a pain to switch back and forth.
A co-worker introduced me to VNC and X2VNC. I was able to set up a VNC server on one machine, and use X2VNC or Win2VNC to essentially extend my desktop so that the mouse could move from one screen to the other, and keyboard events would follow focus. This was pretty sweet. And I've used this setup in some fashion for the past 10 years.
For the past couple of years, my TabletPC has been running the VNC server, and my workstation at the office and my workstation at home were both running the Win2VNC client. This allows me to use my keyboard/mouse from either workstation, and extend my workstation desktop over to my TabletPC. This is sort of like dual-monitor, but different in that it's not just 2 screens, it's two computers. This was accentuated at SDRC where I had the HP-UX and the WinNT box controlled from the same keyboard/mouse.
Well, my TabletPC is slower than crap, especially with video. And it has become quite frustrating that there's a huge lag when scrolling, moving windows, etc. I needed a new solution to this problem.
I Googled around some last night and I found Synergy. This is an open source project that addresses the problem I have. And what's best is that it's just extending the desktop, it's not trying to poll the server's screen for changes (as VNC was). It took me a little bit of time to get it set up the way I want (30 minutes), but now it's pretty sweet.
The TabletPC is now actually the client.
Best of all, Synergy is fast. I can't see any lag in the events on my TabletPC. This was the go/no-go decision factor for whether or not Synergy would work out.
I've had it running for all of about 10 minutes, but I think this is a winner.