Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Computer mouse
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Computer mouse
(section)
Add topic