Cursor (user interface) explained

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 respond to input.

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-point form, could have a "drop point and 2 orthogonal wheels". 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."

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.

Text cursor

See also: Text field. In most command-line interfaces or text editors, the text cursor, also known as a caret,[1] 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.[2] 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,[3] [4] filed in August 1967.[5]

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.[6]

Pointer

In computing, a pointer or mouse pointer (as part of a personal computer WIMP style of interaction)[7] [8] [9] is a symbol or graphical image on the computer monitor or 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 sometimes also called a cursor or mouse cursor.[10]

The pointer commonly appears as an angled arrow (angled because historically that improved appearance on low-resolution screens[11]), 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 hotspot is normally along the pointer edges or in its center, though it may reside at any location in the pointer.[12] [13]

In many GUIs, moving the pointer around the screen may reveal other screen hotspots as the pointer changes shape depending on the circumstances. For example:

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.[16]

Pointer trails and animation

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 the pointer has visited at that moment, resulting in a snake-like trail of 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.[17] This is used, for example, to provide a visual cue that the computer is busy with a task.[18] 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.[19]

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.[20]

See also

External links

Notes and References

  1. http://support.microsoft.com/kb/834271/en-us 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
  2. https://patents.google.com/patent/US4197590 U.S. Patent #4197590
  3. Web site: Kiesling . Charles . US Patent 3531796: Blinking cursor for crt display . US3531796A - Blinking cursor for crt display - Google Patents . 6 January 2022 . patent.
  4. Web site: Text size comment share tweet email Print Charles A., Sr. Kiesling obituary . Star Tribune . 6 January 2022 . obituary.
  5. Web site: Who invented the blinking cursor . mouse - Who invented the blinking cursor - User Experience Stack Exchange . Stack Exchange . 6 January 2022 . discussion.
  6. https://developer.apple.com/legacy/mac/library/documentation/Carbon/Conceptual/ATSUI_Concepts/atsui.pdf ATSUI Programming Guide: Caret Handling
  7. News: The Cellphone, Navigating Our Lives . . February 16, 2009 . December 14, 2011 . Markoff, John . New York . [...] so-called WIMP interface — for windows, icons, menus, pointer [...].
  8. Web site: Haptic Issues for Virtual Manipulation . . December 1996 . December 14, 2011 . Hinckley, Ken . The Windows-Icons-Menus-Pointer (WIMP) interface paradigm dominates modern computing systems..
  9. Web site: Input Technologies and Techniques . . December 14, 2011 . Hinckley, Ken . Researchers are looking to move beyond the current "WIMP" (Windows, Icons, Menus, and Pointer) interface [...] .
  10. Web site: Cursor . MDN Web Docs .
  11. Web site: Document from 1981 reveals why mouse cursor is tilted and not straight. 18 February 2014. https://web.archive.org/web/20140217232416/http://hacksandstuff.com/computers/why-mouse-cursor-is-tilted-reason_1234210.html. 17 February 2014. dead.
  12. Web site: Mouse. 2008-05-29 . 2009-02-03 . https://web.archive.org/web/20090203010030/http://courses.ece.uiuc.edu/ece390/books/labmanual/io-devices-mouse.html. dead.
  13. Web site: Setting a Cursor's Hot Spot. https://web.archive.org/web/20080502133500/http://msdn.microsoft.com/en-us/library/0b1674x8(VS.80).aspx. dead. May 2, 2008. May 2, 2008.
  14. Web site: Visualizing Fitts' Law . Kevin . Hale . Particle Tree . 3 October 2007.
  15. Web site: Fitts' Law and Infinite Width . Jeff . Atwood . Jeff Atwood . Coding Horror . 9 August 2006 . 2021-04-07 . 2014-02-14 . https://web.archive.org/web/20140214030831/http://www.codinghorror.com/blog/2006/08/fitts-law-and-infinite-width.html . dead .
  16. http://www.computerhope.com/jargon/i/ibeam.htm ComputerHope.com
  17. Book: Staff . 2007 . 24 . Encyclopedia Of Information Technology . Atlantic Publishers & Distributors . 978-81-269-0752-6 .
  18. Book: Lock & Philander . 2009 . Michael Sangster . 149 . FCS Systems Analysis & Design L4 . Pearson Education South Africa . 978-1-77025-428-2 .
  19. Book: McClure, Stuart . Scambray, Joel . Kurtz, George . 2009 . 177 . Hacking exposed: network security secrets & solutions . 6 . 6th . McGraw Hill Professional . 978-0-07-161374-3 .
  20. Web site: 3D Cursor — Blender Manual . 2022-04-04 . docs.blender.org.