Oyvind Kaurstad wrote: > > Hi, all. > > Does anyone know how a mouse transmits > position to the PC? > I've attached a file that might help you. -- Sami Khawam a9501901@unet.univie.ac.at http://unet.univie.ac.at/~a9501901 From: Tomi Engdahl Date: Fri, 29 Apr 1994 13:28:37 +0200 (EET DST) T{ss{ hiirien speksit englanniksi. Ei nyt ihan t{ydelliset, mutta kyll{ aika kattavat. Serial mouse Voltage levels: Mouse takes standard RS-232C output signals (+-12V) as its input signals. Those outputs are in +12V when mouse is operated. Mouse takes some current >from each of the RS-232C port output lines it is connected (about 10mA). Mouse send data to computer in levels that RS-232C receiver chip in the computer can uderstand as RS-232C input levels. Mouse outputs are normally something like +-5V, 0..5V or sometimes +-12V. Mouse electronics normally use +5V voltage. Microsoft serial mouse Pins used: TD, RTS and DTR are used only as power source for the mouse. RD is used to receive data from mouse. Serial data parameters: 1200bps, 7 databits, 1 stop-bit Data packet format: Data packet is 3 byte packet. It is send to the computer every time mouse state changes (mouse moves or keys are pressed/released). D7 D6 D5 D4 D3 D2 D1 D0 1. X 1 LB RB Y7 Y6 X7 X6 2. X 0 X5 X4 X3 X2 X1 X0 3. X 0 Y5 Y4 Y3 Y2 Y1 Y0 The byte marked with 1. is send first, then the others. The bit D6 in the first byte is used for syncronizing the software to mouse packets if it goes out of sync. LB is the state of the left button (0 means pressed down) RB is the state of the right button (0 means pressed down) X7-X0 movement in X direction since last packet (signed byte) Y7-Y0 movement in Y direction since last packet (signed byte) Mouse systems mouse Serial data parameters: 1200bps, 8 databits, 1 stop-bit The data is sent in 5 byte packets in following format: D7 D6 D5 D4 D3 D2 D1 D0 1. 1 0 0 0 0 LB CB RB 2. X7 X6 X5 X4 X3 X2 X1 X0 3. Y7 Y6 Y5 Y4 Y3 Y4 Y1 Y0 4. 5. LB is left button state (0=pressed, 1=released) CB is center button state (0=pressed, 1=released) RB is right button state (0=pressed, 1=released) X7-X0 movement in X direction since last packet in signed byte format (-128..+127), positive direction right Y7-Y0 movement in Y direction since last packet in signed byte format (-128..+127), positive direction up The last two bytes in the packet (bytes 4 and 5) contains information about movement data send in last packet. I have not found exact information about those bytes. I have not also found any use for such a information (maybe it is for syncronization or something like that). -- Tomi.Engdahl@hut.fi Helsinki University of Technology G=Tomi S=Engdahl O=hut ADMD=fumail C=fi Department of Computer Science # This text is provided "as is" without any express or implied warranty #