`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