# Mouse button

A mouse button is an electric switch on a computer mouse which can be pressed (“clicked”) to select or interact with an element of a graphical user interface. Mouse buttons are most commonly implemented as miniature snap-action switches (micro switches).
The three-button scrollmouse has become the most commonly available design. 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 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.

## Design

In contrast to its motion-tracking mechanism, the mouse's buttons have changed little over the years, varying mostly in shape, number, and placement.
A mouse click is the action of pressing (i.e. 'clicking', an onomatopoeia) a button 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 mouse button while the pointer is placed over the onscreen button's icon.
The reason for the clicking noise made is due to the specific switch technology used nearly universally in computer mice. The switch is a subminiature precision snap-action type; the first of such types were the Honeywell MICRO SWITCH products.

## Operation

Double clicking refers to clicking and releasing a button (often the primary one, usually the left button) twice. Software recognizes both clicks, and if the second occurs within a short time, the action is recognised as a double click.
If the second click is made after the time expires it is considered to be a new, single click. Most modern operating systems and mice drivers allow a user to change the speed of a double click, along with an easy way to test the setting. Some software recognises three or more clicks, such as progressively selecting a word, sentence, or paragraph in a word processor text page as more clicks are given in a sequence.
With less abstracted software, a mouse button's current state (“mouse up” and “mouse down”) is monitored, allowing for modal operations such as drag and drop.

## Number of buttons

Douglas Engelbart's first mouse had a single button; Xerox PARC soon designed a three-button model, but reduced the count to two for Xerox products. Apple decided on one button for their GUI environments on commercial release in 1983, while most other PC environments standardized on two, and most professional workstation environments used three. Aside from such OEM bundled mice, usually having between one and three buttons, many aftermarket mice have always had five or more, with varying amounts of additional software included to support them.
This state of affairs continued until the late 1990s, when growing support for mice with a scroll wheel after the 1996 introduction of Microsoft's IntelliMouse incidentally made 3-button pointing devices ubiquitous on OEM hardware. The one major holdout, Apple, finally went multi-button in 2005 with their Mighty Mouse, though all Apple laptops would continue to use one-button trackpads until their first buttonless trackpad in 2008.

### Computer

"My friend Marvin Minsky tells me there's great controversy in the artificial intelligence community over how many buttons a mouse should have", Jerry Pournelle wrote in 1983. In the matter of the number of buttons, Engelbart favored the view “as many as possible.” The prototype that popularized the idea of three buttons as standard had that number only because “we could not find anywhere to fit any more switches.”
Those favoring single-button mice argue that a single button is simpler for novice users to understand, and for developers to support. In addition, as a lowest common denominator option, it offers both a path gradual advancement in user sophistication for unfamiliar applications, and a fallback for diverse or malfunctioning hardware. Those favoring multiple-button mice argue that support for a single-button mouse often requires clumsy workarounds in interfaces where a given object may have more than one appropriate action. Several common workarounds exist, and some are specified by the Apple Human Interface Guidelines.
One workaround was the double click, first used on the Lisa, to allow both the “select” and “open” operation to be performed with a single button.
Another workaround 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 held 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.
A workaround for users of two-button mice in environments designed for three buttons is mouse chording, to simulate a tertiary-click by pressing both buttons simultaneously.

## 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 gaming, where quick and easy access to a wide variety of functions (such as macros and DPI changes) 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.

## Scroll wheel

Scrollmice almost always mount their scroll wheels on an internal spring-loaded frame and switch, so that simply pushing down makes them work as an extra button, made easier to do without accidentally spinning it by wheel detents present in most scrollmice. The wheel can both be rotated and clicked, thus most mice today effectively have three buttons.
In web browsers, clicking on a hyperlink opens it in a new tab, and clicking on a tab itself usually closes it.
Some mice have scroll wheels that can be tilted sideways for sideways scrolling; others may contain a second scroll wheel for this purpose.
Omnidirectional scrolling can be performed in various document viewers including web browsers and PDF readers by middle-clicking and moving the pointer in any direction. This can be done by holding and scrolling until released, or by short clicking and scrolling until clicking once more (any mouse button) or pressing the Esc key. Some applications such as "Xreader" simulate a drag-to-scroll gesture as used by touch screen devices such as smartphones and tablet computers.
In Linux, pressing the left and right mouse buttons simultaneously simulates a middle click, and middle-clicking into a text area pastes the clipboard at the mouse cursor's location (not the blinking cursor's existing location).
Text editors including Kate and Xed allow switching between open tabs by scrolling while the cursor points at the tab bar.

## Software environment use

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 other developers need to make all functions available with a single-button mouse as well. Various functions commonly done with additional buttons on other platforms were, when implemented on the Mac by most developers, instead done in conjunction with modifier keys. For instance, contextual menus were most often invoked by “Control Key-click,” a behavior later explicitly adopted by Apple in OS 8's Contextual Menu Manager.
While there has always been a Macintosh aftermarket for mice and other pointing devices with two, three, or more buttons, and extensive configurable support (usually through keyboard emulation) to complement such devices in many major software packages on the platform, it wasn't until Mac OS X shipped that support for multi-button mice was hardcoded. X Window System applications, which Mac OS X can also run, have been developed with the use of two or three-button mice in mind.
While historically, most PC mice provided two buttons, only the primary button was standardized in use for MS-DOS and versions of Windows through 3.1x; support and functionality for additional buttons was application specific. However, in 1992, Borland released Quattro Pro for Windows (QPW), which used the right (or secondary) mouse button to bring up a context menu for the screen object clicked (an innovation previously used on the Xerox Alto, but new to most users). Borland actively promoted the feature, advertising QPW as “The right choice,” and the innovation was widely hailed as intuitive and simple. Other applications quickly followed suit, and the “right-click for properties” gesture was cemented as standard Windows UI behavior after it was implemented throughout Windows 95.
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 Select, Menu and Adjust. Select functions in the same way as the “Primary” mouse button in other operating systems. Menu will bring up a context-sensitive menu appropriate for the position of the 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. Adjust 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.