User:Diego Moya/Mouse (computing)



In computing, a mouse (plural mice or mouses) functions as a pointing device by detecting two-dimensional motion relative to its supporting surface. Physically, a mouse consists of a small case, held under one of the user's hands, with one or more buttons. It sometimes features other elements, such as "wheels", which allow the user to perform various system-dependent operations, or extra buttons or features can add more control or dimensional input. The mouse's motion typically translates into the motion of a pointer on a display, which allows for fine control of a Graphical User Interface.

The name mouse, originated at the Stanford Research Institute, derives from the resemblance of early models (which had a cord attached to the rear part of the device, suggesting the idea of a tail) to the common mouse.

The first marketed integrated mouse — shipped as a part of a computer and intended for personal computer navigation — came with the Xerox 8010 Star Information System in 1981.

Etymology and plural
The first known publication of the word "mouse" is in Bill English's 1965 publication "Computer-Aided Display Control"

The Compact Oxford English Dictionary (third edition) and the fourth edition of The American Heritage Dictionary of the English Language endorse both computer mice and computer mouses as correct plural forms for computer mouse. The form mice, however, appears most commonly, while some authors of technical documents may prefer either mouse devices or the more generic pointing devices. The plural mouses treats mouse as a "headless noun."

Technologies
The computer mouse was invented by Douglas Engelbart at the Stanford Research Institute in 1963, and since then has undergo a variety of changes in technology to make it more precise, robust, cheap and versatile.

Douglas Engelbart at the Stanford Research Institute invented the mouse in 1963[1][2] after extensive usability testing. The first mouse, a bulky device (pictured) used two gear-wheels perpendicular to each other: the rotation of each wheel translated into motion along one axis. Bill English, builder of Engelbart's original mouse,[5] invented the so-called ball mouse in 1972 while working for Xerox PARC.[6] The ball-mouse replaced the external wheels with a single ball that could rotate in any direction. It came as part of the hardware package of the Xerox Alto computer.

The ball mouse utilizes two rollers rolling against two sides of the ball. One roller detects the horizontal motion of the mouse and other the vertical motion. The motion of these two rollers causes two disc-like encoder wheels to rotate, interrupting optical beams to generate electrical signals. The mouse sends these signals to the computer system by means of connecting wires. The driver software in the system converts the signals into motion of the mouse pointer along X and Y axes on the screen.

Optical mice have no mechanical parts. Instead they use a light-emitting diode and photodiodes to detect movement relative to the underlying surface, rather than moving some of its parts — as in a mechanical mouse. Unlike mechanical mice, which can become clogged with lint, optical mice have no rolling parts; therefore, they do not require maintenance other than removing debris that might collect under the light emitter. However, they generally cannot track on glossy and transparent surfaces, including some mouse-pads, sometimes causing the cursor to drift unpredictably during operation.

Other types of mice include inertial mice with accelerometers, 3D mice able to track position in three dimensions, and tactile mice that provide haptic feedback.

Applications of mice in user-interfaces
Computer-users usually utilize a mouse to control the motion of a cursor in two dimensions in a graphical user interface. Clicking or hovering can select files, programs or actions from a list of names, or (in graphical interfaces) through pictures called "icons" and other elements. For example, a text file might be represented by a picture of a paper notebook, and clicking while the pointer hovers this icon might cause a text editing program to open the file in a window. (See also point-and-click)

Users can also employ mice gesturally; meaning that a stylized motion of the mouse cursor itself, called a "gesture", can issue a command or map to a specific action. For example, in a drawing program, moving the mouse in a rapid "x" motion over a shape might delete the shape.

Gestural interfaces occur more rarely than plain pointing-and-clicking; and people often find them more difficult to use, because they require finer motor-control from the user. However, a few gestural conventions have become widespread, including the drag-and-drop gesture, in which:


 * 1) The user presses the mouse button while the mouse cursor hovers over an interface object
 * 2) The user moves the cursor to a different location while holding the button down
 * 3) The user releases the mouse button

For example, a user might drag-and-drop a picture representing a file onto a picture of a trash-can, thus instructing the system to delete the file.

Other uses of the mouse's input occur commonly in special application-domains. In interactive three-dimensional graphics, the mouse's motion often translates directly into changes in the virtual camera's orientation. For example, in the first-person shooter genre of games (see below), players usually employ the mouse to control the direction in which the virtual player's "head" faces: moving the mouse up will cause the player to look up, revealing the view above the player's head.

