The computer mouse was the first computer pointing device, developed concurrently with the graphic environment—the problem and solution created together. Through its near 40 years of evolution, the mouse has changed surprisingly little. Today's mice take the same basic form as the original—made to fit the hand—with the same control layout of buttons at your fingertips. Over so long a period, however, species naturally diverge, and so have mice. Where once there was only one breed of computer mouse, a mechanical creation wearing a single switch, now there are several.

Mice can be distinguished by five chief differences: the technology they use to detect motion (mechanical or optical), the number of buttons they have, the presence of a scroll wheel, the manner in which they connect with their computer hosts, and the protocol or language they use to encode the information they send to your computer. The last two of these differences also apply to other pointing devices, so we'll hold back on our discussion of them until we've looked at mouse alternatives.

As a mechanical transducer, a mouse somehow has to be able to detect its motion across your work surface. Although engineers have a wide range of position-sensing technologies to choose from—they could even use the satellite-based Global Positioning System to determine the absolute location of the mouse and then deduce changes you make in its position—only two techniques have actually been used in practice. These are mechanical sensing and optical sensing.

Mechanical Mice

The first mouse was a mechanical design based on a small ball that protruded through its bottom and rotated as the mouse was pushed along a surface. Switches inside the mouse detected the movement and relayed the direction of the ball's rotation to the host computer.

Although the ball is free to rotate in any direction, only four directions are detected, corresponding to two axes of a two-dimensional coordinate system. The movement in each of the four directions is quantified (in hundredths of an inch) and sent to the host as a discrete signal for each discrete increment of movement.

