2011-01-14, 05:40
Synergy is sort of like an inverted VNC setup. Rather than the video of the remote machine showing up on your desktop, your mouse and keyboard show up on the remote machine.
I originally set about making a EventClient based remote, but until this bug is fixed, it's useless for on screen keyboards. (Because who doesn't love typing in SABnzbd API keys by hand?)
I have grabbed a USB keyboard at times, but it requires sitting front and center. I've pondered a bluetooth keyboard, but that's just another device in the living room.
Enter Synergy.
There are clients and servers for all 3 major OSes..
I'm running OS X. There are front ends available such as SynergyKM. However I'm just going to use the command line.
On the OS X machine I created a very simple config file:
That just says that if I scroll off the top of my laptop, it goes to the TV screen. If I scroll off the bottom of my TV it goes to my laptop.
Save that as synergy.conf, ~/.synergy.conf or /etc/synergy.conf. The latter 2 won't need server arguments.
Launch synergy server or your laptop (the machine with the mouse and keyboard).
-f just says don't fork into the background.
-c points to the config file.
On your machine running XBMC (which for me is Linux. This should work the same for OS X. If you're using Windows, god speed.)
You need to make sure that the client identifies itself exactly as we have it in the config file.
-f - No fork.
-n - Name to present to the server. By default it uses the output of hostname.
You should get a
client side and a
server side.
Now all you need to do is scroll your mouse off the top your screen and use your keyboard like you're sitting in front of your XBMC.
So far, media buttons from my laptop haven't made the jump. But modifier keys should work fine.
I originally set about making a EventClient based remote, but until this bug is fixed, it's useless for on screen keyboards. (Because who doesn't love typing in SABnzbd API keys by hand?)
I have grabbed a USB keyboard at times, but it requires sitting front and center. I've pondered a bluetooth keyboard, but that's just another device in the living room.
Enter Synergy.
There are clients and servers for all 3 major OSes..
I'm running OS X. There are front ends available such as SynergyKM. However I'm just going to use the command line.
On the OS X machine I created a very simple config file:
Code:
section: screens
localhost:
htpc:
end
section: links
localhost:
up = htpc
htpc:
down = localhost
end
That just says that if I scroll off the top of my laptop, it goes to the TV screen. If I scroll off the bottom of my TV it goes to my laptop.
Save that as synergy.conf, ~/.synergy.conf or /etc/synergy.conf. The latter 2 won't need server arguments.
Launch synergy server or your laptop (the machine with the mouse and keyboard).
Code:
synergys -f -c synergy.conf
-c points to the config file.
On your machine running XBMC (which for me is Linux. This should work the same for OS X. If you're using Windows, god speed.)
You need to make sure that the client identifies itself exactly as we have it in the config file.
Code:
synergyc -f -n htpc [server ip address]
-n - Name to present to the server. By default it uses the output of hostname.
You should get a
Code:
NOTE: synergyc.cpp,247: connected to server
Code:
NOTE: CClientListener.cpp,127: accepted client connection
DEBUG: CClientProxy1_0.cpp,404: received client "htpc" info shape=0,0 1920x1080
NOTE: CServer.cpp,277: client "htpc" has connected
Now all you need to do is scroll your mouse off the top your screen and use your keyboard like you're sitting in front of your XBMC.
So far, media buttons from my laptop haven't made the jump. But modifier keys should work fine.