When mice have more than one button, software may assign different functions to each button. Often, the primary (leftmost in a right-handed configuration) button on the mouse will select items, and the secondary (rightmost in a right-handed) button will bring up a menu of alternative actions applicable to that item. For example, on platforms with more than one button, the Mozilla web browser will follow a link in response to a primary button click, will bring up a contextual menu of alternative actions for that link in response to a secondary-button click, and will often open the link in a new tab or window in response to a click with the tertiary (middle) mouse button.

Common mouse operations
Performing different operations on the mouse provide the activation of specific actions on the interface, with different meanings. GUIs may define and trigger a separate event for each gesture.

Low level gestures

 * Click - pressing and releasing a button.
 * Drag - holding a button and moving the mouse without releasing.
 * (left) Single-click - clicking the main button.
 * (left) Double-click - clicking the button two times in quick succession counts as a different gesture than two separate single clicks.
 * (left) Triple-click - clicking the button three times in quick succession.
 * Right-click - clicking the secondary button.
 * Button chording (a.k.a. Rocker navigation).
 * Combination of right-click then left-click.
 * Combination of left-click then right-click or keyboard letter.
 * Combination of left or right-click and the mouse wheel.
 * Clicking with a modifier key.

Standard semantic gestures

 * Rollover
 * Selection
 * Menu traversal
 * Drag and drop
 * Pointing
 * Goal crossing

Buttons
In contrast to the motion-sensing mechanism, the mouse's buttons have changed little over the years, varying mostly in shape, number, and placement. Engelbart's very first mouse had a single button; Xerox PARC soon designed a three-button model, but reduced the count to two for Xerox products. After experimenting with 4-button prototypes Apple reduced it back to one button with the Macintosh in 1984, while Unix workstations from Sun and others used three buttons. OEM bundled mice usually have between one and three buttons, although in the aftermarket many mice have always had five or more. A mouse click is the action of pressing (i.e. 'clicking', an onomatopoeia) a button in order to trigger an action, usually in the context of a graphical user interface (GUI). 'Clicking' an onscreen button is accomplished by pressing on the real button mouse while the cursor is placed over the widget.

The reason for the clicking noise made is due to the specific switch technology used nearly universaly in computer mice. This switch is called a micro switch or cherry switch and uses a stiff but flexible metal strip that is bent to actuate the switch. The bending of the metal makes a snapping or clicking noise.

The three-button scrollmouse has become the most commonly available design. As of 2007 (and roughly since the late 1990s), users most commonly employ the second button to invoke a contextual menu in the computer's software user interface, which contains options specifically tailored to the interface element over which the mouse pointer currently sits. By default, the primary mouse button sits located on the left-hand side of the mouse, for the benefit of right-handed users; left-handed users can usually reverse this configuration via software.

On systems with three-button mice, pressing the center button (a middle click) typically opens a system-wide noncontextual menu. In the X Window System, middle-clicking by default pastes the contents of the primary buffer at the pointer's position. Many users of two-button mice emulate a three-button mouse by clicking both the right and left buttons simultaneously.

One, two or three buttons?


The issue of whether pack-in bundled mice "should" have exactly one button or more than one has attracted an enormous amount of controversy. From the first Macintosh until late 2005 Apple shipped every computer with a single-button mouse, whereas most other platforms used multi-button mice. Apple and its advocates promoted single-button mice as more user-friendly, and portrayed multi-button mice as confusing for novice users. The Macintosh user interface, by design, always has and still does make all functions available with a single-button mouse. Apple's Human Interface Guidelines still specify that all software-providers need to make functions available with a single button mouse. However, X Window System applications, which Mac OS X can also run, have developed with the use of two-button or even three-button mice in mind, causing even simple operations like "cut and paste" to become awkward.

While there has always been an aftermarket for mice with two, three, or more buttons among experienced Macintosh users and extensive configurable support to complement such devices in all major software packages on the platform, Mac OS X shipped with hardcoded support for multi-button mice. On August 2 2005, Apple introduced their Mighty Mouse multi-button mouse, which has four independently-programmable buttons and a trackball-like "scroll ball" which allows the user to scroll in any direction. Since the mouse uses touch-sensitive technology, users can treat it as a one-, two-, three-, or four-button mouse, as desired.