The mechanical mouse works on just about any surface. In general, the rotating ball has a coarse texture and is made from a rubbery compound that even gets a grip on smooth surfaces. In fact, you can even turn a mechanical mouse upside down and spin the ball with your finger (although you'll then have difficulty fingering the pushbuttons!).

On the other hand, the mechanical mouse requires that you move it across a surface of some kind, and all too many desks do not have enough free space to give the mouse a good run. (Of course, if all else fails, you can run a mechanical mouse across your pant leg or skirt, but you're likely to get some odd looks.) In addition, mechanical parts can break. A mechanical mouse tends to pick up dirt and lint, which can impede its proper operation. You should therefore regularly clean your mechanical mouse even if you think your desktop is spotless. Cleaning is easy, if bothersome. Twist the ring on the bottom of the mouse that retains the ball counterclockwise to release the ball. Remove both ring and ball. With a Q-tip dampened with rubbing alcohol, scrub off the residue you find inside, particularly that on the small rubber rollers (you may need to use your fingernail to pry loose some of the more tenacious grime). After the alcohol evaporates—usually after a few dozen seconds—reassemble your mouse.

Inside the mechanical mouse, the ball rolls against two perpendicular sensors. These sensors generate electrical pulses as they rotate, and the mouse sends the pulses to your computer. By counting the number of pulses in each direction, your computer can calculate the movement of the mouse.

The sensors can use various technologies. For example, the wheel may be optically encoded with an alternating pattern of black and white (or clear and opaque), and a photo-detector senses the changes. Alternatively, the sensor may use electromagnetic technology, sensing as a pattern of magnetic material passes a detector.

Optical Mice

The alternative to the mechanical mouse is the optical mouse. Instead of a rotating ball, the optical mouse uses a light beam to detect movement across your desk surface. Because no moving parts are involved, there's less inside an optical mouse to get dirty and break.

Original Design

The first optical mouse required special patterned mouse pads to operate properly and used two pairs of LEDs and photodetectors on its bottom, one pair oriented at right angles to the other. Its matching mouse pad was coated with an overlapped pattern of blue and yellow grids. Each pair of LEDs and photodetectors detected motion in either direction across one axis of the grid. A felt-like covering on the bottom of the mouse made it easy to slide across the plastic-coated mouse pad.

The big disadvantage of the optical mouse was that it required that you use its special mouse pad and put the pad somewhere. The pad itself could get dirty, be damaged, or simply get lost. On humid days, the plastic coating of the pad might stick to your bare forearm and lift off in sheets. For these and other reasons, this form of optical technology has fallen from favor in mouse design despite its simplicity and low cost.

Current Design

Today's optical mice bear little resemblance to the original optical designs. Comparing the two is like comparing an abacus to a computer. The original optical mouse only had to be smart enough to count lines as they rippled past a sensor. The current design uses a pattern-recognition system in a digital processor that in itself is more powerful than a complete computer of only a few years ago. The sophisticated pattern-processing capabilities of the modern optical mouse frees the critter from the tyranny of the mouse pad. Instead of following the preprinted pattern on the pad, today's optical mice detect the minuscule variations in the brightness of whatever surface you run them across. They rely on the texture that's present on most surfaces as the pattern they require to sense motion.

The modern optical system has several advantages. As with older optical mice, no moving parts are required to sense motion, so the mice require no maintenance. They don't get dirty, and they do not wear out. Moreover, optical mice can work on surfaces that cause mechanical mice to falter, such as soft fabric or curved hard surfaces. On the other hand, current optical technology has a few shortcomings. The optical sensors do not work well on surfaces such as glass that lack visible detail or are reflective. In addition, surfaces can be too patterned. A highly repetitive pattern such as the screens applied to photos to print them in newspapers and magazines can confuse modern optical sensors.

A current optical mouse has three functional parts: an illumination system, a sensor that's essentially a small video camera, and a digital signal processor for pattern recognition.

The optical mouse includes its own illumination for the surface over which it operates, generally an inexpensive red light emitting diode (LED). The self-contained light source is more than a means to operate the mouse when you turn the lights low. It's key to creating a pattern on the work surface that the mouse can identify. When the light source is kept at an oblique angle, close to the surface and sharply focused, it can create a pattern of bright areas and shadows even on seemingly smooth surfaces.

The sensor detects the light-and-shadow pattern created by the illumination system on the work surface. Like a miniature video camera, the sensor comprises a lens and photodetector array. The lens focuses the pattern on the photodetector array, a matrix of light-sensitive CMOS elements. In today's optical mice, this camera system is small and accurate enough to resolve details measuring about 800 to the inch.

The digital signal processor (DSP) samples the output of the sensor about several thousand times each second. It compares each image to the previous one, looking for changes in the light-and-shadow pattern. The processor can detect both the direction and magnitude in the shift in the pattern, which directly correspond to any movement of the mouse. Because the sampling occurs so often, sequential images overlap and changes are apt to be small, which allow relatively simple algorithms to suffice for detecting changes.

The choice of algorithm is the choice of the mouse's designer. DSPs make brute-force methods easy. The DSP samples the brightness at every pixel of the sensor of the previous sample to the current sample. It then shifts the current sample one pixel in an arbitrary direction and checks the match. It tries every direction in turn, then shifts another pixel and tries each direction. Once it has measured the difference between all of these, it knows the one showing the least difference is the one that reflects the most likely movement of the mouse. Designers can simplify and quicken this procedure by adding more intelligence. For example, when the DSP finds an exact match, there's no reason for it to keep checking. Or rather than choosing an arbitrary direction for its first test, it could start in the same direction as the last movement.

The sampling rate determines the maximum speed at which you can move your mouse and expect it to reliably indicate the motion. The slowest-sampling mice capture about 1500 images per second; the fastest, about 6000 images per second. According to Microsoft, a 2500-samples-per-second rate is sufficient to handle a mouse that moves at a physical rate of 11 inches per second. At 6000 samples per second, a mouse can track movement made at speeds up to 37 inches per second. Even the most rapid mouse movements rarely exceed 30 inches per second.

After the processor has detected the motion of the mouse, a modern optical mouse functions much like a mechanical mouse, relaying position information to the host computer through a serial or USB port.


In its purest form, as envisioned by the inventor of the mouse, Douglas Engelbart, a mouse has exactly one pushbutton. Movement of the mouse determines the position of the onscreen cursor, but a selection is made only when that button is pressed, preventing any menu selections that the mouse has inadvertently dragged across from being chosen.

One button is the least confusing arrangement and the minimum necessary to carry out mouse functions. Operating the computer is reduced to nothing more than pressing the button. Carefully tailored menu selections allow the single button to suffice in controlling all computer functions. The Apple Macintosh uses this kind of mouse with one button.

As Microsoft developed Windows, however, its engineers opted instead for two buttons next to each other in place of one. Two buttons allow designers more flexibility—for example, one can be given a "Do" function, and a second, an "Undo" function. In a drawing program, one might "lower" the pen analog that traces lines across the screen while the other button "lifts" the pen.

Of course, having three buttons would be even better. The programmer would have still more flexibility. Even a fourth button could be added—but as the number of mouse buttons rises, the mouse becomes increasingly like a keyboard. It becomes a more formidable device with a more rigorous learning curve. A profusion of mouse buttons is counterproductive.

Three buttons would appear to be the practical limit, because three positions are available for the index, middle, and ring fingers while the thumb and pinkie grab the sides of the mouse. Designers have, however, created mice that are little more than miniaturized keyboards with dozens of buttons. Five-button mice are in current production.

In general, having three or more buttons is superfluous. Most Windows applications are designed to recognize only the two standard mouse buttons. Special applications may take advantage of additional buttons. Moreover, the driver software for most multibutton mice lets you decide the function to assign to each button. The software makes the button functions programmable, allowing you to make each button mimic your press of a series or combination of keystrokes on your keyboard.

The technology behind the buttons is simple, no matter the number of buttons. Each button presses down on an electrical switch or contact. The circuitry inside the mouse detects your press as the closure of an electrical circuit and then relays a digital code to your computer to indicate the button has been pressed. When you release the button, the circuitry responds with a different code that indicates you've let go. Each of the buttons has its own code value for its press and release.


In 1997, Microsoft added a new feature to the design of its first Intellimouse, a rubber wheel nestled between its two pushbuttons. This scroll wheel allows you to scroll the screen without clicking on scroll bars.

Actually, the mouse's wheel puts only about one-sixth of the circumference of a rubber tire under your finger's control, the rest is hidden inside the mouse. You recognize it as a wheel only by its feel. The tire, about three-eighths inch across and made from textured rubber to give your fingers a better grip, fits a small plastic wheel-and-axle that's molded as a single piece.

Inside the mouse, the wheel is connected to a rotary motion sensor. In fact, the wheel may be part of the sensor itself. As with the motion sensors of mechanical mice, the one used by the wheel may be based on optical or magnetic technology. The optical sensor detects the movement of a black-and-white pattern on the wheel, counting the stripes to detect how many degrees you've turned the wheel. Magnetic sensors detect a grooved or notched texture to the magnetic material on the wheel to count the degrees you spin the wheel. The electronics of the mouse send out codes corresponding to the wheel's motion that are recognized by the mouse's driver software.

The wheel should smoothly spin but doesn't by design. To prevent you from inadvertently scrolling with every brush of the wheel, mechanical resistance is added to the wheel. Most often it takes the form of detents—the mouse notches from one position to the next as it rotates. A spring-loaded stop lodges its circular base into a matching notch or pit in the wheel. As you rotate the wheel, you force the stop upward, and it pushes itself back down into the next notch. The action is purely mechanical and independent of the motion sensing.


Mice are sometimes rated by their resolution—the number of counts per inch (CPI) that they can detect. When a mouse is moved, it sends out a signal indicating each increment of motion it makes as a single count. The number of these increments in an inch of movement equals the mouse's CPI rating.

The higher the CPI, the finer the detail in the movement the mouse can detect. Unless the mouse driver compensates, higher resolution has an odd effect. More resolution translates into faster movement of the mouse pointer onscreen because the screen pointer is controlled by the number of counts received from the mouse, not the actual distance the mouse is moved. Consequently, a higher-resolution mouse is a faster mouse, not a more precise mouse.

The true limit on how precisely you can position your mouse cursor is your own hand. If you want to be more accurate with your mouse, you can compensate for your human limitations by opting for less resolution from your mouse. Because you have to move your mouse physically farther for each onscreen change, a lower mouse resolution helps you put the cursor where you want it.

     Python   SQL   Java   php   Perl 
     game development   web development   internet   *nix   graphics   hardware 
     telecommunications   C++ 
     Flash   Active Directory   Windows