Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Method for Simplifying the Accurate Positioning of a Mouse Pointer

IP.com Disclosure Number: IPCOM000104410D
Original Publication Date: 1993-Apr-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 4 page(s) / 110K

Publishing Venue

IBM

Related People

Hanna, P: AUTHOR

Abstract

Disclosed is a modification to the pointer movement algorithm implemented in a mouse device driver that makes if easier for a user to more accurately position the pointer. The key difference is that it does not depend on a strict one-to-one mapping of mouse movement to pointer movement. Instead, it uses a heuristic to predict the intended destination of a mouse movement and then performs an equivalent smooth, single move. An appropriate analogy would be having any golf ball that is driven toward the green perform a smooth midcourse correction and land with a hole in one.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 51% of the total text.

Method for Simplifying the Accurate Positioning of a Mouse Pointer

      Disclosed is a modification to the pointer movement algorithm
implemented in a mouse device driver that makes if easier for a user
to more accurately position the pointer.  The key difference is that
it does not depend on a strict one-to-one mapping of mouse movement
to pointer movement.  Instead, it uses a heuristic to predict the
intended destination of a mouse movement and then performs an
equivalent smooth, single move.  An appropriate analogy would be
having any golf ball that is driven toward the green perform a smooth
midcourse correction and land with a hole in one.

      In window-based workstation applications, a mouse is one of the
primary means by which a user controls the visual arrangement of the
display and directs the function of the application.  A standard
window usually contains mouse-selectable areas such as icons or
buttons that allow the user to

o   Open and close other windows
o   Move and resize windows
o   Select menu options

Respond to system prompts

      Point-and-click operations that revolve around these selectable
areas account for a substantial amount of the user interface.

      However, it can be difficult to position a freely moving
pointer to a small, precisely defined area of the display in a single
arm motion, especially if the target pointer area is some distance
away.  Normally it takes one or two motions ti get the pointer into
the approximate location, and then several fine resolution
adjustments.  It is not uncommon to overshoot the target area and
then have to move the pointer back and forth until it is in the
desired location.  While the sensitivity of the mouse-to-pointer
relationship can be varied, it does not support the degree of
eye-hand coordination that people exhibit in, for example, picking up
a small object across a crowded desktop.

      The algorithm here disclosed (see pseudocode listing) requires
access to the operating system's table of (x,y) positions of the
mouse-selectable areas of the current physical display.  These are
treated as if they attract the pointer when it is moved in their
direction.

      Mouse device drivers typically sample the mouse position 30
times a second.  If the mouse has been moved, it is a straightforward
matter to calculate its directed acceleration.  This can then be
converted to a force vector, using an appropriately scaled mass.
From this, it can be determined how far the pointer is intended to be
moved, in a way that corresponds to calculating the range of a
projectile operating under the influence of gravity.  Then since the
approximate direction and distance of the intended target is known, a
criterion is established by which each mouse-selectable (x,y) point
can be evaluated.  The closest match is selected as the target point,
and the pointer is moved there in a smooth curve (any of several will
do) at a speed that corresponds to...