throbber
United States Patent [19]
`Logan et al.
`
`[54] SYSTEM AND METHOD FOR EMULATING
`A MOUSE INPUT DEVICE WITH A
`ToUCHPAD INPUT DEVICE
`[75] Inventors: James D. Logan, Windham, N.H.;
`Blair Evans, Idlewild, Mich.
`[73] Assignee: Microtouch Systems, Inc., Methuen,
`Mass.
`[21] Appl. No.: 780,446
`[22] Filed:
`Oct. 21, 1991
`
`[63)
`
`Related U.S. Application Data
`Continuation of Ser. No. 391,482, Aug. 9, 1989, aban
`doned.
`[51] Int. Cl* ............................................... G09G 3/02
`[52] U.S. Cl. ..................................... 345/157; 34.5/173
`[58] Field of Search ............... 340/706, 707, 709, 710,
`340/712, 724, 726, 341/20, 178/18, 19; 273/148
`B, 438, 434, DIG. 28; 74/471 XY; 200/6 A
`References Cited
`U.S. PATENT DOCUMENTS
`4,071,691 1/1978 Pepper .
`4,129,747 12/1978 Pepper .
`4,148,014 4/1979 Burson ............................ 273/148 B
`4,198,539 4/1980 Pepper .
`4,293,734 10/1981 Pepper .
`4,302,011 11/1981 Pepper .
`4,313,113 11/1982 Thornburg .......................... 340/709
`
`[56]
`
`||||||||||||||||||||||||||||||||||||
`US005327161A
`[11] Patent Number:
`5,327,161
`[45] Date of Patent:
`Jul. 5, 1994
`
`4,371,746 2/1983 Pepper .
`4,430,917 2/1984 Pepper .
`4,734,685 3/1988 Watanable ........................... 340/706
`4,766,423 8/1988 Ono et al. ........................... 340/709
`FOREIGN PATENT DOCUMENTS
`2139762 12/1984 United Kingdom .
`OTHER PUBLICATIONS
`Foley et al; “Fundamentals of Interactive Computer
`Graphic”; Addison-Wesley Publishing Company; 1982;
`80–83 and 212-215.
`Primary Examiner—Alvin E. Oberley
`Assistant Examiner—Chanh Nguyen
`Attorney, Agent, or Firm—Joseph S. Iandiorio
`[57]
`ABSTRACT
`A system and method for emulating a mouse input de
`vice with a touchpad input device having a drag switch
`and touch device in which the direction of movement of
`the touch device across the touchpad surface is deter
`mined, a display cursor is caused to move in the same
`relative direction as the direction determined by the
`touch device, and the cursor movement is continued in
`that same relative direction either in or out of a drag
`mode, even after the touch device stops moving so as to
`allow the cursor to be moved a greater distance than the
`touch device.
`
`38 Claims, 10 Drawing Sheets
`
`76
`
`Hold cursor | No
`
`there
`
`Yes
`
`Read x,y
`point
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Compute touch
`walocity ond
`direction
`
`£ursor movement on
`display = f(touch velocity
`+ direction)
`
`ls
`touch in
`border
`dred 2
`
`
`
`Continue cursor
`movement on display =
`f(touch velocity +
`direction)
`
`
`
`
`
`Stop cursor
`frowt finent
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`U.S. Patent
`
`July 5, 1994
`
`Sheet 1 of 10
`
`5,327,161
`
`
`
`Form of Ond
`Hondshoke
`Firmware
`
`~ 2
`
`| Formot ond
`Hondshake
`Firmwore
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`U.S. Patent
`
`July 5, 1994
`
`Sheet 2 of 10
`
`5,327,161
`
`
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`U.S. Patent
`
`July 5, 1994
`
`Sheet 3 of 10
`
`5,327,161
`
`76
`
`
`
`Hold Cursor
`in ploce
`
`
`
`
`
`
`
`?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ls
`there
`liftoff

`
`Compute touch
`velocity and
`direction
`
`Cursor movement on
`display = f(touch velocity
`+ direction)
`
`|s
`touch in
`border
`ared 2
`
`
`
`Continue cursor
`movement on display=
`f(touch velocity+
`direction)
`
`
`
`94
`
`Stop cursor
`movement
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`U.S. Patent
`
`July 5, 1994
`
`Sheet 4 of 10
`
`5,327,161
`
`96
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ls
`touch in
`border
`ored 2
`
`Compute touch
`velocity, TV, glong
`oxis,A, porolleling
`toblet edge touched
`
`
`
`
`
`
`
`ls
`there
`liftoff
`
`
`
`
`
`
`
`Change speed of cursor
`travel in dimension A,
`noted by SA such that:
`SAnew *SAoriginal"f"v)
`
`
`
`
`
`
`
`Signal button
`down; enter
`drog mode
`
`
`
`|S
`mechonicol
`button
`down"?
`
`Go to Fig. 3A, step 72
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`U.S. Patent
`
`July 5, 1994
`
`Sheet 5 of 10
`
`5,327,161
`
`'?
`
`
`
`
`
`
`
`Hold cursor
`
`Compute touch
`velocity, TV . and
`direction, TD
`
`Y“
`Hos
`cursor
`
`stopped
`?
`
`Hos
`touchdown
`
`°c°”"ed
`
`Cursor movement
`
`on display, CM,
`
`iS=f(TV,TD)
`
`Read "Friction"
`
`
`
`
`
`setting mode
`by user, Fu
`
`FIG. 4
`
`GOOGLE EX. 1009
`
`Google V. Philips
`
`
`
`Continue cursor
`movement such that
`
`Cm in time period t, is:
`
`
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`U.S. Patent
`
`July 5, 1994
`
`Sheet 6 of 10
`
`5,327,161
`
`
`
`ls
`there
`touchdown
`2
`
`Redd x,y
`origin point
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`2
`No
`72
`Read subsequent
`touch point
`
`Compute distance
`to origin, Do
`
`Compute direction
`to origin, DD
`
`Set cursor speed, Cs,
`such tho?:
`Cs = f(Do)
`
`18O
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ls
`there
`liftoff
`2
`
`Yes
`
`
`
`Set cursor's direction
`of motion, CD, such that:
`CD=f(DD)
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`U.S. Patent
`
`July 5, 1994
`
`Sheet 7 of 10
`
`5,327,161
`
`262
`
`__2‘5°
`
`
`
`
`
`mechanical
`bufion
`—down
`
`
`
`Use cursor location
`
`algorithm with no
`. dragging
`
`Set software button down
`
`357
`
`.
`Use cursor location
`
`268
`
`
`
`algorithm while
`
`dragging
`
`270
`
`275
`
`Press $ drag set;
`toggle software
`button down
`
`Set software
`bum,“ up
`
`
`
`° Use cursor location
`algorithm with drag
`
`'
`
`230
`
`GOOGLE EX. 1009
`
`Google V. Philips
`
`N
`
`
`
`
`
`there
`liftoff
`9
`‘
`
`Y
`
`es
`
`278
`
`FIG. 6
`
`282
`
`6 Drag complete
`
`
`
`
`mechanical
`a distance greater
`
`button still
`than the "press$
`
`down ?
`drag" distance
`
`
` 274
`N°
`Yes
`
`
`
`
`
`
`
`cursor moved
`
`I I I I I I I I I
`
`300-/I
`
`I I I I I I
`
`I I I I I
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`U.S. Patent
`
`July 5, 1994
`
`Sheet 8 of 10
`
`5,327,161
`
`"
`
`
`0
`356
`354
`Use cursor location
`
`
`
`364
`
`
`
`
`mechanical
`algorithm with no
`button
`dragging
`down
`
`?
`
`
`
`ls
`
`360
`
`
`
`
`
`finger
`in border
`
`area?
`
`
`
`Use cursor location
`
`algorithm with
`dragging
`
`Use cursor location
`
`
`
`algorithm with
`dragging
`
`
`
`
`
`
`
`there
`
`touchdown
`
`
`Is
`
`
`elapsed
`time since ti
`< time out
`
`allowed?
`
`
`
`FIG. 7
`
`GOOGLE EX. 1009
`
`Google V. Philips
`
`
`
`Terminate
`drag action
`
`No
`
`374
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`U.S. Patent
`
`July 5, 1994
`
`Sheet 9 of 10
`
`5,327,161
`
`390
`
`Use Cursor location
`º no
`rogging
`
`mechdnicol
`button
`down
`
`
`
`
`
`
`
`394
`
`396
`
`
`
`
`
`
`
`
`
`4O2
`
`ls
`there
`touchdown
`before
`timeout
`2
`
`Terminote
`drag
`sequence
`
`404
`
`Yes
`
`Algorithm 3OO,
`Fig. 6
`
`ls
`there
`liftoff
`7
`
`FIG. 8
`
`4OO
`
`-
`Use Cursor location
`algorithm with drag
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`U.S. Patent
`
`July 5, 1994
`
`Sheet 10 of 10
`
`5,327,161
`
`mom
`
`mmm
`
`9.53:8233
`
`
`
`9.cotan.
`
`cotan.
`
`wczou
`
`_ooEo:umE
`
`.ow.Summ:
`
`
`
`.E£_..oa_oco:cuo_
`
`mcoo9:38..oz
`
`
`
`Esovcozzn
`
`9:39..
`
`
`
`22;E£:oa_o
`
`SoscomEm
`
`
`
`9.cotao
`
`...\
`
`232o96..
`
`..muc2m_u
`
`m_
`
`_ouEc:uoE.
`
`::w522.
`
`csoo
`
`mmm
`
`~..
`
`mm»
`
`m.
`
`co:ouo_Emsumm:
`
`9__3Eo
`
`~..
`
`
`
`:288:3m.a_::s_.o_._8o5::m52.5Q_o:m..>on%m..oo.mw.m
`
`
`EsauBE;uwzozomwxozm5.8..
`_ou_E..EomE233E£_.oa_u_oo_co;omES_H
`
`
`
`
`
`co:ouo_.om._..omm:
`
`
`
`2...;e.:_.o2o
`
`9._3o:.
`
`aGE
`
`oom
`
`GOOGLE EX. 1009
`
`Google V. Philips
`
`BostonEmmm»
`
`:o:ouo_533mm:
`
`
`
`um>oE.om:.u
`
`
`
`:9:869aoo:2m_c
`
`GOOGLE EX. 1009
`Google v. Philips
`
`
`
`
`
`
`
`
`
`
`
`

`

