Cursor (user interface)
In human–computer interaction, a cursor is an indicator used to show the
current position on a computer monitor or other display device that will
A blinking text
respond to input, such as a text cursor or a mouse pointer. cursor while
typing the word
Wikipedia
Etymology
Cursor is Latin for 'runner'. A cursor is a name given to the transparent slide engraved with a
hairline used to mark a point on a slide rule. The term was then transferred to computers through
analogy.
On 14 November 1963, while attending a conference on
computer graphics in Reno, Nevada, Douglas Engelbart of
Augmentation Research Center (ARC) first expressed his
thoughts to pursue his objective of developing both
hardware and software computer technology to augment
human intelligence by pondering how to adapt the
underlying principles of the planimeter to inputting X- and
Y-coordinate data, and envisioned something like the
cursor of a mouse he initially called a bug, which, in a 3-
Cursor on a slide rule
point form, could have a "drop point and 2 orthogonal
wheels".[1] He wrote that the "bug" would be "easier" and
"more natural" to use, and unlike a stylus, it would stay still when let go, which meant it would be
"much better for coordination with the keyboard."[1]
According to Roger Bates, a young hardware designer at ARC under Bill English, the cursor on the
screen was for some unknown reason also referred to as CAT at the time, which led to calling the
new pointing device a mouse as well.[2][3]
Text cursor
In most command-line interfaces or text
editors, the text cursor, also known as a
The cursor for the Windows Command Prompt
caret,[4] is an underscore, a solid rectangle, or (appearing as an underscore at the end of the line)
a vertical line, which may be flashing or steady,
indicating where text will be placed when
entered (the insertion point). In text mode displays, it was not possible to show a vertical bar
between characters to show where the new text would be inserted, so an underscore or block
cursor was used instead. In situations where a block was used, the block was usually created by
inverting the pixels of the character using the Boolean math exclusive or function.[5] On text
editors and word processors of modern design on bitmapped displays, the vertical bar is typically
used instead.
In a typical text editing application, the cursor can be moved by pressing various keys. These
include the four cursor keys, the Page Up and Page Down keys, the Home key, the End key, and
various key combinations involving a modifier key such as the Control key. The position of the
cursor also may be changed by moving the mouse pointer to a different location in the document
and clicking.
The blinking of the text cursor is usually temporarily suspended when it is being moved; otherwise,
the cursor may change position when it is not visible, making its location difficult to follow.
The concept of a blinking cursor can be attributed to Charles Kiesling Sr. via US Patent
3531796,[6][7] filed in August 1967.[8]
Some interfaces use an underscore or thin vertical bar to indicate that the user is in insert mode, a
mode where text will be inserted in the middle of the existing text, and a larger block to indicate
that the user is in overtype mode, where inserted text will overwrite existing text. In this way, a
block cursor may be seen as a piece of selected text one character wide, since typing will replace the
text in the cursor with the new text.
Bi-directional text
A vertical line text cursor with a small left-pointing or right-pointing appendage is for indicating
the direction of text flow on systems that support bi-directional text, and is thus usually known
among programmers as a 'bidi cursor'. In some cases, the cursor may split into two parts, each
indicating where left-to-right and right-to-left text would be inserted.[9]
Pointer
In computing, a pointer or mouse pointer (as part of a
personal computer WIMP style of interaction)[10][11][12] is a The common pointer roles for a pointer
symbol or graphical image on the computer monitor or set
other display device that echoes movements of the pointing
device, commonly a mouse, touchpad, or stylus pen. It
signals the point where actions of the user take place. It
can be used in text-based or graphical user interfaces to
select and move other elements. The keyboard cursor may
also be repositioned using the pointer.
Though it is distinct from the text cursor, the mouse
pointer is also being called a cursor or mouse cursor.[13]
The pointer commonly appears as an angled arrow (angled
because historically that improved appearance on low-
Common pointer types (enlarged)
resolution screens[14]), but it can vary within different
programs or operating systems. The use of a pointer is
employed when the input method, or pointing device, is a device that can move fluidly across a
screen and select or highlight objects on the screen. In GUIs where the input method relies on hard
keys, such as the five-way key on many mobile phones, there is no pointer employed, and instead,
the GUI relies on a clear focus state.
The pointer echoes movements of the pointing device, commonly a mouse, touchpad or trackball.
This kind of pointer is used to manipulate elements of graphical user interfaces such as menus,
buttons, scrollbars or any other widget.
Appearance
The pointer hotspot is the active pixel of the pointer, used to target a click or drag.
The standard arrow pointer has the hotspot at the tip; otherwise, it is frequently
in the center, though it may reside at any location in the pointer.[15][16]
A wait pointer
In many GUIs, moving the pointer around the screen may reveal other screen replaces the
pointer with an
hotspots as the pointer changes shape depending on the circumstances. For
hourglass.
example:
In text that the user can select or edit, the pointer changes to a vertical bar with little cross-bars
(or curved serif-like extensions) at the top and bottom — sometimes called an I-beam since it
resembles the cross-section of the construction detail of the same name.
When displaying a document, the pointer can appear as a hand with all fingers extended
allowing scrolling by pushing the displayed page around.
Graphics applications often display pointers such as brushes, pencils, or paint buckets,
depending on which tool is active.
On an edge or corner of a window the pointer usually changes into a double arrow (horizontal,
vertical, or diagonal) indicating that the user can drag the edge/corner in an indicated direction
to adjust the size of the window. Double arrows are similarly used with movable dividers when
a window is split into two or more parts.
The corners and edges of the whole screen may also act as screen hotspots. According to
Fitts's law, which predicts the time it takes to reach a target area, moving mouse and stylus
pointers to those spots is easy and fast. As the pointer usually stops when reaching a screen
edge, the size of those spots can be considered of virtual infinite size, so the hot corners and
edges can be reached quickly by throwing the pointer toward the edges.[17][18]
While a computer process is performing tasks and cannot accept user input, a wait pointer (an
hourglass in Windows before Vista and many other systems, a spinning ring in Windows Vista
and later, a watch in classic Mac OS, or a spinning pinwheel in macOS) is displayed when the
mouse pointer is in the corresponding window.
When the pointer hovers over a hyperlink, a mouseover event changes the pointer into a hand
with an outstretched index finger. Often some informative text about the link may pop up in a
tooltip, which disappears when the user moves the pointer away. The tooltips revealed in the
box depend on the implementation of the web browser; many web browsers will display the title
of the element (most common nowadays), the alt attribute (historically), or the non-standard
tooltips attribute. This pointer shape was first used for hyperlinks in Apple Computer's
HyperCard.
In Windows 7, when Windows Touch was introduced in the mainstream to make Windows
more touch-friendly, a touch pointer is displayed instead of the mouse pointer. The touch
pointer can be switched off in Control Panel and resembles a small diamond shape. When the
screen is touched a blue ripple appears around the touch pointer to provide visual touch
feedback. When swiping to scroll etc., the touch pointer would follow the finger as it moves. If
touch and hold to right-click is enabled, touching and holding will show a thick white ring
around the touch pointer. When this ring appears, releasing one's finger would perform a right-
click.
If a pen is used the left-click ripple is colorless instead of blue and the right-click ring is a
thinner ring that appears closer to the pen tip making contact with the screen. A click (either
left or right) will not show the touch pointer, but swiping would still show the pointer which
would follow the pen tip.
Also, the touch pointer would only appear on the desktop once a user has signed in to
Windows 7. On the sign-in screen, the mouse pointer would simply jump to the point
touched and a left click would be sent on a tap, similar to when a touch input is used on
operating systems before Windows 7.
In Windows 8 and above with a touchscreen, visual touch feedback displays a translucent
circle where the finger makes contact with the screen, and a square when attempting to touch
and hold to right-click. A swipe is shown by a translucent line of varying thickness. Feedback
can be switched on and off in Pen and Touch settings of the Control Panel in Windows 8 and
Windows 8.1 or in the Settings app on Windows 10, and feedback can also be made darker
and larger where it needs to be emphasized, such as when presenting. However, the touch
pointer is normally less commonly visible in touchscreen environments of Windows operating
systems later than Windows 7.
The mouse-over or hover gesture can also show a tooltip, which presents information about
what the pointer is hovering over; the information is a description of what selecting an active
element is for or what it will do. The tooltip appears only when stationary over the content. A
common use of viewing the information is when browsing the internet to know the destination
of a link before selecting it, if the URL of the text is not recognizable.
When using touch or a pen with Windows, hovering when supported or performing a set
gesture or flick may show the tooltip.
I-beam pointer
The I-beam pointer (also called the I-cursor) is a cursor shaped like a serifed
capital letter I. The purpose of this cursor is to indicate that the text beneath the
cursor can be highlighted and sometimes inserted or changed.[19]
Pointer trails and animation The I-beam
pointer
Pointer trails can be used to enhance its visibility during movement. Pointer
trails are a feature of GUI operating systems to enhance the visibility of
the pointer. Although disabled by default, pointer trails have been an
option in every version of Microsoft Windows since Windows 3.1x.
When pointer trails are active and the mouse or stylus is moved, the
system waits a moment before removing the pointer image from the old
location on the screen. A copy of the pointer persists at every point that
An example of mouse
the pointer has visited at that moment, resulting in a snake-like trail of pointer trails
pointer icons that follow the actual pointer. When the user stops
moving the mouse or removes the stylus from the screen, the trails
disappear and the pointer returns to normal.
Pointer trails have been provided as a feature mainly for users with poor vision and for screens
where low visibility may become an issue, such as LCD screens in bright sunlight.
In Windows, pointer trails may be enabled in the Control Panel, usually under the Mouse applet.
Introduced with Windows NT, an animated pointer was a small looping animation that was played
at the location of the pointer.[20] This is used, for example, to provide a visual cue that the
computer is busy with a task.[21] After their introduction, many animated pointers became
available for download from third party suppliers. Animated pointers are not without their
problems. In addition to imposing a small additional load on the CPU, the animated pointer
routines did introduce a security vulnerability. A client-side exploit known as the Windows
Animated Cursor Remote Code Execution Vulnerability used a buffer overflow vulnerability to
load malicious code via the animated cursor load routine of Windows.[22]
3D cursor
The idea of a cursor being used as a marker or insertion
point for new data or transformations, such as rotation,
can be extended to a 3D modeling environment. Blender,
for instance, uses a 3D cursor to determine where
operations such as placing meshes are to take place in the
3D viewport.[23]
See also
Susan Kare, designer of several of the common cursor An example of the 3D cursor within
shapes Blender (center)
Microangelo Toolset
Throbber
Tooltip
Cursorial
CopyCursor, a feature found in Acorn MOS (1981), RISC OS (1987), the Amstrad CPC series
(1984) and the extended DOS keyboard drivers K3PLUS/FreeKEYB (1991)
References
1. Bardini, Thierry (2000). Bootstrapping: Douglas Engelbart, Coevolution, and the Origins of
Personal Computing (https://archive.org/details/bootstrapping00thie). Stanford, USA: Stanford
University Press. p. 95 (https://archive.org/details/bootstrapping00thie/page/95). ISBN 978-0-
80473871-2.
2. Markoff, John Gregory (2005) [2004-06-11]. "2. Augmentation" (https://books.google.com/book
s?id=cTyfxP-g2IIC&pg=PT123). What the Dormouse Said: How the Sixties Counterculture
Shaped the Personal Computer Industry. Penguin Books / Penguin Random House LLC.
pp. 123–124. ISBN 978-1-10120108-4. ISBN 1-10120108-8. Retrieved 2021-08-26. pp. 123–
124: "[…] Although it is commonly believed that the story of how the mouse got its name has
been lost in history, Roger Bates, who was a young hardware designer working for Bill English,
has a clear recollection of how the name was chosen. […] He remembers that what today is
called the cursor on the screen was at the time called a "CAT". Bates has forgotten what CAT
stood for, and no one else seems to remember either, but in hindseight, it seems obvious that a
CAT would chase the tailed mouse on the desktop. […]" (336 pages)
3. Markoff, John Gregory (2013-07-03). "Douglas C. Engelbart, 1925–2013: Computer Visionary
Who Invented the Mouse" (https://www.nytimes.com/2013/07/04/technology/douglas-c-engelba
rt-inventor-of-the-computer-mouse-dies-at-88.html). The New York Times. Archived (https://we
b.archive.org/web/20210615064745/https://www.nytimes.com/2013/07/04/technology/douglas-
c-engelbart-inventor-of-the-computer-mouse-dies-at-88.html) from the original on 2021-06-15.
Retrieved 2021-08-26. "[…] When and under what circumstances the term "the mouse" arose
is hard to pin down, but one hardware designer, Roger Bates, has contended that it happened
under Mr. English's watch. Mr. Bates was a college sophomore and Mr. English was his mentor
at the time. Mr. Bates said the name was a logical extension of the term then used for the
cursor on a screen: CAT. Mr. Bates did not remember what CAT stood for, but it seemed to all
that the cursor was chasing their tailed desktop device. […]"
4. FIX: The caret shape appears as a thick rectangle after you switch from the Korean Input
Method Editor (IME) to English in Visual FoxPro 8.0 (http://support.microsoft.com/kb/834271/e
n-us)
5. U.S. Patent #4197590 (https://patents.google.com/patent/US4197590)
6. Kiesling, Charles. "US Patent 3531796: Blinking cursor for CRT display" (https://patents.googl
e.com/patent/US3531796). Google Patents. Retrieved 2022-01-06.
7. "Text size comment share tweet email Print Charles A., Sr. Kiesling obituary" (https://www.startr
ibune.com/obituaries/detail/13986254/). Star Tribune. Retrieved 2022-01-06.
8. "Who invented the blinking cursor" (https://ux.stackexchange.com/questions/33640/who-invent
ed-the-blinking-cursor/33644). mouse - Who invented the blinking cursor - User Experience
Stack Exchange. Stack Exchange. Retrieved 2022-01-06.
9. ATSUI Programming Guide: Caret Handling (https://developer.apple.com/legacy/mac/library/do
cumentation/Carbon/Conceptual/ATSUI_Concepts/atsui.pdf), page 32.
10. Markoff, John (2009-02-16). "The Cellphone, Navigating Our Lives" (https://www.nytimes.com/
2009/02/17/science/17map.html). The New York Times. New York. Retrieved 2011-12-14. "[...]
so-called WIMP interface — for windows, icons, menus, pointer [...]"
11. Hinckley, Ken (December 1996). "Haptic Issues for Virtual Manipulation" (http://research.micros
oft.com/apps/pubs/default.aspx?id=68165). Microsoft. Retrieved 2011-12-14. "The Windows-
Icons-Menus-Pointer (WIMP) interface paradigm dominates modern computing systems."
12. Hinckley, Ken. "Input Technologies and Techniques" (http://research.microsoft.com/en-us/um/p
eople/kenh/papers/InputChapter.pdf) (PDF). Microsoft. Retrieved 2011-12-14. "Researchers
are looking to move beyond the current "WIMP" (Windows, Icons, Menus, and Pointer)
interface [...]"
13. "Cursor" (https://developer.mozilla.org/en-US/docs/Web/CSS/cursor). MDN Web Docs. 2025-
02-04.
14. "Document from 1981 reveals why mouse cursor is tilted and not straight" (https://web.archive.
org/web/20140217232416/http://hacksandstuff.com/computers/why-mouse-cursor-is-tilted-reas
on_1234210.html). Archived from the original (http://hacksandstuff.com/computers/why-mouse-
cursor-is-tilted-reason_1234210.html) on 2014-02-17. Retrieved 2014-02-18.
15. "Mouse" (https://web.archive.org/web/20090203010030/http://courses.ece.uiuc.edu/ece390/bo
oks/labmanual/io-devices-mouse.html). Archived from the original (http://courses.ece.uiuc.edu/
ece390/books/labmanual/io-devices-mouse.html) on 2009-02-03. Retrieved 2008-05-29.
16. "Setting a Cursor's Hot Spot" (https://web.archive.org/web/20080502133500/http://msdn.micro
soft.com/en-us/library/0b1674x8(VS.80).aspx). 2008-05-02. Archived from the original (http://m
sdn.microsoft.com/en-us/library/0b1674x8(VS.80).aspx) on 2008-05-02.
17. Hale, Kevin (2007-10-03). "Visualizing Fitts' Law" (http://particletree.com/features/visualizing-fitt
ss-law/). Particle Tree.
18. Atwood, Jeff (2006-08-09). "Fitts' Law and Infinite Width" (https://web.archive.org/web/2014021
4030831/http://www.codinghorror.com/blog/2006/08/fitts-law-and-infinite-width.html). Coding
Horror. Archived from the original (http://www.codinghorror.com/blog/2006/08/fitts-law-and-infini
te-width.html) on 2014-02-14. Retrieved 2021-04-07.
19. ComputerHope.com (http://www.computerhope.com/jargon/i/ibeam.htm)
20. Staff (2007). Encyclopedia Of Information Technology. Atlantic Publishers & Distributors. p. 24.
ISBN 978-81-269-0752-6.
21. Lock & Philander (2009). Michael Sangster (ed.). FCS Systems Analysis & Design L4. Pearson
Education South Africa. p. 149. ISBN 978-1-77025-428-2.
22. McClure, Stuart; Scambray, Joel; Kurtz, George (2009). Hacking exposed: network security
secrets & solutions (6th ed.). McGraw Hill Professional. p. 177. ISBN 978-0-07-161374-3.
23. "3D Cursor — Blender Manual" (https://docs.blender.org/manual/en/latest/editors/3dview/3d_c
ursor.html). docs.blender.org. Retrieved 2022-04-04.
External links
Creating and controlling browser cursors (https://web.archive.org/web/20160401114154/http://
www.evotech.net/blog/category/cursors/)
Cross-browser CSS custom cursors (http://beradrian.wordpress.com/2008/01/08/cross-browse
r-custom-css-cursors/)
Installing A Cursor On Your Computer (http://www.cursors-4u.com/2009/03/28/how-to-install-cu
rsors-on-your-computer.html)
Windows Desktop Application Design Guidelines: Common Pointer Shapes (https://docs.micro
soft.com/en-us/windows/desktop/uxguide/inter-mouse#common-pointer-shapes)
Apple Human Interface Guidelines: Pointers (https://developer.apple.com/design/human-interfa
ce-guidelines/pointing-devices#Pointers)
Retrieved from "https://en.wikipedia.org/w/index.php?title=Cursor_(user_interface)&oldid=1297410434"