Subject: Re: PS/2 Mouse vs. Serial Mouse
To: Todd Vierling <>
From: Chris G Demetriou <>
List: port-i386
Date: 08/16/1996 12:48:12
> - M$ serial mice can attach to a serial mouse port, or a PS/2 mouse port
>   if using the special mini-DIN adapter.  (Some M$ compatible mice come
>   with a mini-DIN as default and a 9-pin adapter for it.)
> - PS/2 mice are identical to serial M$ compatible mice excepting the
>   connector.  PS/2 mice send the same codes, same bit rate, but use a
>   mini-DIN (hence you can use the adapters you see in shops).  Unlike
>   some M$ clone mice, PS/2 mice usually don't have a switch to send back
>   Mouse Systems codes, and therefore usually only come in two, rather
>   than three, button varieties.

I didn't know this.  However, the essential factor is that both bus mice
and ps/2 mice use 'dedicated' hardware to do the data reception,
rather than relying on a general purpose serial port.  (yes, the ps/2
aux port isn't necessarily dedicated to mice, but there's exactly one
of them, and if you have a ps/2 mouse that's where you plug it in. 8 -) 

Because of this, bus mice and ps/2 mice have special in-kernel
drivers.  Those drivers take whatever format the mice give them, and,
for consistency's sake, output the format of data the a 'normal' bus
mouse driver would.

Serial mice don't have any special processing done in the kernel; what
they put on the serial line is what you read from the serial line tty.

It's worth noting that I've never _seen_ a 2-button PS/2 mouse -- i've
only seen the three button variety.  The PS/2 mouse protocol
accomodates three button mice with no evil hacks like chording, or
whatever it is.  There are three sets of mouse button state bits.

> - A PS/2 mouse port is a serial port specially designed for mouse use;
>   it isn't capable of variable speed transfer, and in some cases, is
>   input-only.

Uh, i don't the appropriate docs here, but at least part of this is
not true.

the port is:
	(1) not a 'mouse' port, and
	(2) was not designed specifically for mice.

It's properly known as the PS/2 "AUX" port (perhaps with more words in
there 8-), and is designed to use other devices, e.g. graphics tablets
and light pens, as well.  I've got a longer list of known device codes
in said docs, which are at work.

I think you're right that it's fixed speed (like the keyboard port,
no?), but i'm almost certain that it's not spec'd to be input-only.