Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Computer mouse
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Connectivity and communication protocols == [[File:MS-Arc-Mouse.jpg|thumb|A Microsoft wireless [[Arc Mouse]], marketed as "travel-friendly" and foldable but otherwise operated exactly like other 3-button wheel-based optical mice]] To transmit their input, typical cabled mice use a thin electrical cord terminating in a standard connector, such as [[RS-232C]], [[PS/2 connector|PS/2]], [[Apple Desktop Bus|ADB]], or [[Universal Serial Bus|USB]]. Cordless mice instead transmit data via [[infrared]] radiation (see [[infrared Data Association|IrDA]]) or [[radio]] (including [[Bluetooth]]), although many such cordless interfaces are themselves connected through the aforementioned wired serial buses. While the electrical interface and the format of the data transmitted by commonly available mice is currently standardized on USB, in the past it varied between different manufacturers. A [[bus mouse]] used a dedicated interface card for connection to an [[IBM Personal Computer|IBM PC]] or compatible computer. Mouse use in DOS applications became more common after the introduction of the [[Microsoft Mouse]], largely because Microsoft provided an open standard for communication between applications and mouse driver software. Thus, any application written to use the Microsoft standard could use a mouse with a driver that implements the same API, even if the mouse hardware itself was incompatible with Microsoft's. This driver provides the state of the buttons and the distance the mouse has moved in units that its documentation calls "[[#Mouse speed|mickeys]]".<ref name="int33h">{{cite web |url=http://gd.tuwien.ac.at/languages/c/programming-bbrown/advcw3.htm#mouse |title=Interfacing to mouse.sys |access-date=2011-10-08 |url-status=dead |archive-url=https://web.archive.org/web/20110819232148/http://gd.tuwien.ac.at/languages/c/programming-bbrown/advcw3.htm#mouse |archive-date=2011-08-19}}</ref> === Early mice === [[File:Computer Museum of America (02).jpg|thumb|Xerox Alto mouse]] In the 1970s, the [[Xerox Alto]] mouse, and in the 1980s the Xerox [[optical mouse]], used a [[rotary encoder#Incremental rotary encoder|quadrature-encoded]] X and Y interface. This two-bit encoding per dimension had the property that only one bit of the two would change at a time, like a [[Gray code]] or [[Johnson counter]], so that the transitions would not be misinterpreted when asynchronously sampled.<ref name="Lyon_1981" /> The 1985 [[Sun-3]] workstations would ship with a ball based, bus mouse, connected via an 3 pin mini din socket. Sun later replacing the ball for an optical mechanism dependent on a patterned, reflective, metallic mouse mat, with their type M4 mouse.<ref>{{Cite web |title=Sun M4 Optical Mouse |url=https://www.computerhistory.org/collections/catalog/102689966 |website=Computer History Museum}}</ref> The earliest mass-market mice, such as the [[Apple mouse#Models|original Macintosh]], [[Amiga]], and [[Atari ST]] mice used a [[D-subminiature]] 9-pin connector to send the quadrature-encoded X and Y axis signals directly, plus one pin per mouse button. The mouse was a simple optomechanical device, and the decoding circuitry was all in the main computer. The 1987 [[Acorn Archimedes]] line kept the quadrature-encoded mice of the 68000 computers, and the aftermarket mice sold for 8-bit home computers, like the [[AMX Mouse]], but opted for its own propriety 9 pin mini din connector.<ref>{{Cite web |title=SmallyMouse |url=https://www.domesday86.com/?page_id=245 |access-date=2025-04-18 |website=Domesday86.com |language=en-GB}}</ref> === Serial interface and protocol === [[File:Mouse quadrature encoding Lyon 1980.png|thumb|Signals XA and XB in [[quadrature phase|quadrature]] convey X-direction motion, while YA and YB convey Y-dimension motion; here the pointer (cursor) is shown drawing a small curve.]] Because the IBM PC did not have a [[quadrature decoder]] built in, early PC mice used the [[RS-232C]] serial port to communicate encoded mouse movements, as well as provide power to the mouse's circuits. The [[Mouse Systems Corporation]] (MSC) version used a five-byte protocol and supported three buttons. The Microsoft version used a three-byte protocol and supported two buttons. Due to the incompatibility between the two protocols, some manufacturers sold serial mice with a mode switch: "PC" for MSC mode, "MS" for Microsoft mode.<ref name="Paul_2002">{{cite web |title=Re: [fd-dev] ANNOUNCE: CuteMouse 2.0 alpha 1 |author-first=Matthias R. |author-last=Paul |work=freedos-dev |date=2002-04-06 |url=https://marc.info/?l=freedos-dev&m=101807226917577 |access-date=2020-02-07 |url-status=live |archive-url=https://web.archive.org/web/20200207130948/https://marc.info/?l=freedos-dev&m=101807226917577&w=2 |archive-date=2020-02-07}}</ref><ref name="Isaja_2003">{{cite web |title=FreeDOS-32 – Serial Mouse driver |author-first=Salvatore |author-last=Isaja |date=2003-09-03 |url=http://freedos-32.sourceforge.net/showdoc.php?page=sermouse |url-status=dead |archive-url=https://web.archive.org/web/20090302000300/http://freedos-32.sourceforge.net/showdoc.php?page=sermouse |archive-date=2009-03-02}}</ref> === Apple Desktop Bus === [[File:Apple Macintosh Plus mouse.jpg|thumb|[[Macintosh Plus|Apple Macintosh Plus]] mice: beige mouse (left), platinum mouse (right), 1986]] In 1986 [[Apple Inc.|Apple]] first implemented the [[Apple Desktop Bus]] allowing the [[daisy chain (electrical engineering)|daisy chaining]] of up to 16 devices, including mice and other devices on the same bus with no configuration whatsoever. Featuring only a single data pin, the bus used a purely polled approach to device communications and survived as the standard on mainstream models (including a number of non-Apple workstations) until 1998 when Apple's [[iMac]] line of computers joined the industry-wide switch to using [[Universal Serial Bus|USB]]. Beginning with the Bronze Keyboard PowerBook G3 in May 1999, Apple dropped the external ADB port in favor of USB, but retained an internal ADB connection in the [[PowerBook G4]] for communication with its built-in keyboard and trackpad until early 2005. === PS/2 interface and protocol === {{Further|PS/2 port|l1=PS/2 connector}} [[File:ps-2-ports.jpg|thumb|Color-coded PS/2 connection ports; purple for keyboard and green for mouse]] With the arrival of the [[IBM Personal System/2|IBM PS/2]] personal-computer series in 1987, IBM introduced the [[eponym]]ous [[PS/2 port]] for mice and keyboards, which other manufacturers rapidly adopted. The most visible change was the use of a round 6-pin [[mini-DIN connector|mini-DIN]], in lieu of the former 5-pin MIDI style full sized [[DIN 41524]] connector. In default mode (called ''stream mode'') a PS/2 mouse communicates motion, and the state of each button, by means of 3-byte packets.<ref>{{cite web |author-first=Adam |author-last=Chapweske |url=http://www.computer-engineering.org/ps2mouse/ |title=Computer Engineering Tips – PS/2 Mouse Interface |publisher=Computer-engineering.org |date=2003-04-01 |access-date=2013-03-10 |url-status=dead |archive-date=2008-09-16 |archive-url=https://web.archive.org/web/20080916065845/http://www.computer-engineering.org/ps2mouse/}}</ref> For any motion, button press or button release event, a PS/2 mouse sends, over a bi-directional serial port, a sequence of three bytes, with the following format: {|class="wikitable" |- align=center !||Bit 7||Bit 6||Bit 5||Bit 4||Bit 3||Bit 2||Bit 1||Bit 0 |- align=center !Byte 1 |YV||XV||YS||XS||1||MB||RB||LB |- style="text-align:center;" !Byte 2 |colspan="8"|X movement |- style="text-align:center;" !Byte 3 |colspan="8"|Y movement |} Here, XS and YS represent the sign bits of the movement vectors, XV and YV indicate an overflow in the respective vector component, and LB, MB and RB indicate the status of the left, middle and right [[mouse button]]s (1 = pressed). PS/2 mice also understand several commands for reset and self-test, switching between different operating modes, and changing the resolution of the reported motion vectors.<ref name="Paul_2002"/> A [[IntelliMouse|Microsoft IntelliMouse]] relies on an extension of the PS/2 protocol: the ImPS/2 or IMPS/2 protocol (the abbreviation combines the concepts of "IntelliMouse" and "PS/2"). It initially operates in standard PS/2 format, for [[backward compatibility]]. After the host sends a special command sequence, it switches to an extended format in which a fourth byte carries information about wheel movements. The IntelliMouse Explorer works analogously, with the difference that its 4-byte packets also allow for two additional buttons (for a total of five).<ref>[http://www.microsoft.com/whdc/device/input/mcompat.mspx Retrieved 31 December 2006] {{webarchive|url=https://web.archive.org/web/20080408164755/http://www.microsoft.com/whdc/device/input/mcompat.mspx|date=2008-04-08}}</ref> Mouse vendors also use other extended formats, often without providing public documentation.<ref name="Paul_2002"/> The Typhoon mouse uses 6-byte packets which can appear as a sequence of two standard 3-byte packets, such that an ordinary PS/2 [[device driver|driver]] can handle them.<ref>{{cite web |title=Keyboard scancodes: The PS/2 Mouse|url=http://www.win.tue.nl/~aeb/linux/kbd/scancodes-13.html |publisher=Win.tue.nl |access-date=2017-12-08}}</ref> For 3D (or 6-degree-of-freedom) input, vendors have made many extensions both to the hardware and to software. In the late 1990s, Logitech created ultrasound based tracking which gave 3D input to a few millimeters accuracy, which worked well as an input device but failed as a profitable product. In 2008, Motion4U introduced its "OptiBurst" system using IR tracking for use as a Maya (graphics software) plugin. [[File:Usb head Cable.jpg|thumb|right|150px|A USB connector soon superseded the [[PS/2]] keyboard and computer mouse connectors shown above.]] === USB === Almost all wired mice today use [[USB]] and the [[USB human interface device class]] for communication. === Cordless or wireless === Cordless or wireless mice transmit data via [[radio]]. Some mice connect to the computer through [[Bluetooth]] or [[Wi-Fi]], while others use a receiver that plugs into the computer, for example through a USB port. Many mice that use a USB receiver have a storage compartment for it inside the mouse. Some "nano receivers" are designed to be small enough to remain plugged into a laptop during transport, while still being large enough to easily remove.<ref>{{cite web |author-first=Lisa |author-last=Johnston |url=http://peripherals.about.com/od/glossaryofpcterms/g/WhatIsANanoReceiver.htm |title=What Is a Nano Wireless Receiver? |access-date=2010-09-03 |archive-date=2010-09-24 |archive-url=https://web.archive.org/web/20100924003656/http://peripherals.about.com/od/glossaryofpcterms/g/WhatIsANanoReceiver.htm |url-status=dead }}</ref> <gallery mode="packed" heights="200px"> File:Logitech metaphor-P4191183-black.jpg|The [[Logitech]] Metaphor, the first wireless mouse (1984). On display at the [[Musée Bolo]], [[École Polytechnique Fédérale de Lausanne|EPFL]] File:Microsoft-wireless-mouse.jpg|An older Microsoft wireless mouse made for notebook computers File:Microsoft Bluetooth Mobile Mouse 3600.jpg|Microsoft Bluetooth Mobile Mouse 3600 </gallery>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)