Advocates of multiple-button mice argue that support for a single-button mouse often leads to clumsy workarounds in interfaces where a given object may have more than one appropriate action. One workaround was the double click, first used on the Apple Lisa, to allow both the "select" and "open" operation to be performed with a single button. Several common workarounds exist, and some are specified by the Apple Human Interface Guidelines. One such workaround (that favored on Apple platforms) has the user hold down one or more keys on the keyboard before pressing the mouse button (typically control on a Macintosh for contextual menus). This has the disadvantage that it requires that both the user's hands be engaged. It also requires that the user perform actions on completely separate devices in concert; that is, holding a key on the keyboard while pressing a button on the mouse. This can be a difficult task for a disabled user, although can be remedied by allowing keys to stick so that they do not need to be pressed down.

Another involves the press-and-hold technique. In a press-and-hold, the user presses and holds the single button. After a certain period, software perceives the button press not as a single click but as a separate action. This has two drawbacks: first, a slow user may press-and-hold inadvertently. Second, the user must wait for the software to detect the click as a press-and-hold, otherwise the system might interpret the button-depression as a single click. Furthermore, the remedies for these two drawbacks conflict with each other: the longer the lag time, the more the user must wait; and the shorter the lag time, the more likely it becomes that some user will accidentally press-and-hold when meaning to click. Studies have found all of the above workarounds less usable than additional mouse buttons for experienced users.

Most machines running Unix or a Unix-like operating system run the X Window System which almost always encourages a three-button mouse. X numbers the buttons by convention. This allows user instructions to apply to mice or pointing devices that do not use conventional button placement. For example, a left handed user may reverse the buttons, usually with a software setting. With non-conventional button placement, user directions that say "left mouse button" or "right mouse button" are confusing. The ground-breaking Xerox Parc Alto and Dorado computers from the mid-1970s used three-button mice, and each button was assigned a color. Red was used for the left (or primary) button, yellow for the middle (secondary), and blue for the right (meta or tertiary). This naming convention lives on in some Smalltalk environments, such as Squeak, and can be less confusing than the right, middle and left designations.

Acorn's RISC OS based computers necessarily use all three mouse buttons throughout their WIMP based GUI. RISC OS refers to the three buttons (from left to right) as,   and. functions in the same way as the "Primary" mouse button in other operating systems. will bring up a context-sensitive menu appropriate for the position of the mouse pointer, and this often provides the only means of activating this menu. This menu in most applications equates to the "Application Menu" found at the top of the screen in Mac OS, and underneath the window title under Microsoft Windows. serves for selecting multiple items in the "Filer" desktop, and for altering parameters of objects within applications — although its exact function usually depends on the programmer.

Additional buttons
Aftermarket manufacturers have long built mice with five or more buttons. Depending on the user's preferences and software environment, the extra buttons may allow forward and backward web-navigation, scrolling through a browser's history, or other functions, including mouse related functions like quick-changing the mouse's resolution/sensitivity. As with similar features in keyboards, however, not all software supports these functions. The additional buttons become especially useful in computer games, where quick and easy access to a wide variety of functions (for example, weapon-switching in first-person shooters) can give a player an advantage. Because software can map mouse-buttons to virtually any function, keystroke, application or switch, extra buttons can make working with such a mouse more efficient and easier.

In the matter of the number of buttons, Douglas Engelbart favored the view "as many as possible". The prototype that popularised the idea of three buttons as standard had that number only because "we could not find anywhere to fit any more switches".

Wheels
The scroll wheel, a notably different form of mouse-button, consists of a small wheel that the user can rotate to provide immediate one-dimensional input. Usually, this input translates into "scrolling" up or down within the active window or GUI-element. The scroll wheel can provide convenience, especially when navigating a long document. The scroll wheel nearly always includes a third (center) button. Under many Microsoft Windows applications, appropriate pressure on the wheel activates autoscrolling, and in conjunction with the control key (Ctrl) may give the capability of zooming in and out; applications that support this feature include Adobe Reader, Microsoft Word, Internet Explorer, Opera, Mozilla Firefox and Mulberry. Some applications also allow the user to scroll left and right by pressing the shift key while using the mouse wheel.

Note that scrollwheels almost always function more as two switches, rotating only in discrete "clicks" rather than actually acting as a third analog axis.

Manufacturers may refer to scroll-wheels by different names for branding purposes; Genius, for example, usually brand their scroll-wheel-equipped products "Netscroll".