`1
`
`5,327,161
`
`2
`It is a further object of this invention to provide such
`a system and method in which the cursor may be
`dragged long distances without holding the drag button
`down.
`
`SYSTEM AND METHOD FOR EMULATING A
`MOUSE INPUT DEVICE WITH A TOUCHPAD
`INPUT DEVICE
`
`This is a continuation of application Ser. No.
`07/391,482, filed Aug. 9, 1989, now abandoned.
`FIELD OF INVENTION
`
`This invention relates to a system and method for
`emulating a mouse input device with a touchpad input
`device and more particularly to such a system and
`method in which the display cursor may be moved long
`distances with the drag button up or down with but a
`single stroke of the touchpad.
`BACKGROUND OF INVENTION
`
`touch-sensitive
`Touchpad input devices are small,
`devices that can be used to replace the mouse cursor
`locator/input device in mouse-driven personal comput-
`ers. The touchpad typically includes a small touch-sen-
`sitive screen anywhere from one by two inches up to
`three by five inches; the touchpad output is an analog
`signal representative of the location of the touching
`device on its surface. The computer system employs
`this information in placing the cursor on the CRT dis-
`play. Touchpads may be used as absolute cursor loca-
`tion devices in which the cursor is placed in the same
`relative location as that of the touch device on the
`touchpad screen. When used as an absolute positioning
`device, however, the touchpads make precise cursor
`location difficult due to the small screen size.
`Touchpads are more typically used as relative cursor
`positioning devices in which the cursor is moved across
`the display using one or more strokes of the touchpad
`surface; the cursor movement is related in some manner
`to the movement of the touchpad device across the
`surface. However, in order to move the cursor long
`distances, multiple strokes of the touchpad surface are
`required. In the smaller touchpads, the problems associ-
`ated with multiple strokes are magnified due to the
`short maximum stroke distance.
`Touchpad devices typically include a switch or “but-
`ton” on the lower side of the pad which, when pressed,
`is used to emulate the selection function of the button on
`a mouse. When the operator desires to “drag” the cur-
`sor across the display, the button must be held down.
`When the cursor must be moved relatively long dis-
`tances, necessitating multiple touchpad strokes,
`it
`is
`difficult or impossible to hold the drag button down to
`prevent release of the button and termination of the
`drag sequence while
`accomplishing the multiple
`strokes. If the finger is simply lifted from the screen, the
`drag sequence will terminate and must again be started.
`Even if the cursor can be dragged with a single touch-
`pad stroke, it is extremely difficult to maintain sufficient
`pressure on the touchpad to hold the button down while
`sliding the finger across the touchpad surface. Conse-
`quently, in using touchpad devices for dragging, the
`drag sequences are frequently unintentionally termi-
`nated.
`
`SUMMARY OF INVENTION
`
`It is therefore an object of this invention to provide a
`system and method for emulating a mouse input device
`with a touchpad input device in which the cursor may
`be moved long distances with a single stroke.
`
`It is a further object of this invention to provide such
`a system and method in which the cursor may be
`dragged without maintaining finger contact with the
`touchpad device.
`This invention results from the realization that rela-
`tive positioning touchpad devices can be dramatically
`improved to allow long distance cursor movement in or
`out of drag mode by maintaining the cursor movement
`in the same relative direction as a touchpad stroke after
`the stroke is terminated.
`This invention features a system and method for emu-
`lating a mouse input device with a touchpad input de-
`vice in which the cursor movement continues after
`completion of a touchpad swipe whether in or out of the
`drag mode,
`to allow the cursor to be exactly and
`quickly positioned.
`
`DISCLOSURE OF PREFERRED EMBODIMENT
`
`Other objects, features and advantages will occur
`from the following description of a preferred embodi-
`ment and the accompanying drawings in which:
`FIG. 1A is a hardware block diagram of a computer
`system employing a mouse-replacement touchpad for
`the system and method according to this invention;
`FIG. 1B is a block diagram of the software for the
`computer system of FIG. IA including the mouse emu-
`lation system according to this invention;
`FIG. 2A is a schematic side elevational view of a
`touchpad input device illustrating a touch-sensitive
`bezel of the system and method according to this inven-
`tion;
`FIG. 2B is a schematic top plan view of the touchpad
`device of FIG. 2A illustrating the designated perimeter
`areas of the system and method according to this inven-
`tion;
`FIGS. 3A, 3B and 3C are flow charts of the portion
`of the mouse emulation system and method according
`to this invention for maintaining cursor travel after the
`touch device stops moving using the touchpad device of
`FIGS. 2A and 2B;
`FIG. 4 is a flow chart of the portion of the mouse
`emulation system and method according to this inven-
`tion in which the cursor continues moving across the
`screen even after touch device liftoff;
`FIG. 5 is a flow chart of the portion of the mouse
`emulation system and method according to this inven-
`tion in which the cursor velocity is proportional to the
`distance of touch device movement;
`FIG. 6 is a flow chart of the portion of the mouse
`emulation system and method according to this inven-
`tion in which the touchpad drag button is held in the
`down position after the mechanical button has been
`lifted;
`FIG. 7 is a flow chart of the portion of the mouse
`emulation system and method according to this inven-
`tion in which the drag button is held down for a prede-
`termined time after device liftoff from a border area;
`FIG. 8 is a flow chart of the portion of the mouse
`emulation system and method according to this inven-
`tion in which the drag button is held down for a prede-
`termined time after device liftoff; and
`FIG. 9 is a flow chart of the portion of the mouse
`emulation system and method according to this inven-
`
`l0
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`65
`
`GOOGLE EX. 1009
`
`Google V. Philips
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`5,327,161
`
`3
`tion in which the drag button is toggled down after its
`release and toggles up when it is again pressed.
`This invention may be accomplished in a mouse emu-
`lation system and method for use with a microcomputer
`employing a touchpad cursor location/input device.
`The system and method according to this invention
`provides for long-distance cursor movement in or out of
`the drag mode without the need for the multiple strokes
`required by the existing touchpad devices.
`There is shown in FIG. 1A microcomputer system 10
`for use in the system and method according to this
`invention. Microcomputer
`system 10 includes mi-
`crocomputer 12 with CRT 14, which together may be
`included in for example an Apple Macintosh SE.
`Touchpad 20 may be a capacitive-type touchpad of the
`type known in the art. These touchpads employ minia-
`turized touch screen technology, which is disclosed
`generally in U.S. Pat. Nos. 4,071,691; 4,129,747;
`4,198,539;
`4,293,734;
`4,391,746;
`4,302,011;
`and
`4,430,917, all by Pepper, Jr., incorporated herein by
`reference. Touchpad controller 18 is the hardware in-
`terface between touchpad 20 and microcomputer 12.
`Touchpad 20 is typically operated with a conductive
`device such as a stylus or finger. Touchpad 20 can be
`either a relative or absolute cursor movement device
`similar to mouse 24, which is the pointer/input device
`typically used in microcomputer systems. Mouse 24 has
`mouse button 25 for accomplishing mouse-controlled
`functions such as menu pull down and selection and
`icon selection and use, for example. Two and three
`button mice are also used; the second and third buttons
`have assigned functions chosen by the manufacturer.
`The nature of mice and the mice button(s) are well
`known to those skilled in the art.
`FIG. 1B is a block diagram of the software for use in
`microcomputer system 10, FIG. IA. Touchpad control-
`ler 18 includes touch point digitizer 34 for interpreting
`and digitizing the pad touches; the sensed voltages are
`converted to a digital representation of the X and Y
`points. Format and handshake firmware 36 is responsive
`to touch point digitizer 34 for interfacing with similar
`firmware 37 in computer 12. Computer 12 also includes
`mouse emulator 38 according to this invention and
`graphical interface 32 for interpreting cursor location
`and mouse button emulation signals. Touch point digi-
`tizer 34, format and handshake firmware 36, touchpad
`controller 18 and relative-positioning touchpad 200 are
`available from MicroTouch Systems, Inc., of Wilming-
`ton, Mass. Graphical
`interface 32 is resident
`in mi-
`crocomputer 12 and visually presents through CRT 14a
`the operating system and applications, for example the
`windows and icons. Interface 32 interprets cursor posi-
`tion and mouse button signals from emulator 38, as will
`be described with more particularity below.
`Touchpad device 50 for use in this invention is shown
`in FIGS. 2A and 2B. Device 50 typically includes on its
`upper surface touch-sensitive screen 54 inside of perim-
`eter area surface 56 including bezel 59. The output of
`touchpad device 50 is typically an analog signal repre-
`sentative of the X and Y locations of the touch device
`contacting screen 54. Touchpad 50 may be either a
`relative or absolute cursor positioning device.
`Touchpad 50 further includes drag button 58 for
`producing a signal to initiate and terminate the drag
`mode; the drag button and mode are well known to
`those skilled in the art. Switch 58 is typically a mechani-
`cal switch which moves in the direction of arrow 61
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`when screen 54 is pressed down. Thus, in order to initi-
`ate dragging, the operator simply presses on screen 54.
`In existing touchpad devices, the system remains in
`drag mode only as long as switch 58 is closed. Thus, if
`the operator desires to drag the cursor across the CRT
`screen, he must drag his finger across screen 54 while
`maintaining sufficient force to close switch 58. This
`makes operation of touchpad device 50 in the drag
`mode somewhat awkward. Further, with a relative
`positioning touchpad device, if the operator desires to
`drag the cursor for a long distance across the screen, he
`must make multiple screen strokes. However, if the
`finger is lifted from screen 54, switch 58 will open and
`signal the system to leave the drag mode. Thus, in rela-
`tive-positioning touchpad devices, dragging over long
`distances typically requires the operator to hold touch-
`pad device 50 down on a table with one hand while
`stroking screen 54 with the other hand.
`Two features of this invention which allow touchpad
`50 to be more easily used in the drag mode are illus-
`trated in FIGS. 2A and 2B. These will be described
`with particularity below. Touchscreen 54 may include
`designated perimeter area 62, defined by dashed line 63,
`for providing continued cursor movement even after
`the touch device stops moving. An alternative to desig-
`nated perimeter 62 is touch-sensitive strip 60 mounted
`to bezel 59. The advantages of the strip over the desig-
`nated area are that it takes no touchpad space and pro-
`vides definitive tactile feedback exactly when the user
`has touched the “border” area. If employed in touchpad
`50, touch-sensitive strip 60 would preferably cover all
`four bezel surfaces; strip 60 is shown covering only one
`bezel surface for purposes of illustration. Strip 60 may
`be a piezoelectric element or other touch-sensitive de-
`vice known in the art which senses when the finger or
`touch device reaches the edge of screen 54. The signal
`from strip 60 is employed in maintaining cursor move-
`ment across the screen as is more fully described below
`in conjunction with FIGS. 3A, B and C.
`FIGS. 3A and 3B illustrate system 70 according to
`this invention for continuing cursor movement after the
`touch device stops moving across the touchpad surface.
`After the start, step 72, in steps 74 and 76 the cursor is
`held in place awaiting touch device touchdown. When
`touchdown occurs, the X, Y device location is read,
`step 78, and the cessation of screen contact, called lift-
`off, is monitored, step 80. If liftoff occurs, the operation
`is looped back to step 74.
`If contact continues, subsequent X, Y points are read,
`step 82, and velocity and direction of movement of the
`touch device across the screen is computed, step 84.
`Since system 70 is employed in touchpads used as rela-
`tive positioning devices, the computed finger direction
`is simply based on the initial and subsequent X and Y
`points; in relative positioning touchpads the cursor is
`moved across the screen in the same relative direction
`as the finger movement across the touchpad screen, as is
`known to those skilled in the art. The velocity is com-
`puted as a function of the change in distance over
`elapsed time.
`Operation continues to step 86, in which the cursor
`movement is established as a function of the touch ve-
`locity and direction, described above. When the touch
`is in the touchpad border area, which may be either
`designated surface area 62, or the touch is in contact
`with touch-sensitive strip 60, FIGS. 2A and 2B, opera-
`tion proceeds to step 90, in which the cursor movement
`is continued at the same speed and direction that it was
`
`-
`
`GOOGLE EX. 1009
`
`Google V. Philips
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`5
`traveling before the finger went into the border area.
`Thus, the operator may establish the direction and ve-
`locity of cursor movement with a short screen swipe
`ending in perimeter area 62 or in contact against bezel
`59.
`
`Border Designated perimeter area 62 may be estab-
`lished by creating a look-up table in which the touchpad
`screen locations corresponding to the border area re-
`side. In that case, when the finger is in the border area,
`the cursor continues moving in the relative direction
`and velocity established by the finger movement before
`it entered the border area. Touch-sensitive strip 60 on
`bezel 59 is used in the same manner as border area 62,
`and has the advantage of allowing the entire touchpad
`screen to be used for cursor positioning.
`If the touch device does not enter the border area,
`operation returns to step 78 for allowing the operator to
`alter the cursor direction and velocity by changing the
`direction and velocity of finger movement on the
`touchpad screen. If the touch is in the border area,
`operation proceeds to step 92,
`in which the system
`monitors for device liftoff. If liftoff occurs, cursor
`movement is stopped. Thus, to move the cursor across
`the screen, the operator may make a short swipe ending
`in the border area to establish cursor velocity and direc-
`tion. The cursor will then continue moving in that di-
`rection at that velocity until the finger is lifted from the
`screen. Alternatively, the cursor control may be re-
`gained by simply sliding the finger back into the relative
`positioning screen area inside of perimeter area 62.
`The continuing cursor movement is illustrated begin-
`ning in step 96, in which the X, Y finger touchpoint is
`read. If the touch is not in the border area, step 98,
`operation proceeds back to step 78. Steps 100 and 102
`are preferably included in system 70; however, these
`steps are not necessary for accomplishing the continu-
`ing cursor movement described above. Steps 100 and
`102 are added to allow the user to alter the cursor direc-
`tion when in the border or perimeter area. This is ac-
`complished by computing the finger velocity T, along
`axis A, which is parallel to the screen edge touched,
`step 100. In step 102, the velocity of cursor travel in
`direction A is changed as a function of the touch veloc-
`ity T,..
`What steps 100 and 102 accomplish may be described
`as follows. System 70 imparts a direction and velocity
`to the cursor based on the finger direction and velocity.
`When the finger enters the border area, the system
`continues the cursor movement in that direction at that
`velocity until the finger is lifted from the screen. With
`the inclusion of steps 100 and 102, the user may slide his
`finger in a direction parallel to the screen edge while in
`the border area or against
`the touch-sensitive strip,
`whichever is appropriate, to change the direction of
`cursor movement. As an example, if the operator has
`established a cursor movement horizontally to the right
`by a horizontal screen stroke to the right ending in the
`border area or against the bezel, the user may impart a
`vertical component to the horizontal motion by sliding
`his finger up or down. In this example, dimension A
`would be the vertical or Y direction, and the velocity of
`cursor movement in that dimension would be changed
`from zero to some finite value related to the speed of
`finger movement in direction Y. Step 104 completes the
`cursor steering loop. The cursor movement is stopped,
`step 94, on lifting of the finger from the screen.
`FIG. 3C illustrates a further system 105 according to
`this invention for operating system 70 in drag mode. In
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,327,161
`
`6
`step 107, drag button 58, FIGS. 2A and 2B, is moni-
`tored. The mouse button drag mode is well known to
`those skilled in the art If the button is “down”, or en-
`gaged, caused by sufficient pressure on the touchpad
`device, operation proceeds to step 108 in which the
`system provides a button down signal to graphical inter-
`face 32, FIG 1B. This signal causes interface 32 to begin
`operating in the drag mode, in which the cursor may be
`dragged across the display. Operation then proceeds to
`the start of system 70 for cursor location in the drag
`mode. If the drag button is not engaged, at step 109
`operation proceeds to step 70 for cursor location, and
`the button monitor loop is completed through step 107.
`Thus, the system and method according to this inven-
`tion provides for continuing cursor movement either in
`or out of the drag mode.
`illustrates the system and
`Algorithm 120, FIG. 4,
`method according to this invention for providing cursor
`direction and velocity with a short swipe of the touch-
`pad, such cursor motion continuing after liftoff,
`in
`which the overall cursor movement distance may be
`established by the user. In steps 124 and 126 the cursor
`is held in place until touchdown is sensed. In steps 128
`and 130, the system monitors for continuing touch.
`When there is continuing touch and the operator’s fin-
`ger has moved, at step 132 the subsequent touch point is
`read and the touch velocity and direction are computed,
`step 134. In step 136, the system causes the cursor to
`move in a direction and velocity related to the touch
`direction and velocity; that operation is the same as that
`described in FIG. 3A.
`
`When the device is lifted off, step 138, operation
`proceeds to step 140 in which the “friction” setting F"
`is read from lookup table 139. “Friction” is a term used
`to describe the cursor travel distance after liftoff in
`relation to touch velocity at liftoff. The concept is simi-
`lar to creating a friction in the pad. When the friction is
`relatively high, the cursor will only slide a short dis-
`tance after liftoff before coming to a halt. If the friction
`is set relatively low, the cursor will slide a long distance
`before coming to a halt. The “friction” setting, F“, is
`simply a relative setting and may be established on a
`relative scale, for example, friction settings of l to 10.
`The operator may then choose a friction setting based
`on the operator’s expertise and the amount of cursor
`movement which will be required in operating the pro-
`gram. The system interprets the friction setting and in
`effect establishes a total cursor movement distance after
`liftoff as a function of the velocity at liftoff and the
`friction setting. Thus, the effect of the “friction” starts
`on liftoff; before that, the cursor movers in a relative
`fashion. At step 142, the cursor velocity Cm, at time t, is
`established as a function of its velocity at an earlier
`moment, Cm,-1, modified by the lost speed due to
`friction, shown as a function of F“. The direction re-
`mains constant.
`Operation proceeds to steps 144 and 146, in which the
`cursor movement and further device touchdown are
`monitored. If the cursor is moving and a second touch-
`down occurs, the cursor is stopped, step 147, and opera-
`tion proceeds to step 128. Thus, the user may stop his
`“throw” of the cursor simply by tapping the screen. If
`the screen is not touched again, the system loops back
`through step 142 to continue the slow-down and even-
`tual halt of the cursor. The result of steps 142, 144 and
`146 is to slow and halt the cursor over a period of time
`related to the friction factor. Thus, the overall “throw”
`
`GOOGLE EX. 1009'
`
`Google V. Philips
`
`GOOGLE EX. 1009
`Google v. Philips
`
`

