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.


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.


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.


Sharemouse - binary for SGI Irix 6.2

Sharemouse - source (you need basicmot.c, serial_sgi.h, and serial_sgi.c)


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.