Scrolling inertia
First Claim
1. A method for scrolling through a display comprising:
- detecting elapsed time between each of a plurality of scroll events resulting from a user turning a scroll wheel;
upon detecting each scroll event in the plurality of scroll events, performing the following;
adjusting a stored value that represents inertia calculated based on elapsed time between scroll events, andscrolling a number of lines, the number being based on the stored value; and
,when the stored value does not represent zero inertia and upon a predetermined amount of time elapsing without occurrence of a scroll event, performing the following;
scrolling a second number of lines, the second number being based on the stored value, andadjusting the stored value so as to represent a decrease in inertia, wherein adjusting the stored value based on elapsed time between scroll events comprises;
adjusting the stored value to indicate an increase of inertia when elapsed time between scroll events is decreasing; and
adjusting the stored value to indicate a decrease in inertia when the elapsed time between scroll events is increasing.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer mouse notifies a mouse driver whenever a scroll event occurs as a result of rotation of a scroll wheel. In response to receiving a notification of a scroll event, the mouse driver adjusts a stored value that represents inertia calculated based on elapsed time between scroll events. The computer scrolls a number of lines on a display, the number being based on the stored value. When the stored value does not represent zero inertia and upon a predetermined amount of time elapsing without occurrence of a scroll event, the computer scrolls a second number of lines on the display. The second number is based on the stored value. The mouse driver adjusts the stored value so as to represent a decrease in inertia.
14 Citations
21 Claims
-
1. A method for scrolling through a display comprising:
-
detecting elapsed time between each of a plurality of scroll events resulting from a user turning a scroll wheel; upon detecting each scroll event in the plurality of scroll events, performing the following; adjusting a stored value that represents inertia calculated based on elapsed time between scroll events, and scrolling a number of lines, the number being based on the stored value; and
,when the stored value does not represent zero inertia and upon a predetermined amount of time elapsing without occurrence of a scroll event, performing the following; scrolling a second number of lines, the second number being based on the stored value, and adjusting the stored value so as to represent a decrease in inertia, wherein adjusting the stored value based on elapsed time between scroll events comprises; adjusting the stored value to indicate an increase of inertia when elapsed time between scroll events is decreasing; and adjusting the stored value to indicate a decrease in inertia when the elapsed time between scroll events is increasing. - View Dependent Claims (2, 3, 4, 5, 6, 18, 19)
-
-
7. An input system comprising:
-
a computer mouse including a scroll wheel; and
,a mouse driver for the computer mouse, the mouse driver residing on a computer; wherein the computer mouse notifies the mouse driver whenever a scroll event occurs as a result of rotation of the scroll wheel; wherein in response to receiving a notification of a scroll event, the mouse driver adjusts a stored value that represents inertia calculated based on elapsed time between scroll events and the computer scrolls a number of lines on a display, the number being based on the stored value; wherein when the stored value does not represent zero inertia and upon a predetermined amount of time elapsing without occurrence of a scroll event, the computer scrolls a second number of lines on the display, the second number being based on the stored value, and the mouse driver adjusts the stored value so as to represent a decrease in inertia; and wherein the mouse driver adjusts the stored value based on elapsed time between scroll events by; adjusting the stored value to indicate an increase of inertia when elapsed time between scroll events is decreasing; and adjusting the stored value to indicate a decrease in inertia when the elapsed time between scroll events is increasing. - View Dependent Claims (8, 9, 10, 11, 12, 20)
-
-
13. A mouse driver residing on a computer, the mouse driver comprising:
-
a scroll wheel handling block, the scroll wheel handling block in response to receiving notification of a scroll event occurs as a result of rotation of a scroll wheel on a computer mouse, adjusting a stored value that represents inertia calculated based on elapsed time between scroll events; wherein the computer scrolls a number of lines on a display, the number being based on the stored value; and
,wherein when the stored value does not represent zero inertia and upon a predetermined amount of time elapsing without occurrence of a scroll event, the computer scrolls a second number of lines on the display, the second number being based on the stored value, and the scroll wheel handling block adjusts the stored value so as to represent a decrease in inertia, wherein the scroll wheel handling block adjusts the stored value based on elapsed time between scroll events by; adjusting the stored value to indicate an increase of inertia when elapsed time between scroll events is decreasing; and adjusting the stored value to indicate a decrease in inertia when the elapsed time between scroll events is increasing. - View Dependent Claims (14, 15, 16, 17, 21)
-
Specification