                 *****   M u l t i M o u s e   *****

1) What is MultiMouse

  The MultiMouse is a small tool that enables to use multiple mice in
usual applications as a single mouse. If you use a pointing device
such like Track Ball or Accute Point mounted on a subnote computer,
this tool may be very useful. You can use not only a mounted pointing
device, but also a external mouse connected to a serial port.
  The MultiMouse is programmed as a small daemon named multimoused.
I got a hint from "mconv" by Johan Myreen and its modified version
"mconv2" by Frode V. Fjeld. This daemon polls multiple mouse devices,
reads packets, convert it into the MouseSystems compatible packets and
writes them to a FIFO.

2) Supported Mouse Protocols

  The MultiMouse can understand following five protocols, but I have
checked first three protocols. I don't know others.

    - Microsoft ($B4^(B Logitech First Mouse)
    - MouseSystems
    - PS/2
    - BusMouse
    - MMSeries
    - Logitech

3) Compile and Install

  Just run make, then run make install as root. A FIFO (/dev/mumse)
and a directory /var/lock/MultiMouse are made automatically. This
directory contents a multimoused's PID file which also serves as a
lock file. If you have a directory "/usr/man/ja_JP.ujis", Japanese man 
pages are installed.
  You should configure applications to use the FIFO (/dev/mumse) as a
mouse device, instead of /dev/mouse, /dev/psaux or etc.

     # make
     # make install
     prw-rw-rw-   1 root     root            0 Feb  3 23:13 /dev/mumse
     install -cs multimoused /usr/local/sbin
     install -c -m 755 multimouse /usr/local/bin
     install -c -m 644 multimoused.8 /usr/man/ja_JP.ujis/man8
     install -c -m 644 multimouse.1 /usr/man/ja_JP.ujis/man1
     if [ -d /usr/man/ja_JP.ujis ]; then\
	     install -c -m 644 multimoused.8 /usr/man/ja_JP.ujis/man8;\
	     install -c -m 644 multimouse.1 /usr/man/ja_JP.ujis/man1;\
     fi

5) How to use

  You can run only one multimoused at the same time. The daemon takes
at least two arguments, a protocol name and a device special file.

     multimoused {-<protocol name>[-emu] <device special file>} ...
     protocol name:
                    -mousesystems
                    -microsoft
                    -ps2
                    -busmouse
                    -mmseries
                    -logitech
                    -busmouse

  If you give only two arguments, such like

     # multimoused -ps2 /dev/psaux

the daemon serves as a protocol convertion program. For default,
multimoused can handle at most two pointing devices. For example,

     # multimouse -ps2 /dev/psaux -microsoft /dev/ttyS0

means there are two mice, a PS2 compatible mounted pointing device and
a Microsoft compatible serial mouse.
  The MultiMouse can do 3 buttons emulation like the XFree86[tm]. For
example, you can use a PS2 compatible 2 buttons mouse and a
MouseSystems compatible 3 buttons mouse by giving the following
arguments:

     # multimoused -ps2-emu /dev/psaux -mousesystems /dev/ttyS0

If you use MultiMouse's 3 button emulation, you should not use an
application's one. In the other words, you should not define
"Emulate3Buttons" in the Pointer section of the XF86Config:

     Section "Pointer"
         Protocol "mousesystems"
         Device "/dev/mumse"
     EndSection

  There is a small shell script "multimouse" to execute the daemon.
When the daemon is already running, this script tries to kill it
before execute the daemon.

6) Bug(s)

- Sometimes multimoused freezes console when exit.

7) Thanks

  Thank you for your great products:
     Johan Myreen(jem@cs.hut.fi); mconv
     Frode Fjeld(frodef@stud.cs.uit.no); mconv2
     The XFree86 Project, Inc.; XFree86[TM]

  Thank you for your bug reports:
     Toshio Katayama(toshioji@darkover.iijnet.or.jp)
     Koji Okamura(oka@is.aist-nara.ac.jp)

                                      manabe@papilio.tutics.tut.ac.jp