Mouse Systems introduced the scroll-wheel commercially in 1995, marketing it as the Mouse Systems ProAgio and Genius EasyScroll. However, mainstream adoption of the scroll wheel mouse did not occur until Microsoft released the Microsoft IntelliMouse in 1996. It became a commercial success in 1997 when their Microsoft Office application suite and their Internet Explorer browser started supporting its wheel-scrolling feature. Since then the scroll wheel has become a standard feature of many mouse models.

Some mouse models have two wheels, separately assigned to horizontal and vertical scrolling. Designs exist which make use of a "rocker" button instead of a wheel — a pivoting button that a user can press at the top or bottom, simulating "up" and "down" respectively. A peculiar early example was a mouse by Saitek which had a joystick-style hatswitch on it.

A more recent form of mouse wheel is the tilt-wheel. Tilt wheels are essentially conventional mouse wheels that have been modified with a pair of sensors articulated to the tilting mechanism. These sensors are mapped, by default, to horizontal scrolling.

A third variety of built-in scrolling device, the scroll ball, essentially consists of a trackball embedded in the upper surface of the mouse. The user can scroll in all possible directions in very much the same way as with the actual mouse, and in some mice, can use it as a trackball. Mice featuring a scroll ball include Apple's Mighty Mouse and the IOGEAR 4D Web Cruiser Optical Scroll Ball Mouse. IBM's ergonomics laboratory designed a mouse with a pointing stick in it, envisioned to be used for scrolling, zooming or (with appropriate software) controlling a second mouse cursor.

Mouse speed
The computer industry often measures mouse sensitivity in terms of counts per inch (CPI), commonly expressed less correctly as dots per inch (DPI) — the number of steps the mouse will report when it moves one inch. In early mice, this specification was called pulses per inch (ppi). If the default mouse-tracking condition involves moving the pointer by one screen-pixel or dot on-screen per reported step, then the CPI does equate to DPI: dots of pointer motion per inch of mouse motion. The CPI or DPI as reported by manufacturers depends on how they make the mouse; the higher the CPI, the faster the pointer moves with mouse movement. However, software can adjust the mouse sensitivity, making the cursor move faster or slower than its DPI. Current software can change the speed of the pointer dynamically, taking into account the mouse's absolute speed and the movement from the last stop-point. Different software may name the settings "acceleration" or "speed" — referring respectively to "threshold" and "pointer precision".

For simple software, when the mouse starts to move, the software will count the number of "counts" received from the mouse and will move the pointer across the screen by that number of pixels (or multiplied by a factor f1=1,2,3). So, the pointer will move slowly on the screen, having a good precision. When the movement of the mouse reaches the value set for "threshold", the software will start to move the pointer more quickly; thus for each number n of counts received from the mouse, the pointer may move (f2 x n) pixels, where f2=2,3...10. Usually, the user can set the value of f2 by changing the "acceleration" setting.

Operating systems sometimes apply acceleration, referred to as "ballistics", to the motion reported by the mouse. For example, versions of Windows prior to Windows XP doubled reported values above a configurable threshold, and then optionally doubled them again above a second configurable threshold. These doublings applied separately in the X and Y directions, resulting in very nonlinear response. For example one can see how the things work in Microsoft Windows NT. Starting with Windows XP OS version of Microsoft and many OS versions for Apple Macintosh, computers use a smoother ballistics calculation that compensates for screen-resolution and has better linearity.

Mousepad
Englebart's original mouse did not require a mousepad; the mouse had two large wheels which could roll on virtually any surface. However, most subsequent mice starting with the steel roller ball mouse have needed mousepads in order to perform effectively.

The mousepad, the most common mouse accessory, appears most commonly in conjunction with mechanical mice, because in order to roll smoothly, the ball requires more friction than common desk surfaces usually provide. So-called "hard mousepads" for gamers or optical/laser mice also exist.

Although most optical and laser mice do not require a pad, some users find that using a mousepad provides more comfort and less jitter of the pointer on the display. Whether to use a hard or soft mousepad with an optical mouse is largely a matter of personal preference. One exception occurs when the desk surface creates problems for the optical or laser tracking. Other cases may involve keeping desk or table surfaces free of scratches and deterioration; when the grain pattern on the surface causes inaccurate tracking of the pointer, or when the mouse-user desires a more comfortable mousing surface to work on and reduced collection of debris under the mouse.

Foot covers
Mouse foot-covers (or foot-pads) consists of low-friction or polished plastic. This makes the mouse glide with less resistance over a surface. Some higher quality models have teflon feet to reduce friction even further.