`

`5,327,161
`
`7
`of the cursor is related to finger velocity at liftoff and
`factor F...
`System 120 emulates a cursor positioning device
`called a trackball. The trackball is a device known in the
`art which employs a rotatable sphere to drive the dis-
`play cursor. The sphere is spun in a direction and veloc-
`ity established by the user, and the cursor is moved
`across the display in the same relative direction at a
`velocity related to the spin of the ball. A trackball may
`be given a hard spin, and when released may spin on its
`own due to its large mass. The ball eventually slows and
`stops due to its friction. The effect of system 120 is to
`emulate a trackball in that in both cases the cursor con-
`tinues to move after liftoff from the input device, and
`eventually halts of its own accord.
`FIG. 5 illustrates an alternative system and method
`according to this invention for moving the display cur-
`sor without performing the multiple strokes. After the
`start, step 162, a touchdown is monitored and the X-Y
`point read, steps 164 and 166. If liftoff occurs, step 168,
`the cursor is stopped, step 170, and operation returns to
`step 164. If liftoff does not occur, operation proceeds to
`step 172 in which a subsequent touch point is read. In
`steps 174 and 176 the distance and direction from the
`subsequent touch point to the origin or original touch
`point are computed. The cursor speed is set, step 178, as
`a function of the distance. Thus, when the user moves
`his finger on the pad, the cursor goes forward on the
`display at a rate which is proportional to the distance
`from the resting location or origin. In step 180, the
`cursor direction is set as a function of the direction of
`the finger movement to cause the cursor to move in the
`same relative direction as the finger. Liftoff is moni-
`tored, step l82, and if there is continuing contact the
`program continues at step 172. This loop provides the
`operator with the ability to alter the device direction
`and/or speed by moving his finger without lifting off
`from the screen. As an example, pulling the finger back
`towards the resting location or origin will reduce the
`cursor speed. Lifting off the pad returns the cursor to
`the resting position, step 170, and operation proceeds
`back to step 164 for monitoring of another touchdown.
`The operation of system 160 may be likened to a joy
`stick device. Wherever the user touches down on the
`touchpad screen, the system defines the position asthe
`equivalent of the resting position for the joy stick.
`When the user moves his finger on the pad, the cursor
`moves in a direction that corresponds to the direction
`the finger has moved relative to the resting location, at
`a rate which is proportional to the distance from the
`resting location, to simulate the operation of a joy stick.
`FIG. 6 discloses system and method 260 according to
`this invention which encompasses maintaining the drag
`mode after the mechanical drag button is lifted. This
`allows the operator to slide his finger along the touch-
`pad surface to move the cursor without having to main-
`tain sufficient pressure to keep closed the mechanical
`drag switch.
`After starting, step 262, operation proceeds to step
`264 in which the mechanical drag button is monitored
`for closure (the down position). If the button remains
`up, operation proceeds to step 266, in which the touch-
`pad would be used in a normal manner for cursor posi-
`tioning. When the user desires to enter the drag mode,
`he presses the touchpad with sufficient force to close
`the mechanical drag switch. Operation then proceeds
`into algorithm 300, which encompasses a series of oper-
`ations in which the mechanical drag button down posi-
`
`l0
`
`l5
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`65
`
`8
`tion is emulated and maintained even after the drag
`button has been released. This allows the operator to
`move the cursor by sliding his finger across the touch-
`pad surface without maintaining the force required to
`close the drag switch.
`Algorithm 300 includes first step 267 in which a “but-
`ton down” position is set to begin the drag mode. This
`“button down” position may be accomplished by pro-
`viding an equivalent mouse button down signal
`to
`graphical interface 32, FIG.'lB. Operation then pro-
`ceeds to step 268, in which the normal cursor location
`algorithm is employed to move the cursor in response to
`finger movements. The cursor location algorithm may
`be any of the cursor location algorithms known in the
`art.
`
`In step 270, the cursor movement is monitored. When
`the cursor has moved more than a predetermined dis-
`tance, called the “press and drag” distance, operation
`proceeds to step 276, in which the button down signal is
`toggle

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