throbber
Ulllted States Patent [19]
`Allen et al.
`
`US005943052A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,943,052
`Aug. 24, 1999
`
`[54] METHOD AND APPARATUS FOR SCROLL
`BAR CONTROL
`
`5,659,333
`5,663,748
`
`8/1997 Okishima .............................. .. 345/123
`9/1997 Huffman et al.
`345/173
`
`[75] Inventors: Timothy Allen, Los Gatos; Shawn R
`Day, San Jose; Aaron T- Ferrucci,
`Santa CruZ> an of Calif
`
`[73] Assignee: Synaptics, Incorporated, San Jose,
`Cahf'
`
`[21] Appl' NO‘: 08/909,696
`[22]
`Filed:
`Aug 12 1997
`’
`[51] Int. Cl.6 ...................................................... .. G06F 3/00
`[52] US. Cl. ........................................... .. 345/341; 345/173
`[58] Field of Search ................................... .. 345/123, 341,
`345 /163, 156, 173
`
`[56]
`
`References Cited
`
`Us‘ PATENT DOCUMENTS
`6/1992 Cooper .................................. .. 345/163
`5/1994 Gilligan etal. ..
`345/157
`6/1996 Gillick et al. ......................... .. 345/163
`
`5,122,785
`5,313,229
`5,530,455
`
`5,739,821
`
`4/1998 H0 et al. . . . . . . . . .
`
`. . . .. 345/340
`
`5/1998 Stephan et al. ....................... .. 345/173
`5,748,185
`Primary Examiner—A. Katbab
`Attorney, Agent, or Firm—Malcolm B. Wittenberg
`
`ABSTRACT
`[57]
`An apparatus for touchpad-based scroll control and method
`for scroll control comprising a data packet processor Work
`ing in conjunction With a touchpad. A scroll Zone, having a
`central axis, is de?ned on the touchpad. After detecting a
`user running a ?nger on the touchpad in a direction sub
`Stantially parallel to an axis running the length of the scroll
`Zone, the processor softWare sends scrolling messages to the
`Operating system or application that owns an active Window.
`The packet processing softWare is con?gured to not scroll on
`motions that are not substantially parallel to the aXis of the
`scroll Zone, thereby avoiding unWanted interference With
`normal program function, and also stops scrolling When the
`user lifts the scroll-activating ?nger or moves it in direction
`substantially perpendicular to the scroll Zone
`
`20 Claims, 4 Drawing Sheets
`
`)6
`13
`Operating
`7
`Touchpad é proigsesgr :> System or _,, Wmdow A
`\
`Appllcatlon
`\
`15
`25
`
`—‘~
`
`.
`
`\
`30
`
`/
`18
`
`\
`19
`
`P k
`
`/
`2O
`
`TCL EXHIBIT 1028
`Page 1 of 13
`
`

`
`TCL EXHIBIT 1028
`Page 2 of 13
`
`

`
`U.S. Patent
`
`Aug. 24, 1999
`
`Sheet 2 of4
`
`5,943,052
`
`)6
`13
`Operating
`—
`Touchpad é P53122882’, _, System or _v Window 2
`X
`Application
`\ '
`15
`25
`
`/
`18
`
`\
`19
`
`/
`2O
`
`\
`30
`
`Touchpad
`
`FIG. 2
`
`5O
`
`AF
`T
`x L‘
`
`55
`
`FIG. 3
`
`Touchpad
`
`X——>
`
`FIG. 4A
`
`Touchpad
`
`<-—x
`
`FIG. 4B
`
`V/ST
`
`Touchpad
`
`FIG. 4C
`
`TCL EXHIBIT 1028
`Page 3 of 13
`
`

