Serial mouse kernel driver
~~~~~~~~~~~~~~~~~~~~~~~~~~
Although serial mouse drivers inside the kernel might be considered evil by
some, I don't think so. Just see what this cute little (322 line source)
module can do.

If you still have your 3-button MouseSystems mouse somewhere in your driver,
forgotten becase of the incredibly slow update rate causing so much jumping
of the pointer on the screen that it is unusable, you may want to pull it
out and give it a try.

This driver finally talks to it the right way. With this driver, you get 96
updates per second. With standard X or GPM drivers, you get 24.

PS/2 and USB mice do 100, so now the Serial mice can match them.

Using this drive, the movement of the pointer is as smooth as with a PS/2
mouse.

How to install?
~~~~~~~~~~~~~~~
1) Patch your kernel (2.4.5-ac9) with the attached patch.
2) Select CONFIG_INPUT, CONFIG_INPUT_SERIO, CONFIG_INPUT_SERPORT,
	  CONFIG_INPUT_MOUSEDEV, CONFIG_INPUT_SERMOUSE in the kernel
   config.
3) Compile inputattach.c
4) Boot your new kernel or load the modules
5) Check that you have /dev/input/mice, if not, create it.
6) Configure X and GPM like if you were using an USB mouse, that is
   device: /dev/input/mice, protocol: ExplorerPS/2
7) Run "inputattach --mousesystems /dev/ttyS0 &" (or different if 
   you have a different mouse or serial port).
7) Enjoy.

How it works?
~~~~~~~~~~~~~
By interpreting the MSC mouse packets correctly, the driver gets a twofold
increase in update rate. By applying a little prediction in the mouse
movement, another twofold increase is possible. X and GPM get 24, times four
is 96 updates per second.

How about Microsoft mice?
~~~~~~~~~~~~~~~~~~~~~~~~~
Microsoft mouse protocol is interpreted correctly by X and GPM already (40
updates/second). With prediction we get 80, which is also better, but not
such a dramatic increase. With MS wheel mice you get 60 updates per second.

How about Logitech mice with higher baudrates?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Well, with a MouseMan running on 9600 baud you now get 160-640 updates per
second (it uses varying packet length), the most likely real rate is about
300 per second. This is a lot - it's more than any other mouse will be able
to do and more than what the mouse can generate because of the optical
sensors precision.  This means an update for every mixel the mouse sends.
Absolute precision. Frags galore ...
