Bookmark /  Discuss  /  Edit  this page or submit new.
6 pin mini-DIN female (PS/2 STYLE) connector layout
6 pin mini-DIN female (PS/2 STYLE) connector
at the computer
6 pin mini-DIN male (PS/2 STYLE) connector layout
6 pin mini-DIN male (PS/2 STYLE) connector
at the mouse cable
PS2 ports use synchronous serial signals to communicate between computer and keyboard or mouse


Data transmission from the mouse to the computer is done as in figure 1, each clock period is usually between 70 to 150 microseconds (10 to 25 microseconds for transitions and 30 to 50 microseconds for high or low state), some may feel that these are large margins both this works good since this is a synchronous port (this also helps cut on the cost of high precision clocks). The data line transition is made on the falling edge of the clock signal and is usually sampled when the clock is low. Each data packet is composed of 11 bits, 1 start bit (which is low), 8 data bits, 1 odd parity bit and 1 stop bit (high).
 

Pin Name Dir Description
1 DATA <-> Key Data
2 n/c - Not connected
3 GND --- Gnd
4 VCC --> Power , +5 VDC
5 CLK --> Clock
6 n/c - Not connected
Note: Direction is Computer relative Mouse.

 

Data

Mouse data packets or keyboard scan codes are sent from the mouse or keyboard to the computer on this single wire serially.

Clock

This signal is sent from the mouse or keyboard to synchronise the data signal.

+5 Vdc

This is a simple 5 volts signal for giving power to the mouse or keyboard.

Ground

This is a common ground signal used as a return path for data and is a reference to logical 0.

When the PS2 mouse sends it"s information it must send 3 consecutive data packets in a row. Each packet sent has different information for button pressed, movement and direction of movement. The table below shows what information is sent in each packet. Please remember that this information is of general nature and can change from one manufacturer to another. This is for a 2 button mouse.  I have no idea what bit is used for other types of mice, like those with 3 buttons or with scrolling wheels.

 

  D7 D6 D5 D4 D3 D2 D1 D0
1st YV XV YS XS 1 0 R L
2nd X7 X6 X5 X4 X3 X2 X1 X0
3rd Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0


 

L Left Button State (1 = pressed down)
R Right Button State (1 = pressed down)
X0-X7 Movement in the X direction
Y0-Y7 Movement in the Y direction
XS Direction of movement in the X axis (1 = UP)
YS Direction of movement in the Y axis (1 = LEFT)
XV,YV Overflow in the movement data bits (1 = overflow has occured)


The X and Y direction bits send the number of bits you moved since the last time this information was sent, the actual direction of the movement is sent in the XS and XY bits. If the movement of the mouse was higher than 255 data displacements since the information was last sent the overflow bit will go to one and will reset back to 0 as soon as the current data is sent. The way the driver handles overflow can change from one mouse driver to another, some may move the pointer 256 data bits and some may even decide to leave the pointer where it is! Some of you might wonder what exactly are the data bits sent for the movement bits, you will be able to shortly find this out in the i/o devices section on mice which will be online shortly!

PS2 <-> COM MOUSE ADAPTERS

Many of you asked how to connect serial mice to PS2 ports and vice-versa. This is a very touchy subject and I wouldn't recommend to anyone to go ahead and try make these adapters on your own risk. Most mice are either built for PS2 or serial ports and some are built for both, in the later case the appropriate adapters are supplied with the mouse when you buy it or can be purchased as an option.
Because of the nature of the ports the two kinds of mice are not directly compatible. They don't send out the information in the same matter (different protocols) and don't use the same signal levels, PS2 mice uses TTL logic signals (0-5 volts) and serial mice use RS232 signals (typically +10 volts - -10 volts). Power is also different for COM and PS/2 mice; both-purpose mouse must accept -25..+25 on the power pin without any damage, and work with +5 to +10.

When a COM mouse is built for operation on both ports, it comes with the 9 pin D-Shell used in serial mice.  These connectors have 9 pins and the serial mouse only uses between 5 and 8 pins. This leaves us with at least 1 spare line, this is the line that the PS2 data portion of the mouse will use for sending it's information. So as you can see, the adapters are designed to work on a particular make and model and are not usually compatible with other mice. Some sources refer to this adapter (which is, probably, most often used):