`
`U.S. Patent
`
`Aug. 24, 1999
`
`Sheet 3 of4
`
`5,943,052
`
`100
`Wait forTouchpad /
`Packet
`
`'
`
`Update Finger Velocity
`
`L
`
`/105 %
`
`In Last
`Packet, Was
`Finger Down
`?
`
`LastFingerDown
`= False
`
`Packet, Was
`Finger Down
`?
`
`LastFingerDown
`= True
`l
`FingerDown Point
`= Current Point
`
`/145
`
`/15O
`
`15 5
`
`1
`
`N
`
`Stop
`Scrolling
`160/
`
`170
`
`Button Activity?
`
`180
`
`N
`
`T
`
`Y
`
`F
`
`1 85
`uery Standby
`
`GoTo A
`In FIG. 5A
`
`is
`X < XAbort
`?
`
`Y
`
`190
`
`Stop
`Scrolling
`
`FIG.
`5
`
`TCL EXHIBIT 1028
`Page 4 of 13
`
`

`
`U.S. Patent
`
`Aug. 24, 1999
`
`Sheet 4 of4
`
`5,943,052
`
`200
`
`is Motion
`
`Y
`
`ls Motion
`Perpendicular
`'?
`
`ls Motion
`Towards Center
`
`202
`
`205
`
`210
`
`Small?
`
`Stop
`Scrolllng
`
`>
`
`Cancel
`
`21?‘)
`
`GOTO B
`In FIG. 5
`
`GOTO B
`In FIG. 5
`
`Net = Current Point
`— FingerDownPoint
`
`ls Net
`Perpendicular
`?
`
`255
`
`Start Scrolling at
`Current Point
`
`FIG. 5A
`
`TCL EXHIBIT 1028
`Page 5 of 13
`
`

