CROSS-REFERENCE TO RELATED APPLICATIONSThe present application claims the benefit of provisional U.S. Patent Application Ser. No. 63/042,349, filed Jun. 22, 2020 with title “KINETIC SCROLLING METHOD AND APPARATUS” and naming Viktor Kaptelinin as inventor.
FEDERALLY SPONSORED RESEARCHNot Applicable
BACKGROUND OF THE INVENTIONThe invention relates to user interfaces of electronic devices having displays, such as desktop computers, laptop computers, tablet computers, smartphones, electronic bookreaders, car dashboards, control panels of industrial equipment and home appliances, display components of self-service technologies, and so forth.
Electronic devices may have displays (or “screens”) displaying various types of content. The content is typically displayed in windows. In the context of this invention the term “window” (or “display window”) is understood in a broad sense, as a content viewing area of any displays, including displays of tablet computers, smartphones, bookreaders, embedded systems, and so forth. Window contents can include any types of information objects or sets of information objects, including images, texts, videos, pop-up or pull-down menus, control panels, sets of tiles or icons, folder views, and so forth, as well as combinations of thereof. One or several windows can be shown on a display. The window or windows can be of various size, location, and shape. In particular, a display may show a window coinciding with the display itself. Windows can be embedded, that is, a window can display one or more other windows.
Only a portion of a window-related content, such as a document, may be displayed in a window, and the user may need to scroll the document to see other portions of the content. One particular type of scrolling is kinetic scrolling, which is scrolling that continues after the user completes the scrolling action. For instance, content displayed on a touch sensitive display may continue to scroll further after the user breaks contact with the display (after moving a finger across the display). Kinetic scrolling can be also achieved by performing a scrolling action with a separate input device, such as touchpad or scroll wheel. For instance, when the user carries out a multi-touch gesture using a touchpad, the scrolling may continue even if the user breaks contact with the touchpad.
A common form of kinetic scrolling is inertial scrolling, which is scrolling that slows down, and eventually stops, when the user breaks contact with the display. In case of inertial scrolling the window content scrolls as if it were a physical object receiving an impulse from the user, which impulse fades away over time if the user does not “push” the content anymore. In the context of this application, unless specifically indicated, “kinetic scrolling” means “inertial scrolling”.
A problem with inertial scrolling is that it is often imprecise. From the point, at which the user breaks contact with the display, the content scrolls for a distance, which is difficult to anticipate exactly. The user needs highly developed scrolling skills to use inertial scrolling for moving the window content for a desired distance. This problem is addressed in the present invention.
SUMMARY OF THE INVENTIONThe present invention teaches inertial scrolling method and apparatus, according to which the distance, for which the content of a display window scrolls as a result of an inertial scrolling user action, is substantially the distance between (a) a window location of an area of the scrolled window, which area is pointed at by the user when an inertial scrolling action is initiated (thereafter, “initial window location”), and (b) the border of the window in the direction of the scrolling.
Specifically, the present invention teaches a method for assisting a user of an electronic device in viewing information on said electronic device, said electronic device having at least a processor, a memory storage storing computer-executable instructions, a display having an at least a window displaying a portion of a document, and a scrolling input device, said method comprising the method steps of
- displaying a first portion of said document in said display window; and
- detecting an inertial scrolling user action, which scrolling user action detecting comprises at least detecting a direction of said inertial scrolling action and detecting an “initial window location”, said “initial window location” being an area of said display window pointed at by the user when an inertial scrolling action is initiated; and
- scrolling said document to display a second portion of said document in said display window, while limiting a distance of said document scrolling to substantially a distance between said “initial window location” and a border of said display window in the direction of said inertial scrolling.
According to one embodiment of the invention, the method further comprises the steps of
- detecting an “initial pointed document area”, said “initial pointed document area” being a document image area, displayed substantially in said “initial window location” when an inertial scrolling action is initiated and said first portion of the document is displayed,
- scrolling said document image in the direction of said inertial scrolling; and
- highlighting said “initial pointed document area” during said inertial scrolling.
According to another embodiment, visual attributes of said highlighted “initial pointed document area” change when said highlighted “initial pointed document area” reaches a border of said display window in the direction of said inertial scrolling.
According to yet another embodiment, said electronic device comprises a touch-sensitive display, said touch-sensitive display being a display, at least part of which serves as a sensing input device, and said “initial window location” is a location of a said touch-sensitive display, which is contacted by a user immediately before the user breaks contact with the display to initiate an inertial scrolling.
According to one embodiment, said electronic device comprises a separate scrolling input device, said separate device being separate from said display, and said display displays a screen pointer controlled by a user, and wherein said “initial window location” is a location of said screen pointer at a moment when an inertial scrolling is initiated by the user.
According to another embodiment, the method further comprises the steps of:
- detecting at least an attribute of an inertial scrolling user action selected from a group comprising at least: speed of the input object, acceleration of the input object, and pressure of input object against the display; and
- inferring a distance, for which a document image displayed in said window would scroll if said “initial window location” never reaches a window border; and
- if said inferred distance is greater than a distance between “initial window location” and a border of said window in a direction of said scrolling, and a difference between said distances is not greater than a first predetermined value, then performing inertial scrolling of said document in said window for a distance substantially equal to a distance between “initial window location” and said border of said window in the direction of said scrolling; and
- if said inferred distance is greater than a distance between “initial window location” and a border of said window in a direction of said scrolling, and a difference between said distances is greater than the first predetermined value, then performing inertial scrolling of said document in said window for a distance substantially equal to said inferred distance.
One embodiment further comprises the steps of:
- detecting a speed, with which said document scrolls at a moment when said “initial pointed document area” reaches a border of said display window in the direction of said inertial scrolling; and
- limit said inertial scrolling to the substantially a distance between said “initial window location” and a border of said display window in the direction of said inertial scrolling only if said speed does not exceed a second predetermined value.
According to one embodiment of the invention, the invention is implemented as an apparatus, comprising at least
- a processor; and
- a scrolling input device; and
- a display, adapted to display at least a window adapted to displaying at least a portion of at least a document; and
- a memory storage storing computer-executable instructions;
- wherein said display, said processor, said memory storage, and said computer-executable instructions being adapted to perform the following
- displaying a first portion of a document in a window displayed on said display; and
- detecting an inertial scrolling user action, which detecting comprises at least detecting a direction of said inertial scrolling action and detecting an “initial window location”, said “initial window location” being an area of said display window pointed at by a user when an inertial scrolling action is initiated; and
- scrolling said document to display a second portion of said document in said display window;
- a distance of said document scrolling being substantially a distance between said “initial window location” and a border of said display window in the direction of said inertial scrolling.
According to yet another embodiment, said display is a touch-sensitive display, said touch-sensitive display being a display, at least part of which also serves as a scrolling input device, and said processor, said touch-sensitive display, said memory storage, and said computer-executable instructions are further adapted to perform the following
- detecting a scrolling user action, said action being initiated by touching the display with a scrolling input object, such as a finger; and
- detecting an “initial window location” as a location of a point of a scrolling input object touch at a moment when the user breaks a contact of the scrolling input object and the display to initiate an inertial scrolling.
According to one embodiment, the invention is implemented as an apparatus, wherein said scrolling input device is a device, separate from said display, and said display is adapted to display a screen pointer in said display window, and said apparatus further comprises a screen pointer input device, said screen pointer input device being adapted to control a screen location of said screen pointer, and said processor, said display, said scrolling input device, screen pointer input device, and said memory storage are adapted to detect an “initial window location” as a location pointed at by said screen pointer at a moment when an inertial scrolling is initiated by the user.
According to one embodiment, said screen pointer input device is integrated with said scrolling input device.
TERMS USED IN THE PRESENT APPLICATIONKinetic scrolling: scrolling, which continues after the scrolling user action (e.g., a flicking gesture), causing the scrolling, ends.
- Inertial scrolling: kinetic scrolling, which slows down over time, and eventually stops.
- Forcefulness of a scrolling user action: a parameter, of a combination of parameters, of a scrolling user action, which determines the distance, speed, or both distance and speed of the inertial scrolling caused by the scrolling user action. The parameters may include, for instance, the speed of the input object causing the scrolling (e.g., a finger or a scroll wheel), acceleration of the input object before initiating inertial scrolling, the pressure of the object against the scrolling input device (e.g., touch screen or touch pad) when the user initiates inertial scrolling. An established value or values of the parameters may be used to calculate an anticipated distance of kinetic scrolling resulting from the particular user action.
- Display: a physical display, such as a screen of a digital artefact (a tablet, smartphone, laptop computer, desk computer, etc.), a large-screen wall mounted display, tabletop display, embedded system display (a display or industrial or consumer equipment, including process control systems, self-service technologies, home appliances, etc.), projected display (images projected on various surfaces), and so forth. A display can comprise several monitors, e.g., placed side by side. In the context of the application the terms “display” and “screen” are used interchangeably. The term “display” is understood in a broadest sense possible, as covering all types of digital displays that can display information contents.
- Display location: the location of a point or an area on a display. Display location of a point can be defined in various ways, for instance, through screen coordinates of the point, such as a pair or values corresponding to, respectively, horizontal and vertical distances from one of the corners of the display to the point. An area can be defined through screen coordinates of one or several points belonging to the area, as well as potential additional information. For instance, screen location of a circle can be defined by the screen coordinated of the center of the circle, and well as the radius of the circle. If a display comprises several monitors, display location can be defined by specifying a monitor, as well as coordinates within the monitor.
- Display Window (or Window): an area of a display, dedicated for displaying its related content, such as a document. A window can be modified by opening and closing, resizing, moving around across a display, or changing its related settings. The same window can at different moments be located at different areas of a display.
- Window location the location of a point or an area in a window. Window location can be defines similarly to a display location, but relative to a window. If a window does not move relative the display, then there is1:1 correspondence between display coordinates and window coordinates. If a window at different moments is located at different areas of a display, then the same window location can correspond to different display locations.
- Document: an information object having a certain content, which content may be displayed in one or several windows as a text, still image, video, menu, file folder, etc, as well as combinations of thereof. A document can be opened, closed, deleted, copied, etc. In the context of the present invention the term “document” is understood in a broad sense, as including all kinds of information objects, viewing which may require scrolling.
- Document content: information contained in the document, e.g. the text of Shakespeare's sonnet #18.
- Document image: visual representation of a document content, a representation displayed in a window for the user to perceive the document. The same content can be represented by different images: for instance, the same text can be displayed in different fonts, sizes, and colors. If a document image is too large to be completely displayed in a window, only a portion of the document is displayed, and to see other portions the user needs to scroll the document.
- Document image area: an area of the document image, defined relative to the document image presented to the user. Only a portion of the image can be presented at each particular time. Since a document can move in a window, the same area of a document image can be displayed in indifferent locations of a window.
BRIEF DESCRIPTION OF THE DRAWINGSFIGS. 1a-2cillustrate a scrolling method according to a variation of the first embodiment of the invention, which variation includes using a touchscreen.
FIGS. 2a-2billustrate variations of inertial scrolling according to the first embodiment, where scrolling has both a horizontal component and a vertical component.
FIGS. 3a-3cillustrate a scrolling method according to a variation of the first embodiment of the invention, which variation includes using a touchpad.
FIGS. 4a-4billustrate a scrolling method according to a variation of the first embodiment of the invention which variation includes using an area outside the display for scrolling input.
FIGS. 5a-5billustrate a scrolling method according to the second embodiment of the invention, when a touchscreen is used.
DETAILED DESCRIPTION OF THE INVENTIONThe first embodiment of the invention is illustrated byFIGS. 1-4.FIG. 1ashows a mobile computing device100 (e.g., a tablet).Device100 hastouchscreen display105, which showswindow110. WhileFIG. 1 showswindow110, which takes the entire space ofdisplay105,display105 is capable of showing several different windows, which windows may overlap, be embedded, placed side by side, etc.
Window110 only displays the first lines ofdocument120; it does not show the entire document. To view other parts ofdocument120, the user employsinput object130, such as a finger, to scrolldocument120 up. By usinginput object130, and touchingdisplay105 at the display location shown inFIG. 1a,the user points at awindow location135 located higher (by distance153) and to the right of (by distance156) the bottom left corner ofwindow110.Window location135 is displaying anarea140 ofdocument120, located in the upper part of the fourth line from bottom, approximately between “nisi” and “ut”.
FIG. 1bshowswindow110 displaying a second portion ofdocument120. Displaying the second portion is caused by movinginput object130 up fordistance150, while keeping contact betweendisplay105 andinput object130. As a result,document120 is scrolled two lines up, so the top two lines of the first portion are no longer visible, and two new lines are displayed at the bottom ofwindow110. The scrolling from the first portion to the first portion is panning, during whichinput object130 has uninterrupted contact withdisplay105.
FIG. 1bshows the end point of the panning user action, and also the beginning of a inertial scrolling user action (the transition from the panning to inertial scrolling). Wheninput object130 points towindow location145, located higher (bydistance153 +distance150) and to the right of (by distance156) the bottom left corner of window110 (the “initial window location”), the user breaks contact betweeninput object130 anddisplay105. The document continues scrolling after the user breaks contact betweeninput object130 anddisplay105. At the moment of braking the contact, “initial window location”145, displays area140 (the “initial pointed document area”) ofdocument110.Area140, shown inFIG. 1bas a black circle, is highlighted with a highlighting visual artifact, for instance, a yellow circle of substantially the size of initialpointed document area140, which circle is visually different from the image ofdocument120. After inertial scrolling is initiated,document120 continues to scroll in the direction determined by the movement ofinput object130. Initialpointed document area140, which moves along with the inertial scrolling as a part ofdocument120, remains highlighted.
The inertial scrolling may slow down and stop beforearea140 reaches the top border ofwindow110. That case is the same as the one of conventional inertial scrolling, and it is not shown inFIG. 1. Alternatively, inertial scrolling may continue untilarea140 reaches the top border ofwindow110, and that case is shown inFIG. 1c.
FIG. 1cshowswindow110 displaying the third portion ofdocument120. The document image displayed inwindow110 is the result of inertial scrolling ofdocument120 towards the top border ofwindow110 by distance160 (approximately 6 lines of text). The inertial scrolling stops after image ofdocument120 moves up fordistance160, and initialpointed document area140 substantially reaches the top border ofwindow110. To indicate the stop of the scrolling, the highlighting visual cue (a yellow circle of approximately the size of area140) changes its shape as if it “bumps” into the window border, temporarily flattens, and then restores the shape. The highlighting of initialpointed document area140 is disabled after the inertial scrolling stops. The highlighting is disabled either immediately or after a delay.
Various variations of the first embodiment are obvious to those skilled in the art and are covered by the present invention.
- the document can be scrolled in any direction: vertical (up, down), horizontal (left, right), or a direction having both a vertical and a horizontal component (as shown inFIG. 2)
- initial pointed document area may or may not be highlighted;
- visual effects indicating that initial pointed document area has reached a window border may or may not be used; if they are used, various types of visual effects can be employed;
- the panning (pre-kinetic) phase of the scrolling illustrated inFIG. 1 may be larger or smaller comparted to the kinetic phase, and in some cases the panning phase may be negligible or even substantially absent;
- a display does not necessarily comprise only one window taking all available space, as smaller, multiple, and/or embedded windows can be provided;
- initial pointed document area can be defined either when a panning pre-kinetic scrolling phase is initiated (FIG. 1a) or at the beginning of the kinetic phase (as shown inFIG. 1b); in the former case an initial pointed document area may be unmarked (or “dismissed”, “undefined”) if the panning phase is not followed by an inertial phase;
- the ongoing inertial scrolling can be stopped, or a new scrolling action can be initiated, if a user performs a user action using an input device (e.g., touches the display) before said “initial pointed document area” reaches a border of said window.
In addition, initial pointed document area may have various sizes and shapes. For instance, the size of such area may be defined as having approximately the size of the tip of an input object. The size can be defined adaptively and can positively correlate with the size of the detected contact area characteristic of a certain input object (it can be larger, for instance, for fingers than styluses, and be different for fingers of different users). The shape of an initial pointed document area may be a standard shape (such as a circle) or an approximation of the actual contact area between the input object and the display.
The distance, for which inertial scrolling continues according to the first embodiment, can be calculated in different ways obvious to those skilled in the art. For instance, the distance can be calculated as a difference between two display locations: (a) display location of the display area where the user breaks contact with the display at the beginning of inertial scrolling, and (b) display location of the window border in the direction of scrolling. Alternatively, the distance can be calculated as a difference between two window locations: (a) “initial window location”, and (b) the window border in the direction of scrolling. Another alternative is to calculate the distance as a distance between two locations of the document image: (a) “initial pointed document area” and (b) the document image area proximate to window border in the direction of scrolling at the beginning of inertial scrolling. Finally, inertial scrolling may stop when the distance between “initial pointed document area” and a window border becomes less than a predetermined value, so that the distance of inertial scrolling is not calculated in advance but rather determined on a moment-to-moment basis by substantially continuously monitoring relative positions (display locations, window locations, or document image locations) of “initial pointed document area” and window borders.
A variation of the first embodiment is document scrolling achieved by the user by performing a mid-air scrolling gesture over the surface of a screen without touching the screen. In this case the “initial window location” is the window location that the user explicitly or implicitly points to at the moment when an inertial scrolling is initiated by the user. An inertial scrolling can be initiated, for instance, by rapidly increasing the distance between the display and the input object (such as user's fingers). For instance, “initial window location” can be the area of the window in closest proximity to the scroll object, such as user's finger or fingers, stylus, and so forth.
Similarly, using a separate touch sensitive input device, isomorphic to the display, also represents a variation of the first embodiment similar to the one illustrated byFIG. 1. If locations of a touch sensitive input device are mapped to locations of a display (for instance, if the surface of the input device is placed on a flip side of a display, that is, the surface of a back side of an electronic product, opposite to the display, serves as touch sensitive input) then multi touch gestures on the input device have similar effects as multi touch gestures on touch sensitive display, shown inFIG. 1.
FIG. 2aillustrates a method for establishing the distance of inertial scrolling according to the present invention, according to which method “initial pointed document area”200 is defined as a circle of generally around the tip of input object210 (in this case, a finger). The distance of inertial scrolling is determined as the shortest distance between (a) the perimeter ofarea200 and (b) the point of first contact betweenarea200 andwindow border220 whenarea200 moves indirection230, which direction is the direction of inertial scrolling.
The distance of inertial scrolling according to the present invention can also be calculated using other methods obvious to those skilled in the art.FIG. 2bshows a variation of the method shown inFIG. 1a.According to this variation inertial scrolling distance is the shortest distance between (a) the perimeter ofarea200 and (b) the point of first contact betweenarea200 andline240, whenarea200 moves indirection230, which direction is the direction of inertial scrolling.Line240 is a line parallel towindow border220, located closer to the geometric center of the window with offset250. Other potential alternatives include, for instance, using the geometric center of “initial pointed document area”, instead of its perimeter, for determining the distance of inertial scrolling movement.
FIGS. 3a-cillustrate a second variation of the first embodiment.FIG. 3ashowselectronic device300, which hasdisplay305showing window310.Window310 displays a first portion ofdocument320.Screen pointer335 is also shown inwindow310.Document320 can be scrolled inwindow310 by sliding input object330 (e.g., two fingers) overtouch pad350, which is a separate component ofdevice300, different fromdisplay305.FIG. 3ashows the initial moment of a scrolling action, when the user placesinput object330 ontouch pad350 and is about to moveinput object330 up to causedocument320 scroll up. At thismoment screen pointer335 points toarea340 of the image ofdocument320, which area is located in the upper part of the 4thline from bottom, generally between “nisi” and “ut”.Area340, “initial pointed document area”, is marked onFIG. 3bwith a small circle.
FIG. 3bshowswindow310 displaying a second portion ofdocument320. The second portion is produced by movinginput object330 up fordistance360 while continuously keeping contact ofinput object330 withtouch pad350. As a result,document320 is scrolled two lines up, so the top two lines of the first portion are no longer visible, and two new lines are displayed at the bottom ofwindow310. The scrolling from the first portion to the first portion is panning, during which the input object has uninterrupted context withtouch pad350.
FIG. 3bshows the end point of the panning user action, and also the beginning of an inertial scrolling user action (the transition from the panning to inertial scrolling), when the user breaks contact betweeninput object330 andtouch pad350.Document320 continues to scroll after the user breaks contact betweeninput object330 andtouch pad350. “Initial pointed document area”340 is highlighted with a highlighting visual artifact, for instance, a yellow circle, visually different from the image ofdocument320. After inertial scrolling is initiated,document320 continues to scroll in the direction determined by the movement ofinput object330, that is, the direction of scrolling from the first portion of document320 (FIG. 3a) to the second portion of document320 (FIG. 3b). Initialpointed document area340, which moves along with the inertial scrolling as a part ofdocument320, remains highlighted.
FIG. 3cshowswindow310 displaying the third portion ofdocument320. The document image displayed inwindow310 is the result of inertial scrolling of the second portion of the image ofdocument320 towards the top border ofwindow310 for approximately six lines of text. The inertial scrolling stops when initial pointeddocument area340 substantially reaches the top border ofwindow310. To indicate the stop of inertial scrolling, the highlighting visual cue (e.g., a yellow circle) changes its shape as if it “bumps” into the window border, temporarily flattens, and then restores the shape. The highlighting of initialpointed document area340 is disabled after the inertial scrolling stops. The highlighting visual cue is disabled either immediately or after a delay.
WhileFIG. 3 describes an embodiment of the present invention, which only includes using a touch pad as a separate scrolling input device, it is obvious to those skilled in the art that the description can be applied to a variety of other separate scrolling input devices, such as a scroll wheel.
FIG. 4 shows a third variation of the first embodiment.Electronic device400 includesdisplay405 comprisingwindow410.Window410 displays a first portion ofdocument420.Document420 can be scrolled vertically or horizontally by slidinginput object430 along a side ofdevice400, outsidedisplay405.FIG. 4ashows the moment, when the user, who has been slidinginput object430 vertically up along the right side ofdevice400, breaks contact withdevice400 to initiate inertial scrolling ofdocument420. Ahorizontal area440 of the image ofdocument420,area440 being displayed at substantially the level of the vertical dimension ofwindow410, corresponding to the location ofinput object430 at the moment wheninput object440 breaks contact withdevice400, is selected as “initial pointed document area”.Area440 may be highlighted with a highlighting visual cue, such as, for instance, a yellow ellipse.FIG. 4bshows the end moment of the inertial scrolling. The scrolling ends whenarea440 reaches the top border ofwindow410.
It is understood that various obvious modifications of the third variation of the first embodiment are possible. In particular,area440 can be defined as a window-wide area of an area having a limited horizontal dimension, and the highlightingcue highlighting area440 may have a variety of shapes, sizes, and colors, such as an elongated ellipse shown inFIG. 4 or a small circle displayed on a margin ofdocument420.
The second embodiment of the invention is different from the first embodiment in that, depending on the forcefulness of a scrolling user action (e.g., speed, acceleration, abruptness, pressure of the input object against the input device), an inertial scrolling may or may not continue after a “initial pointing document area” reaches a window border. According to the second embodiment, less forceful scrolling user actions may result in inertial scrolling similar to that illustrated by the first embodiment, while more forceful scrolling user actions may result in inertial scrolling, similar to conventional scrolling.
FIG. 5ashows the moment of initiating an inertial scrolling by the user oftouchscreen device500showing document520 inwindow510. The user breaks contact withtouchscreen device500 by lifting input device530 (which is shown as user's finger) at a window location that shows “initial pointed document area”540. The forcefulness of the inertial scrolling action is determined by the speed ofinput device530 at the moment of breaking contact withdevice500. In turn, the forcefulness of the inertial scrolling action determined the speed of the inertial scrolling, and, in particular, the speed of “initial pointed document area”540 at the moment, when “initial pointed document area”540 reaches the top border ofwindow510. If the speed is does not exceed a predetermined speed, “initial pointed document area”540 stops at the border and the inertial scrolling ofdocument520 ends. If the speed exceeds a predetermined speed,document520 continues to scroll foradditional distance550 after “initial pointed document area”540 moves beyond the limits of window510 (FIG. 5b).
Another variation of the second embodiment is, when an inertial scrolling user action is detected, to:
- detect at least an attribute of an inertial scrolling user action selected from a group comprising at least: speed of the input object, acceleration of the input object, and pressure of input object against the display; and
- inferring a hypothetical distance, for which the document image displayed in the window would scroll if the “initial pointed document area” would never reach a window border; and
- if the inferred distance is greater than a distance between “initial pointed document area” and a border of said window in a direction of said scrolling, and a difference between said distances is not greater than a first predetermined value, then perform inertial scrolling of said document in said window for a distance equal to a distance between “initial pointed document area” and said border of said window in the direction of said scrolling, and
- if the inferred distance is greater than a distance between “initial pointed document area” and a border of said window in a direction of said scrolling, and a difference between said distances is greater than a first predetermined value, then perform inertial scrolling of said document in said window is for a distance equal to said inferred distance.
According to all embodiments of the invention, the size, shape, color, brightness, transparency, and other attributes of the highlighting visual cue disclosed in the invention can be defined or selected by the user. The user may also select options and preferences, including enabling or disabling the visual cue, time thresholds, types of the visual cue, and a spatial offset between screen pointer location (alternatively, user contact point when using a touchscreen device) and a visual cue. For instance, the user may prefer a visual cue to be displayed on a margin of a document rather than overlaid on the content of a document.
While the scrolling input devices shown inFIG. 4-14 above are touchpad and touchscreen, it is obvious to those skilled in the art that many other types of devices can be used to perform scrolling actions, including, but limited to, scroll wheels, joysticks, trackpads, graphic tablets, are covered by the invention. In these cases the direction and distance of scrolling are determined by the parameters of the user action, such as direction, distance, time, and speed, performed on a scroll wheel or other alternative scrolling input device.
In addition, while the example of a separate scrolling input device illustrated in the description above, a touchpad, can be also be used for controlling the position of a screen pointer, it is understood that a separate scrolling input device in the context of this invention can have a more limited functionality, not including the control of a screen pointer. The use of such scrolling input devices can be combined with other devices, which can be used to control the position of a screen pointer.
Furthermore, while the figures above illustrate only one type of screen pointers, an arrow, it is understood that other types of screen pointers, including hand-shaped pointers, text cursors (e.g., short vertical or oblique lines), and so forth, are covered by the present invention.
In it understood that the invention can be employed in network computing environments with various types of computer system configurations, including the use of cloud memory storage and distributed execution of computer executable instructions by configurations of processors.