Sharemouse
Use one physical mouse to drive the pointer on both an X11 display and
a PC. Sharemouse is an X11 program which watches your mouse movement. When
you move the pointer off the edge of the screen, it starts grabbing pointer
events, and sending them to a nearby PC. These events are sent over a serial
line, and emulate standard Microsoft Mouse protocol. To the user, it looks
just as if the pointer has crossed from one screen to the next.
System Requirements
Sharemouse runs on your X11 machine. I have compiled it for SGI Irix 6.2,
but I don't see any reason it shouldn't be compilable on other platforms.
You need to have a serial port. The client machine needs to have a driver
for a standard serial Microsoft Mouse. I've used this with Windows NT,
but it should work under any flavor of Windows and probably Linux.
Can I control a Macintosh?
I have seen an control panel for the macintosh that allows a PC mouse to
be hooked up, serial-mouse-driver-101.hqx. Also I wrote an application that
allows a PC mouse to work on a mac. If you can get this to work
with a normal PC mouse, then it should work with Sharemouse as well. I
haven't yet verified this in either case.
http://graphics.stanford.edu/~jedavis/projects/pcmouse/
http://www.msn.fullfeed.com/~chuck/smd.html
Cabling
You need to string a NULL Modem Cable between serial port 2 on your X11
box, /dev/ttyd2, and a com port on your PC. Then configure the PC just
as if a real mouse was connected to that port.
Usage
sharemouse [-l] [-r] [-m speed_multiplier]
Use [-l] and [-r] to pick which side your PC monitor is on, left or right.
Use [-m speed_multiplier] to control the speed of the mouse sent to
the PC. Default = 1.0.
Download
Sharemouse - binary for SGI Irix 6.2
Sharemouse - source (you need basicmot.c, serial_sgi.h,
and serial_sgi.c)
x2vnc
As an aside, I don't use this any more. I now run x2vnc with a VNC server
running on the PC. This gets keyboard/mouse plus limited shared clipboard. Its
not perfect, but its my prefered method of sharing these days.
Problems
-
We need to have a real serial mouse plugged in when an NT box boots, or
it won't activate the driver.
-
I don't know what happens if you boot a PC without the keyboard plugged
in.
-
There seem to be some differences between my SGI and PC keyboard,
so that the Alt key is weird, among others.
Can't I make my keyboard work too?
There is no easy way to send commands to the keyboard port of the PC. You
could imagine having an automatic switch that swaps which machine the keyboard
is connected to whenever your mouse crosses a screen boundary. And in fact
I've built such a thing. Whenever the mouse crosses we open or close the
serial port. This raises and sets the DTR pin, which we use to drive a
transistor, which in turns controls power to a relay which switches the
keyboard. This all seems to work. A picture of the hardware mess is below.
James Davis - jedavis@cs.stanford.edu