COM mouse name COM # PS/2 # PS/2 name
power +5/+10 4+7+9 4 +5V
extra (PS/2) data pin 1 1 Data
TXD+GND 3+5 3 Gnd
extra (PS/2) clock pin 6 5 Clock

When a PS/2 mouse is built for operation on both ports, things are little better. Most PS/2 COM-compatible mice use PS/2 pins 2 and 6 to provide extra lines for COM-compatibility. This assumes the following adaptor:

PS/2 mouse name PS/2 # COM # COM name
GND 3 5 GND
extra (COM) RxD 2 2 RxD
extra (COM) TxD 6 3 TxD
power +5/+10 4 7 RTS

In both cases, there is just chances any of these adaptors will work. If pins 2 and 6 in a PS/2 mouse are not connected to anything (this can be checked with a multitester), PS/2 mouse has no COM-support.

Mouse resolution and tracking rate

The standard PS/2 mouse (with Logitech mouse) defaults to 160 CPI and can be switched to 40, 80, 160 or 320 CPI with software. Microsoft mouse driver for Windows 3.x and Windows 95 defauls to 160 couns per inch. The maximum tracking rate for PS/2 mouse is 40 report/second * 255 counts per report = 10200 counts per second. For 100 CPI mouse this would indicate maximum trackign rate of 102 inches per second and for 400 CPI mouse only 25.2 inches per second.

Bi-directional transmission is controlled by the CLK and DATA lines. Both are fed by an open collector device which lets either host or mouse force the line to "0". During non-transmission, CLK is at "1" and DATA can be at "0" or "1".

The host can inhibit mouse transmission by forcing CLK to "0". If the host inhibits the mouse while it is transmitting, the byte must be retransmitted (if the inhibit state arrived before the 11th clock).

There is a simple description in my old IBM PS/2 model 50/60 technical reference. The mouse interface is the same as the keyboard interface. The Intel 8042 supports two channels, one for keyboard and one for the auxiliary device (mouse, trackball, touchpad). Pin 1 is the data, pin3 ground, pin 4 +5V and pin 5 clock.

Receiving data: Check "clock". If inactive, there is a bit on the "data" line. Each transmission unit is one start bit, eight data bits, odd parity and one stop bit. Start bits are low, stop bits high. Each clock active or inactive period is 30 to 50 microseconds. Data transition to falling edge of clock is 5 to 25 microseconds.

Sending: Check that both clock and data are high. Pull down data for start bit, and start clocking.

NOTE: Logitech has made their own extension also to this protocol to allow three buttons. 

Mouse movement detectors

The most tyical construction of mouse movement detectors are optomechanical detectors. The system works so that X and Y movement of the mouse rotates slotted disks. The movement info is then picked from those slotted disks using optical sensors. There are two sensors for each slotted disk and those sensors give out two singals which are 90 degreed out of phase compared to each other.

sensor #0 ----    ----    ----    ----   light
              ----    ----    ----       no light

sensor #1   ----    ----    ----    --   light
          --    ----    ----    ----    no light

So if we call the getting light phase "1", and the not getting light phase (when the light is blocked by the wheel) "0" then it looks like this:

sensor #0 - 1111000011110000111100001111
sensor #1 - 0011110000111100001111000011
            ^^^^^^^^
            full cycle of pulses

This can be decoded into four discrete bit pairs for the two sensors:

         Forward direction     Backwards direction
            0 1 2 3                3 2 1 0
sensor #0 - 1 1 0 0                0 0 1 1
sensor #1 - 0 1 1 0                0 1 1 0

This information can be easily decoded usign small microcontroller and then sent to computer in correct format.

 

Is this document correct or incorrect?.
There are 14 reports in our database: 10 positive and 3 negative.
Pinouts.ru > Input devices (keyboards, mices, joysticks) > Pinout of Mouse (PS/2) and layout of 6 pin mini-DIN female (PS/2 STYLE) connector and 6 pin mini-DIN male (PS/2 STYLE) connector
This page contain parts under Copyright © 2000-2014 by pinouts.ru team.
No portion of this webpage may be reproduced in any form without providing visible HTML link to Pinouts.ru . Webmaster permission required in any other cases.
Efforts have been made to ensure this page is correct, but it is the responsibility of the user to verify the data is correct for their application.