B.1 Serial Mice

Common serial pointing devices like mice are simple: they are powered by the serial leads themselves. This requires that at least one of the two static control leads (usually DTR) be held true, to provide a positive DC supply, and requires that the transmit data lead (TXD) should be left in the Mark-Idle (negative voltage) condition to provide a negative DC supply. The latter constraint prohibits the use of character strings from the COM Enumerator to make the initial detection. (Some other mice use RTS as well for positive DC power.) Therefore, the COM Enumerator is constrained to using the only remaining control lead, RTS, if it is not tied to DTR.

The only common output lead from serial mice is the RXD lead. However, some also assert the DSR lead by tying it to the DTR lead. The COM Enumerator uses DSR to detect a mouse, and RXD to collect the COM ID.

Common mice generate RXD serial data at a fixed speed and format: start-stop asynchronous, 1200 bit/s, 9 bit frames, one start bit, 7 bits data (LSB first), no parity bit, one stop bit.

Common mice also generate an ASCII upper-case M (0x4D) to indicate a mouse. Most application software will look for that "M" to identify the mouse.

Serial mice also use bit 6 of characters delivered on RXD to indicate the beginning of a motion report. Therefore, to avoid confusing an older mouse driver that is unaware of Plug and Play, PnP ID strings for serial mice shall avoid setting bit 6, particularly if the device in question is a mouse. In this case, ASCII strings should be offset by 0x20, and lower case characters should not be used.