- Cursor (computers)
-
In computing, a cursor is an indicator used to show the position on a computer monitor or other display device that will respond to input from a text input or pointing device. The flashing text cursor may be referred to as a caret in some cases.[1][2] The mouse cursor may be referred to as a mouse pointer,[3] owing to its arrow shape on some systems.
Contents
Text cursor
In most command-line interfaces or text editors, the text cursor or caret navigation, is an underscore, a solid rectangle, or 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.[4] On text editors and word processors of modern design on bitmapped displays, the vertical bar is typically used instead. Some details of the vertical bar's origins have been described in Bill Moggridge's Designing Interactions (ISBN 0262134748).
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.
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 are 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.[5]
Mouse cursor
Interfaces driven by a computer mouse or other pointing device add a second cursor to show the current position of the mouse pointer. Douglas Engelbart's On-Line System originally referred to the cursor as a "bug" or "tracking spot".[6] In the On-Line System, the cursor appearance alternated "between the characters uparrow and plus".[6] On modern systems the default mouse cursor is an arrow pointing up and to the left, and is called the "mouse pointer".
In text user interfaces, including the Linux console and many MS-DOS programs, this cursor is frequently a solid rectangle; depending on the interface, the rectangle may always be a single color, or may be the opposite color of whatever lies "below" it. Graphical user interfaces usually use an arrow-like pointer to show the mouse position.
Many TUIs and GUIs give the user the option to turn off the mouse cursor when text is being typed.
In many GUIs, the mouse cursor changes shape depending on the circumstances. For example:
- In text that the user can select or edit, the cursor 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 cursor can appear as a hand with all fingers extended allowing scrolling by "pushing" the displayed page around.
- Graphics-editing cursors such as brushes, pencils or paint buckets may display when the user edits an image.
- On an edge or corner of a window the cursor usually changes into a double arrow (horizontal, vertical, or diagonal) indicating that the user can drag the edge/corner in an indicated direction in order to adjust the size and shape of the window.
- While a computer process is performing tasks and cannot accept user input, a wait cursor (an hourglass in Windows before Vista and many other systems, spinning ring in Windows Vista, watch in classic Mac OS, or spinning ball in Mac OS X) is displayed when the mouse cursor is in the corresponding window.
- When the cursor hovers over a hyperlink, a mouseover event changes the cursor 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 cursor 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, the "alt" attribute, or the non-standard "tooltips" attribute. This cursor shape was first used for hyperlinks in Apple Computer's HyperCard.
- The mouseover or hover gesture can also present information about what the cursor is hovering over; the information is a description of what selecting an active element is for or what it will do, it appears only when stationary over 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 recognisable.
The mouse cursor hotspot is the mouse cursor's pixel used to click. A hotspot is normally along the cursor edges or in its center, though it may reside at any location in the cursor icon.[7][8]
Pointer trails and animation
Pointer trails are a feature of graphical user interface operating systems to enhance the visibility of the mouse cursor. Although disabled by default, pointer trails have been an option in every version of Microsoft Windows since Windows 3.1.
When pointer trails are active and the mouse is moved, the system waits a moment before removing the mouse pointer image from the old location on the screen. A copy of the mouse pointer persists at every point that the mouse has visited in that moment, resulting in a snake-like trail of mouse pointer icons that follow the actual pointer. When the user stops moving the mouse, the trails disappear and the mouse pointer returns to normal.
Mouse 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 cursor was a small looping animation that was played at the location of the mouse cursor.[9] This is used, for example, to provide a visual cue that the computer is busy with a task.[10] After their introduction, many animated cursors became available for download from third party suppliers. Unfortunately, animated cursors are not without their problems. In addition to imposing a small additional load on the CPU, the animated cursor 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.[11]
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 future operations are to take place.
See also
- Susan Kare, designer of several of the common cursor shapes
References
- ^ Mac OS 8 Developer Glossary
- ^ 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
- ^ Mouse Pointer Behaves Erratically If Mouse Pointer Speed Is Set Above Level Five
- ^ U.S. Patent #4197590
- ^ ATSUI Programming Guide: Caret Handling, page 32.
- ^ a b A Research Center for Augmenting Human Intellect (1968) (archive)
- ^ Mouse
- ^ Setting a Cursor's Hot Spot
- ^ Staff (2007). Encyclopedia Of Information Technology. Atlantic Publishers & Distributors. p. 24. ISBN 8126907525.
- ^ Lock & Philander (2009). Michael Sangster. ed. FCS Systems Analysis & Design L4. Pearson Education South Africa. p. 149. ISBN 1770254285.
- ^ McClure, Stuart; Scambray, Joel; Kurtz, George (2009). Hacking exposed: network security secrets & solutions (6th ed.). McGraw Hill Professional. p. 177. ISBN 0071613749.
External links
Categories:- Graphical user interface elements
Wikimedia Foundation. 2010.