How Computer Mouse Works?
Mice first broke
onto the public stage with the introduction of the Apple Macintosh
in 1984, and since then they have helped to completely redefine
the way we use computers.
Every day of
your computing life, you reach out for your mouse whenever
you want to move your cursor or activate something. Your mouse
senses your motion and your clicks and sends them to the computer
so it can respond appropriately.
In this edition
of ,
we’ll take the cover off of this important part of the human-machine
interface and see exactly what makes it tick!
Evolution
It is amazing how simple and effective a mouse is, and it
is also amazing how long it took mice to become a part of
everyday life. Given that people naturally point at things
-- usually before they speak -- it is surprising that it took
so long for a good pointing device to develop. Although originally
conceived in the 1960s, it took quite some time for mice to
become mainstream.
In the
beginning there was no need to point because computers used
crude interfaces like teletype machines or punch cards for
data entry.
The
early text terminals did nothing more than emulate a teletype
(using the screen to replace paper), so it was many years
(well into the 1960s and early 1970s) before arrow keys were
found on most terminals.
Full
screen editors were the first things to take real advantage
of the cursor keys, and they offered humans the first crude
way to point.
Light
pens were used on a variety of machines as a pointing
device for many years, and graphics tablets, joy sticks and
various other devices were also popular in the 1970s. None
of these really took off as the pointing device of choice,
however.
When
the mouse hit the scene attached to the Mac, it was an immediate
success. There is something about it that is completely natural.
Compared to a graphics tablet, mice are extremely inexpensive
and they take up very little desk space. In the PC world,
mice took longer to gain ground, mainly because of a lack
of support in the operating system. Once Windows 3.1 made
Graphical User Interfaces (GUIs) a standard, the mouse became
the PC-human interface of choice very quickly.
Inside a Mouse
The main goal of any mouse is to translate the motion
of your hand into signals that the computer can use. Almost
all mice today do the translation using five components:
-
A
ball inside the mouse touches the desktop and rolls
when the mouse moves.
-
Two rollers
inside the mouse touch the ball. One of the rollers is
oriented so that it detects motion in the X direction,
and the other is oriented 90 degrees to the first roller
so it detects motion in the Y direction. When the ball
rotates, one or both of these rollers rotate as well.
The following image shows the two white rollers on this
mouse:
-
The
rollers each connect to a shaft, and the shaft
spins a disk with holes in it. When a roller rolls,
its shaft and disk spin. The following image shows the
disk:
-
On
either side of the disk there is an infrared LED
and an infrared sensor. The holes in the disk break
the beam of light coming from the LED so that the infrared
sensor sees pulses of light. The rate of the pulsing is
directly related to the speed of the mouse and the distance
it travels.
-
An
on-board processor chip reads the pulses from the
infrared sensors and turns them into binary data that
the computer can understand. The chip sends the binary
data to the computer through the mouse’s cord.
In this
optomechanical arrangement, the disk moves mechanically,
and an optical system counts pulses of light. On this mouse,
the ball is 21 mm in diameter. The roller is 7 mm in diameter.
The encoding disk has 36 holes. So if the mouse moves 25.4
mm (1 inch), the encoder chip detects 41 pulses of light.
You might
have noticed that each encoder disk has two infrared LEDs
and two infrared sensors, one on each side of the disk (so
there are four LED/sensor pairs inside a mouse). This arrangement
allows the processor to detect the disk’s direction of
rotation. There is a piece of plastic with a small, precisely
located hole that sits between the encoder disk and each infrared
sensor. It is visible in this photo:
This
piece of plastic provides a window through which the infrared
sensor can "see." The window on one side of the disk is located
slightly higher than it is on the other -- one-half the height
of one of the holes in the encoder disk, to be exact. That
difference causes the two infrared sensors to see pulses of
light at slightly different times. There are times when one
of the sensors will see a pulse of light when the other does
not, and vice versa. This page offers a nice explanation of
how direction is determined.
The
Optical Mouse
With advances it mouse technology, it appears that the
venerable wheeled mouse is in danger of extinction. The now-preferred
device for pointing and clicking is the optical mouse.
Developed
by Agilent Technologies and introduced to the world in late
1999, the optical mouse actually uses a tiny camera
to take 1,500 pictures every second.
Able
to work on almost any surface, the mouse has a small, red
light-emitting diode (LED) that bounces light off that
surface onto a complimentary metal-oxide semiconductor (CMOS)
sensor. The CMOS sensor sends each image to a digital signal
processor (DSP) for analysis. The DSP, operating at 18
MIPS (million instructions per second), is able to detect
patterns in the images and see how those patterns have moved
since the previous image. Based on the change in patterns
over a sequence of images, the DSP determines how far the
mouse has moved and sends the corresponding coordinates to
the computer. The computer moves the cursor on the screen
based on the coordinates received from the mouse. This happens
hundreds of times each second, making the cursor appear to
move very smoothly.
Optical
mice have several benefits over wheeled mice:
-
No
moving parts means less wear and a lower chance of failure.
-
There’s
no way for dirt to get inside the mouse and interfere
with the tracking sensors.
-
Increased
tracking resolution means smoother response.
-
They
don’t require a special surface, such as a mouse pad.
Although
LED-based optical mice are fairly recent, another type of
optical mouse has been around for over a decade. The original
optical-mouse technology bounced a focused beam of light off
a highly-reflective mouse pad onto a sensor. The mouse pad
had a grid of dark lines. Each time the mouse was moved, the
beam of light was interrupted by the grid. Whenever the light
was interrupted, the sensor sent a signal to the computer
and the cursor moved a corresponding amount.
This
kind of optical mouse was difficult to use, requiring that
you hold it at precisely the right angle to ensure that the
light beam and sensor aligned. Also, damage to or loss of
the mouse pad rendered the mouse useless until a replacement
pad was purchased. Today’s LED-based optical mice are far
more user-friendly and reliable.
Data Interface
Most mice in use today use the standard PS/2 type
connector, as shown here:
These
pins have the following functions (refer to the above photo
for pin numbering):
-
Unused
-
+5
volts (to power the chip and LEDs)
-
Unused
-
Clock
-
Ground
-
Data
Whenever
the mouse moves or the user clicks a button, the mouse sends
3 bytes of data to the computer. The first byte’s 8 bits contain:
-
Left
button state (0 = off, 1 = on)
-
Right
button state (0 = off, 1 = on)
-
0
-
1
-
X
direction (positive or negative)
-
Y
direction
-
X
overflow (the mouse moved more than 255 pulses in 1/40th
of a second)
-
Y
overflow
The next
2 bytes contain the X and Y movement values, respectively.
These 2 bytes contain the number of pulses that have been
detected in the X and Y direction since the last packet was
sent.
The data
is sent from the mouse to the computer serially on the data
line, with the clock line pulsing to tell the computer where
each bit starts and stops. Eleven bits are sent for each byte
(1 start bit, 8 data bits, 1 parity bit and 1 stop bit). The
PS/2 mouse sends on the order of 1,200 bits per second. That
allows it to report mouse position to the computer at a maximum
rate of about 40 reports per second. If you are moving the
mouse very rapidly, the mouse may travel an inch or more in
one-fortieth of a second. This is why there is a byte allocated
for X and Y motion in the data protocol.
|