Mice in the marketplace
Around 1981 Xerox included mice with its Xerox Star, based on the mouse used in the 1970s on the Alto computer at Xerox PARC. Sun Microsystems, Symbolics, Lisp Machines Inc., and Tektronix also shipped workstations with mice, starting in about 1981. Later, inspired by the Star, Apple Computer released the Apple Lisa, which also used a mouse. However, none of these products achieved large-scale success. Only with the release of the Apple Macintosh in 1984 did the mouse see widespread use.

The Macintosh design, commercially successful and technically influential, led many other vendors to begin producing mice or including them with their other computer products (in 1985, Atari ST, Commodore Amiga, Windows 1.0, and GEOS for the Commodore 64). The widespread adoption of graphical user interfaces in the software of the 1980s and 1990s made mice all but indispensable for controlling computers.

Mice in gaming
Mice often function as an interface for PC-based computer games and sometimes for video game consoles. They often appear in combination with the keyboard.

First-person shooters


Due to the cursor-like nature of the crosshairs in shooter games, a combination of mouse and keyboard provides a popular way to play first-person shooter (FPS) games. Players use the X-axis of the mouse for looking (or turning) left and right, leaving the Y-axis for looking up and down. The left button usually controls primary fire. Many gamers prefer this over a gamepad or joystick because it allows them to look around easily, quickly and accurately and also as a consequence aim without auto-aim assist. If the game supports multiple fire-modes, the right button often provides secondary fire from the selected weapon. Secondary weapons include grenades, knives, etc. The right button may also provide bonus options for a particular weapon, such as allowing access to the scope of a sniper rifle or allowing the mounting of a bayonet or silencer or sometimes even jumping.

Gamers can use a scroll wheel for changing weapons, or for controlling scope-zoom magnification. On most FPS games, programming may also assign more functions to additional buttons on mice with more than three controls. A keyboard usually controls movement (for example, WASD, for moving forward, left, backward and right, respectively) and other functions such as changing posture. Since the mouse serves for aiming, a mouse that tracks movement accurately and with less lag (latency) will give a player an advantage over players with less accurate or slower mice.

An early technique of players, circle-strafing, saw a player continuously strafing while aiming and shooting at an opponent by walking in circle around the opponent with the opponent at the center of the circle. Players could achieve this by holding down a key for strafing while continuously aiming the mouse towards the opponent.

Games using mice for input have such a degree of popularity that many manufacturers, such as Logitech, and Razer USA Ltd, make peripherals such as mice and keyboards specifically for gaming. Such devices frequently feature (in the case of mice) adjustable weights, high-resolution optical or laser components, additional buttons, ergonomic shape, and other features such as adjustable DPI.

Invert mouse setting
Many games, such as first- or third-person shooters, have a setting named "invert mouse" or similar (not to be confused with "button inversion", sometimes performed by left-handed users) which allows the user to look downward by moving the mouse forward and upward by moving the mouse backward (the opposite of non-inverted movement). This control system resembles that of aircraft control sticks, where pulling back causes pitch up and pushing forward causes pitch down; computer joysticks also typically emulate this control-configuration.

After id Software's Doom, the game that popularized FPS games but which did not support vertical aiming with a mouse (the y-axis served for forward/backward movement), competitor 3D Realms' Duke Nukem 3D became one of the first games that supported using the mouse to aim up and down. It and other games using the Build engine had an option to invert the Y-axis. The "invert" feature actually made the mouse behave in a manner that users now regard as non-inverted (by default, moving mouse forward resulted in looking down). Soon after, id Software released Quake, which introduced the invert feature as users now know it. Other games using the Quake engine have come on the market following this standard, likely due to the overall popularity of Quake.

Home consoles
In 1988 the educational video game system, the VTech Socrates, featured a wireless mouse with an attached mouse pad as an optional controller used for some games. In the early 1990s the Super Nintendo Entertainment System video game system featured a mouse in addition to its controllers. The Mario Paint game in particular used the mouse's capabilities, as did its successor on the N64. Sony Computer Entertainment released an official mouse product for the PlayStation console, and included one along with the Linux for PlayStation 2 kit. However, users can attach virtually any USB mouse to the PlayStation 2 console. In addition the PlayStation 3, and Xbox 360 also support USB mice. Recently the Wii also has this latest development added on in a recent software update.