`
`1
`METHOD AND APPARATUS FOR SCROLL
`BAR CONTROL
`
`FIELD OF THE INVENTION
`
`The invention relates generally to computer pointing
`devices and speci?cally to scrolling movements triggered by
`computer pointing devices for use With graphical user inter
`faces.
`
`BACKGROUND OF THE INVENTION
`
`Graphical user interfaces (GUls) are Well knoWn. One key
`feature of all GUIs is a scrollable WindoW to speed access to
`content. Typically, there is a graphical control on the edge of
`a WindoW, called a scroll bar. Scrolling is accomplished by
`using a pointing device, such as a mouse, to move a cursor
`over the scroll bar.
`FIG. 1 illustrates a typical prior art GUI display including
`a scrollable WindoW. The display of a typically program may
`include menu bar 11, button bar 12, and data display 14.
`Vertical and horiZontal scroll bars 15 (and graphical com
`ponents of the scroll bars, such as arroW button 17 and scroll
`elevator 16) typically occupy one or tWo small portions of
`the screen. Therefore, it is difficult and/or time consuming
`for users to position a cursor exactly on the scroll bar and
`scroll bar components. Often, users overshoot the scroll bar
`and must use multiple motions to return the cursor to the
`proper location on the screen. Increasing the siZe of the
`scroll bar and its constituent components is not a desirable
`option since this Would necessarily reduce the amount of
`display area available for data in the main data display
`portion 14.
`To partially address the need for easier access to the GUI
`scrolling function, Gillick et al., in US. Pat. No. 5,530,455,
`describe a roller mouse that includes an extra Wheel on its
`top surface. The extra Wheel is used to scroll display
`WindoWs Without repositioning the cursor. HoWever, utility
`of the Gillick et al. roller mouse is limited: it requires the
`addition of a complicated and expensive mechanical com
`ponent to an existing mouse. Also, the roller mouse is not
`suitable for some desktop computers and most portable
`computers (that normally use trackballs, touchpads and
`similarly stationary pointing devices) because it requires
`space to accommodate a moving mouse.
`
`15
`
`25
`
`35
`
`45
`
`SUMMARY OF THE INVENTION
`
`To address the shortcomings of the prior art, the present
`invention provides a system for converting user-applied
`stimuli on a cursor-control device into graphical user inter
`face WindoW scrolling messages, the system comprising a
`cursor-control input device and a data packet processor. The
`input device includes a scrolling Zone and is in electrical
`communication With a computer and forWards data packets
`to the computer. The data packet processor generates a
`plurality of messages in response to the stimuli applied by
`the user to the scrolling Zone on the input device and causes
`an active WindoW in the graphical user interface to scroll
`visual display data in response to the messages sent by the
`packet processor.
`The system further comprises a touchpad-based scroll
`control and method for scroll control comprising a data
`packet processor Working in conjunction With a touchpad. A
`scroll Zone, having a central axis, is de?ned on the touchpad.
`After detecting a user running a ?nger on the touchpad in a
`direction substantially parallel to an axis running the length
`of the scroll Zone, the processor softWare sends scrolling
`
`55
`
`65
`
`5,943,052
`
`2
`messages to the operating system or application that oWns an
`active WindoW. The packet processing softWare is con?gured
`to not scroll on motions that are not substantially parallel to
`the axis of the scroll Zone, thereby avoiding unWanted
`interference With normal program function, and also stops
`scrolling When the user lifts the scroll-activating ?nger or
`moves it in direction substantially perpendicular to the scroll
`Zone.
`It is therefore a ?rst advantage of this invention to provide
`easy-to-use scrolling Without any additional mechanical
`components beyond those already available in many com
`puters.
`It is a further advantage of the present invention to
`provide an easy-to-use scrolling feature for desktop and
`portable computers.
`It is still another advantage of the present invention to
`provide a touchpad-integrated scroll control feature that can
`differentiate user-motions intended for scroll control from
`those merely intended for cursor control.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The aforementioned advantages of the present invention
`as Well as additional advantages thereof Will be more clearly
`understood hereinafter as a result of a detailed description of
`a preferred embodiment of the invention When taken in
`conjunction With the folloWing draWings in Which:
`FIG. 1 illustrates a prior art graphical user interface
`including a scroll bar feature.
`FIG. 2 illustrates the architecture and function of the
`apparatus of the present invention.
`FIG. 3 illustrates the relationship betWeen the modi?ed
`touchpad of the present invention and an active display
`WindoW.
`FIG. 4, comprising FIG. 4A, FIG. 4B and FIG. 4C,
`illustrates a variety of user ?nger motions recogniZed as
`non-scrolling by the processor softWare apparatus of the
`present invention.
`FIGS. 5 and 5A illustrate the function of the packet
`processor shoWn in FIG. 2 as Well as the scroll control
`method of the present invention.
`
`DETAILED DESCRIPTION OF THE PRESENT
`INVENTION
`
`FIG. 2 illustrates the general architecture of the apparatus
`of the present invention. Touchpad 18 includes a de?ned
`scroll Zone 19. Scroll Zone 19 could be vertical (as shoWn),
`horiZontal, or otherWise located on touchpad 18, preferably
`to enable easy access for the user and proper alignment With
`the location of scroll bar 15 in WindoW 30 for easy hand-eye
`coordination of touchpad movements to cursor and scrolling
`movements on the WindoW display. Packet processor 20,
`implemented as a program on a central processing unit,
`examines data packets generated by touchpad 18. When
`scroll Zone 19 is appropriately activated by the user, packet
`processor 20 sends scroll messages to an operating system or
`application 25 (such as a visual calendar display, as shoWn
`in FIG. 1) that controls a WindoW 30 including a scroll bar
`15. Scroll messages processed by packet processor 20 and
`received by operating system 25 cause WindoW 30 to scroll
`the contents in data display region 14 shoWn in FIG. 1.
`FIG. 3 illustrates a preferred embodiment of the relation
`ship betWeen touchpad 18 and WindoW 30. When a user’s
`?nger makes a valid motion from a point 50 to another point
`55, the vertical distance therebetWeen being AF, then Win
`doW 30 scrolls its contents by some amount AD that is
`
`TCL EXHIBIT 1028
`Page 6 of 13
`
`

`
`3
`proportional to AF. Similarly, scroll elevator 40 moves by an
`amount AT, also proportional to AF.
`FIGS. 4A—4C illustrate invalid user scrolling motions. In
`FIG. 4A, the user’s ?nger lands on the touchpad at point X,
`outside of the scroll Zone, then moves into the scroll Zone.
`This motion preferably Will not trigger the scrolling func
`tion. In FIG. 4B, the user’s ?nger exits the scroll Zone,
`thereby aborting the scrolling function. In FIG. 4C, the
`user’s ?nger makes a motion not substantially parallel to
`scroll Zone axis 37, and is therefore ignored by packet
`processor 20.
`The function of packet processor 20 and preferred method
`of the present invention is illustrated in the ?oWcharts of
`FIGS. 5 and 5A. Preferably, packet processor 20 is computer
`softWare executed on a central processing unit and Working
`in conjunction With a touchpad driver (not shoWn) to in?u
`ence display WindoW 30 and scroll bar 15.
`Turning ?rst to FIG. 5, at step 100 packet processor 20
`remains in standby mode until it receives a data packet from
`touchpad 18. Typically, this packet is provided by the
`touchpad driver after receipt across data line 13 (illustrated
`in FIG. 2 betWeen touchpad 18 and packet processor 20), in
`a manner understood by one skilled in the art to Which the
`present invention pertains. In a preferred embodiment, each
`touchpad packet contains at least ?nger up/doWn (on/off
`touchpad) movement information, current x,y-coordinate
`location information, and information indicating Whether
`any buttons have been pressed or button-emulating gestures
`have been executed.
`At step 105, the system updates a current estimate for
`velocity of movement of a ?nger or pointing mechanism on
`touchpad 18. Packets relayed When the ?nger is off touchpad
`18 have an unde?ned velocity. The ?rst ?nger doWn packet
`sets the ?nger velocity to Zero. After another ?nger doWn
`packet is received, velocity information is derived from the
`difference in location betWeen the ?rst and second ?nger
`doWn packets. For subsequent ?nger doWn packets, the
`velocity is a ?rst-order ?lter of the difference betWeen
`sequential packets.
`At step 110 the system determines Whether the ?nger is on
`the touchpad during the current packet. If not, then the
`system determines Whether the ?nger Was doWn in the last
`touchpad packet at step 115. If not, then there is no pro
`cessing required and control ?oWs back to step 100.
`OtherWise, at step 120 the system sets a variable labeled
`“LastFingerDoWn” to FALSE.
`At step 125, the processor queries the variable labeled
`“Active.” Variable “Active” is TRUE When packet processor
`20 is sending scroll messages to WindoW 30. If variable
`“Active” is FALSE, then step 130 queries the “Standby”
`variable. Variable “Standby” is TRUE When packet proces
`sor 20 is ready to scroll, but has not yet sent any scroll
`messages. If “Active” is TRUE or “standby” is TRUE, then
`the processor stops any scrolling activity at step 135 by
`turning “Active” and “Standby” to FALSE and moving the
`cursor back to its pre-scrolling location. After step 135,
`control ?oWs back to step 100 to Wait for another packet.
`If, at step 110, the data packet indicates the user’s ?nger
`is doWn, at step 140 the processor determines Whether the
`?nger Was doWn on the previous packet. If so, then variable
`“LastFingerDoWn” is set to TRUE at step 145 and, at step
`150, variable FingerDoWnPoint is set to the x,y coordinate
`of the current packet. The processor then determines at step
`155 Whether any buttons or button-emulating gestures have
`registered in the current packet. If so, the processor aborts all
`scrolling at step 160 (in a manner similar to or the same as
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`5,943,052
`
`4
`step 135, described above). Control then ?oWs back to step
`100. If no button activity is sensed at step 155, the processor
`determines Whether variable FingerDoWnPoint is in scroll
`Zone 19 by comparing variable X to a constant xZone (
`representing the interior edge of scroll Zone 19). (For an
`alternative embodiment including a horiZontal scroll Zone,
`the processor Would compare variable y to edge yZone of the
`scroll Zone.) If FingerDoWnPoint is outside the scroll Zone,
`then scrolling is not requested, and the packet processor
`returns to standby mode at step 165, Which sets variable
`“Standby” to TRUE. Control then ?oWs back to step 100.
`Returning to step 140, if variable LastFingerDoWn is
`FALSE, button activity is checked at step 170. Steps 170 and
`175 are preferably substantially equivalent to steps 155 and
`160 described above. If no button activity is found at step
`170, control ?oWs to step 180. If, at steps 180 and 185, the
`processor determines that both the “Active” and “Standby”
`variables are FALSE, then there is no scrolling and control
`?oWs back to step 100. OtherWise, at step 190 the processor
`determines Whether the ?nger has moved outside scroll Zone
`19 by testing Whether the X location of the current packet is
`less than constant xAbort, Where constant xAbort represents
`a position that is slightly to the left of scroll Zone border
`xZone, thereby providing hysteresis Within the scroll Zone
`determination. If the processor determines at step 190 that
`the ?nger has left scroll Zone 19, then all scrolling is stopped
`at step 195 in a manner analogous to that described above for
`step 135.
`If, at step 190, the ?nger is determined to be to the right
`of xAbort and still Within scroll Zone 19, then control ?oWs
`to step 200 in FIG. 5A, Wherein the processor queries
`variable “Active”. If “Active” is TRUE, then packet pro
`cessor 20 Will either transmit a scrolling message or abort
`scrolling. At step 202, the processor determines Whether the
`motion is small. In a preferred embodiment, the magnitude
`of motions is calculated by squaring the magnitude of the
`?nger velocity. If the square of the velocity magnitude is less
`than a predetermined constant, the motion is considered
`small. If the motion is small, then control ?oWs to step 220,
`Which calls a ScrollTo function With the CurrentPoint as the
`destination, as understood to one skilled in the art to Which
`the present invention pertains.
`If the motion is not small, then the processor determines
`at step 205 Whether the motion is perpendicular to scrolling
`axis 37 (illustrated in FIG. 4C). In a preferred embodiment,
`the motion is considered perpendicular When the velocity
`vector forms an angle of betWeen 60 and 120 degrees With
`scrolling axis 37. If the motion is not perpendicular, then
`control ?oWs to step 220. If the motion is perpendicular, then
`the processor determines at step 210 Whether the motion is
`toWards the center of the touchpad. If it is, then the combi
`nation of tests 202, 205 and 210 indicate that the user Wants
`to abort the scroll and, at step 220, the processor stops the
`scrolling action. After either step 215 or step 220 is
`executed, control ?oWs back to step 100 and packet proces
`sor 20 Waits for another packet.
`If, at step 200, variable “Active” is false, then scrolling
`may begin. At step 225, the processor determines Whether
`the motion is small. If not, then at step 230 it determines
`Whether the motion is substantially parallel to the scroll axis
`(preferably Within 30 degrees). If the motion is neither small
`nor substantially parallel to the scroll axis, then at step 240
`the processor cancels the scroll standby (by setting the
`“Standby” variable to FALSE) and control ?oWs back to step
`100.
`If the motion is either small or parallel to scroll axis 37,
`then at step 235 the processor computes the amount of net
`
`TCL EXHIBIT 1028
`Page 7 of 13
`
`

`
`15
`
`25
`
`35
`
`5
`motion indicated by the user since the FingerDoWnPoint. At
`step 245, the processor determines Whether the magnitude of
`this motion is less than a predetermined constant. If it is,
`then no appreciable motion has taken place since
`FingerDoWnPoint, and packet processor 20 proceeds to step
`100 to Wait for more packets. If the net motion is larger than
`a predetermined constant, then the processor determines at
`step 250 Whether the net motion is perpendicular to scroll
`aXis 37. If it is, then the processor proceeds to step 100 to
`Wait for more packets. OtherWise, there has been a non
`negligible scroll-like motion on the touchpad and, at step
`255, the processor starts the scrolling motion in WindoW 30
`by setting variable “Active” to true and storing the ?nger
`doWn location.
`The ScrollTo function at step 220 of FIG. 5A contains a
`state variable that records the last point at Which the
`ScrolITo function Was called. The start scrolling operation of
`255 initialiZes this variable. The ScrollTo function Will cause
`WindoW 30 to scroll in an amount proportional to the change
`in the y position betWeen the last call (point 50 in FIG. 3) to
`the ScrollTo function and the current y position passed to the
`ScrollTo function (point 55 in FIG. 3). This difference is
`illustrated as AF in FIG. 3. The ScrollTo function then
`causes the WindoW 30 to scroll by a proportional amount 6D
`in FIG. 3.
`The interface to the scrolling function can be accom
`plished in a number of Ways, depending on the identity of the
`operating system and/or application 25. The simplest and
`preferred method is outlined in US. Pat. No. 5,530,455 to
`Gillick et al., the disclosure of Which is incorporated by
`reference, in Which every scroll event generates a scrolling
`message (knoWn as WMiVSCROLL in WindoWs 95®). A
`similar method Would include generating a number of scroll
`ing messages proportional to the scrolling desired. Some
`applications accept specialiZed roller mouse messages gen
`erated directly by the device described in the ’455 patent. If
`application 25 accepts such messages, then the packet pro
`cessor can generate such messages.
`In another embodiment, the cursor is manipulated directly
`rather than having processor 20 send scroll messages. Packet
`processor 20 ?nds the identity of the active WindoW and the
`position of scroll elevator 16. Upon the start of scrolling, the
`cursor is moved over scroll elevator 16. As the ScrollTo
`function is called, mouse drag messages are generated and
`the elevator is directly moved by the correct amount 6T.
`When scrolling is ?nished, the cursor is moved back to its
`original position.
`It should be obvious to those skilled in the art to Which the
`present invention pertains that the invention is not limited to
`rectangular Zones on a rectangular touchpad. Scroll Zone 19
`can be located along the perimeter or even a centrally
`located region of an oddly shaped touchpad. Furthermore,
`the aXis of the touchpad can be either vertical or horiZontal
`by simply changing the meaning of some of the tests in
`FIGS. 5 and 5A. Therefore, one can have a horiZontal scroll
`Zone on the bottom of the touchpad that, When activated With
`horiZontal ?nger motions, Will cause horiZontal scrolling in
`a certain WindoW.
`
`45
`
`55
`
`In addition, there can be more than one scroll Zone on a
`touchpad. For eXample, a rectangular scroll Zone on the left
`side of the touchpad can be used in conjunction With vertical
`scrolling While a rectangular scroll Zone on the bottom side
`of the touchpad can be used in conjunction With horiZontal
`scrolling.
`
`65
`
`5,943,052
`
`6
`While the present invention has been described With
`reference to certain preferred embodiments, those skilled in
`the art Will recogniZe that various modi?cations and other
`embodiments may be provided. For eXample, a touchpad
`based scrolling mechanism as described above could be
`added to a standard trackball device to gain the advantages
`of the present invention. These and other embodiments are
`intended to fall Within the scope of the present invention.
`These and other variations upon and modi?cations to the
`embodiment described herein are provided for by the present
`invention Which is limited only by the folloWing claims.
`What is claimed:
`1. A system for converting user-applied object motion on
`a cursor-control device into graphical user interface WindoW
`scrolling messages, said system comprising:
`a cursor-control input device Which includes a touchpad
`in electrical communication With a computer, said input
`device forWarded data packets to said computer, said
`input device including a scrolling Zone;
`a data packet processor that generates a plurality of
`messages in response to object motion applied by the
`user entirely Within said scrolling Zone on said input
`device and causes an active WindoW in said graphical
`user interface to scroll visual display data in response
`to said messages sent by said packet processor.
`2. The system of claim 1, Wherein said scrolling Zone is
`a rectangle having a height greater than its Width, and said
`scrolling of visual display data occurs in a vertical direction.
`3. The system of claim 1, Wherein said scrolling Zone is
`a rectangle having a Width greater than its height, and said
`scrolling of visual display data occurs in a horiZontal direc
`tion.
`4. The system of claim 1, Wherein said data packet
`processor comprises a softWare-based input device driver
`eXecuted by a central processing unit on said computer.
`5. The system of claim 1, Wherein said data packet
`processor comprises means for determining Whether the
`user-applied stimuli is intended by the user to invoke a
`scrolling function.
`6. The system of claim 5, Wherein said means for deter
`mining comprises means for assessing Whether said stimuli
`represents a negligibly small ?nger movement.
`7. The system of claim 5, Wherein said means for deter
`mining comprises means for assessing Whether said stimuli
`represents a motion substantially perpendicular to a longi
`tudinal ads Within said scrolling Zone.
`8. The system of claim 5, Wherein said means for deter
`mining comprises means for assessing Whether said stimuli
`represents a motion substantially parallel to a longitudinal
`ads Within said scrolling Zone.
`9. The system of claim 5, Wherein said means for deter
`mining comprises means for assessing Whether said stimuli
`represents a motion beginning Within, but moving aWay
`from said scrolling Zone.
`10. The system of claim 5, Wherein said means for
`determining comprises means for assessing Whether said
`stimuli represents a motion beginning outside of, but mov
`ing into said scrolling Zone.
`11. The system of claim 5, Wherein said means for
`determining comprises means for assessing Whether said
`stimuli represents a motion toWard a center point of said
`scrolling Zone.
`
`TCL EXHIBIT 1028
`Page 8 of 13
`
`

`
`5,943,052
`
`7
`12. The system of claim 1, wherein said active WindoW is
`controlled by an operating system implemented on said
`computer.
`13. The system of claim 1, Wherein said active WindoW is
`controlled by an application implemented on said computer.
`14. Amethod of converting user-applied object motion on
`a cursor-control device into graphical user interface WindoW
`scrolling messages, said method comprising:
`forWarding a plurality of data packets from a cursor
`control input device Which includes a touchpad having
`a scrolling Zone to a data packet processor, said data
`packets representing object motion applied by a user to
`the input device;
`generating a plurality of messages in response to the
`user-applied object motion;
`forWarding said messages to an application controlling an
`active WindoW in said graphical user interface;
`scrolling visual display data in response to said messages
`sent by packet processor.
`15. The method of claim 14, Wherein said generating step
`includes assessing Whether said stimuli represents a negli
`gibly small ?nger movement.
`
`10
`
`15
`
`8
`16. The method of claim 14, Wherein said generating step
`includes assessing Whether said stimuli represents a motion
`substantially perpendicular to a longitudinal aXis Within said
`scrolling Zone.
`17. The method of claim 14, Wherein said generating step
`includes assessing Whether said stimuli represents a motion
`substantially parallel to a longitudinal ads Within said
`scrolling Zone.
`18. The method of claim 14, Wherein said generating step
`includes assessing Whether said stimuli represents a motion
`beginning Within, but moving aWay from said scrolling
`Zone.
`19. The method of claim 14, Wherein said generating step
`includes assessing Whether said stimuli represents a motion
`beginning outside of, but moving into said scrolling Zone.
`20. The method of claim 14, Wherein said generating step
`includes assessing Whether said stimuli represents a motion
`toWard a center point of said scrolling Zone.
`
`TCL EXHIBIT 1028
`Page 9 of 13
`
`

`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`CERTIFICATE OF CORRECTION
`
`PATENT NO. : 5,943,052
`DATED
`: August 24, 1999
`INVENTOR(S) : Allen et al.
`
`Page 1 0f 1
`
`It is certified that error appears in the above-identi?ed patent and that said Letters Patent is
`hereby corrected as shown below:
`
`Column 6
`Line 19, replace “forwarded” With -- forwarding
`
`Signed and Sealed this
`
`Seventeenth Day of December, 2002
`
`JAMES E. ROGAN
`Director ofthe United States Patent and Trademark O?‘ice
`
`TCL EXHIBIT 1028
`Page 10 of 13
`
`

`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`CERTIFICATE OF CORRECTION
`
`PATENT NO.
`: 5,943,052
`: August 24, 1999
`DATED
`INVENTOR(S) : Allen et al.
`
`Page 1 0f 1
`
`It is certified that error appears in the above-identi?ed patent and that said Letters Patent is
`hereby corrected as shown below:
`
`Column 7
`Line 19, replace “by packet” With -- by said data packet
`
`Signed and Sealed this
`
`Nineteenth Day of August, 2003
`
`JAMES E. ROGAN
`Director ofthe United States Patent and Trademark O?‘ice
`
`TCL EXHIBIT 1028
`Page 11 of 13
`
`

`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`CERTIFICATE OF CORRECTION
`
`: 5,943,052
`PATENT NO.
`APPLICATION NO. : 08/909696
`DATED
`: August 24, 1999
`INVENTOR(S)
`: Allen et al.
`
`Page 1 of 2
`
`It is certified that error appears in the above-identi?ed patent and that said Letters Patent is
`hereby corrected as shown below:
`
`In Column 6
`
`Line 25, replace “said packet” With --said data packet--.
`
`Line 41, replace “stimuli” with --obj ect motion --.
`
`Line 44, replace “stimuli” with --obj ect motion --.
`
`Line 47, replace “stimuli” with --obj ect motion --.
`
`Line 51, replace “stimuli” with -obj ect motion --.
`
`Line 56, replace “stimuli” with --obj ect motion --.
`
`Line 61, replace “stimuli” with --obj ect motion --.
`
`Line 66, replace “stimuli” with --obj ect motion --.
`
`In Column 7
`
`Line 21, replace “stimuli” with --obj ect motion --.
`
`In Column 8
`
`Line 2, replace “stimuli” With --object motion --.
`
`Line 6, replace “stimuli” With --object motion --.
`
`Line 10, replace “stimuli” with --obj ect motion --.
`
`Line 14, replace “stimuli” with --obj ect motion --.
`
`TCL EXHIBIT 1028
`Page 12 of 13
`
`

`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`CERTIFICATE OF CORRECTION
`
`: 5,943,052
`PATENT NO.
`APPLICATION NO. : 08/909696
`DATED
`: August 24, 1999
`INVENTOR(S)
`: Allen et a1.
`
`Page 2 of 2
`
`It is certified that error appears in the above-identi?ed patent and that said Letters Patent is
`hereby corrected as shown below:
`
`Column 8 gcont’d)
`
`Line 17, replace “stimuli” with --obj ect motion --.
`
`Signed and Sealed this
`
`Nineteenth Day of June, 2007
`
`m Wail,”
`
`JON W. DUDAS
`Director ofthe United States Patent and Trademark O?ice
`
`TCL EXHIBIT 1028
`Page 13 of 13

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket