Elan Microelectronics Corporation v. Apple, Inc.

Filing 86

Declaration of Derek C. Walter in Support Apple's of Opening Claim Construction Brief re 85 filed by Apple, Inc. (Attachments: # 1 Exhibit A, # 2 Exhibit B, # 3 Exhibit C, # 4 Exhibit D, # 5 Exhibit E, # 6 Exhibit F, # 7 Exhibit G, # 8 Exhibit H, # 9 Exhibit I, # 10 Exhibit J, # 11 Exhibit K, # 12 Exhibit L, # 13 Exhibit M, # 14 Exhibit N, # 15 Exhibit O, # 16 Exhibit P, # 17 Exhibit Q, # 18 Exhibit R, # 19 Exhibit S, # 20 Exhibit T, # 21 Exhibit U, # 22 Exhibit V) (Powers, Matthew) (Filed on 5/7/2010) Modified on 5/10/2010 (bw, COURT STAFF).

Download PDF
EXHIBIT C 111111111111111111111111111111111111111111111111111111111111111111111111111 US005825352A United States Patent Bisset et al. [54] [19] [11] [45] P a t e n t Number: Date o f P a t e n t : 5/1991 4/1993 7/1994 11/1994 12/1994 7/1995 8/1995 10/1995 2/1996 6/1996 8/1996 10/1996 7/1997 Gruaz et al. McCloud Logan et al. Stein et al. Mikan Calder et al. Tannenbaum et al. Boie et al. Miller et al. Arbeitman et al. Gillespie et al. Gerpheide et al. Miller et al. 5,825,352 Oct. 20, 1998 345/173 434/156 345/173 364/550 345/173 345/173 345/156 341/33 345/173 345/173 178/18 345/174 178/18 MULTIPLE FINGERS CONTACT SENSING METHOD FOR EMULATING MOUSE BUTTONS AND MOUSE OPERATIONS ON A T O U C H S E N S O R PAD Inventors: S t e p h e n J. B i s s e t , P a l o Alto; B e r n a r d K a s s e r , M e n l o P a r k , b o t h o f Calif. A s s i g n e e : L o g i t e c h , I n c . , F r e m o n t , Calif. A p p l . No.: 6 0 8 , 1 1 6 Filed: F e b . 28, 1996 R e l a t e d U.S. A p p l i c a t i o n D a t a [75] [73] [21] [22] 5,016,008 5,203,704 5,327,161 5,365,461 5,376,946 5,432,531 5,442,376 5,463,388 5,495,077 5,528,266 5,543,591 5,565,658 5,648,642 F O R E I G N PATENT D O C U M E N T S WO 91/03039 WO 97/18508 3/1991 5/1997 WIPO. WIPO G06F 3/033 [63] [51] [52] [58] Continuation of Ser. No. 582,768, Jan. 4, 1996, abandoned. I n t . C1. 6 G 0 9 G 5/00; G09G 5/08 U.S. C l . 345/173; 345/157 Field of Search 3 4 5 / 1 5 6 , 157, 3 4 5 / 1 6 0 , 1 7 3 , 1 7 4 , 1 4 5 ; 178/18; 3 4 1 / 3 3 References Cited U . S . PATENT D O C U M E N T S 3,921,166 11/1975 Volpe. 4,103,252 7/1978 Bobick 4,455,452 6/1984 Schuyler 4,550,221 10/1985 Mabusth 4,639,720 1/1987 Rympalski et al. 4,686,332 8/1987 Greanias et al. 4,733,222 3/1988 Evans 4,736,191 4/1988 Matzke et al. 4,914,624 4/1990 Dunthorn 345/174 345/173 345/173 345/174 345/173 341/33 345/157 345/173 VIDED DISPLAY I BUTTONI O T H E R PUBLICATIONS S y n a p t i c s B r o c h u r e , " S y n a p t i c s T o u c h P a d , " pp. 1 - 3 9 . [56] Primary E x a m i n e r - J e f f e r y Brier A s s i s t a n t E x a m i n e r - P a u l A. B e l l Attorney, A g e n t , o r F i r m - T o w n s e n d a n d T o w n s e n d a n d Crew [57] ABSTRACT M e t h o d and apparatus for detecting an operative coupling b e t w e e n o n e o r m o r e fingers o r o t h e r a p p r o p r i a t e o b j e c t s and a t o u c h p a d i n c l u d e s p r o c e s s e s for d e t e c t i o n o f m u l t i p l e m a x i m a w i t h intermediate m i n i m a i n appropriate s e q u e n c e s to emulate the o p e r a t i o n s o f c u r s o r c o n t r o l and b u t t o n a c t u a t i o n s i n a p o i n t i n g and c o n t r o l d e v i c e . 31 Claims, 17 Drawing Sheets VIDEO DISPLAY IBUTTON I ~ HURSOR posmON C TOUCH PAD ~ 3 I ENU 2C oA 110, ENU 2 C FINGER IN CONTACT WITH TOUCH SENSOR U 720, YPROFilE I', :,l Y PROFilE :==~~~=~ A moo. . . rI 3 YPROFilE VIDEO DISPLAY I BUTTON I ' D ---I [(J TOUCH PAD AA An TOUCH PAD FINGER NOT IN CONTACT WITH TOUCH SENSOR PRO~llEI __- PRO~llEI u.s. Patent Oct. 20, 1998 Sheet 1 o f 17 5,825,352 IDA FIG. I. u.s. Patent Oct. 20, 1998 Sheet 2 o f 17 5,825,352 SENSOR t - 30 CONDUCTORS YDIRECTION rr1: "- DIRECTION CONDUCTORS { ... f - 45 ANALOG MULTIPLEXOR CIRCUIT TO MEASURE f-70 CHANGES IN CAPACITANCE ... OF SENSOR CONDUCTORS ANALOG-TO- DIGITAL CONVERTER ... >.- 80 MICROCONTROLLER .. ~60 INTERFACE TO PC OR OTHER DEVICE FIG. 2. u.s. Patent Oct. 20, 1998 Sheet 3 o f 17 5,825,352 8S:\.. FIG. 3. FIG. 4. · 'JJ. · i __ ... d u~._ .. r 410 ..... ..... ~ ~ ~ I I ,..- 430 440 -450 t = o I"l i ' ..... i SET BUTTON: NO CHANGE , :""" N ~c -YES 555 ' "'" '"0 '0 QIO 465 REPORT Xmotion AND Ymotion 'JJ. ~ ~ 495 SET XobsolutePrevious =XObSOlute1560 SET YobsolutePrevious=Yobsolute, 570 SET XbuttonPrevious= Xbutton, 580 SET YbuttonPrevious· Ybutton 590 .... =- ~ o.., .. '-".".J '" 595 Xmotion =Xobsolute - XobsolutePrevious Ymotion =Yobsolute- YobsolutePrevious 5/0 520 ..U l .. FIG. 5. ..U l .. ~ 00 N Ul N u.s. Patent Oct. 20, 1998 Sheet 5 o f 17 5,825,352 200 .----:':1N=IT::-:-:'A~lIZ=E-!-V~AR~JA~Bl-=E SO:--,/' 205 SET Xstote =Peak I r - - - - - - ' - - - - - " , 2/0 Xloop Start N=N+I Xsum =Xsum of' X(N) ..----..L. 2/5 ---. 220 XweighfSum =Xweight Sum'" N* X(N) Xpeak2= X(N-f) Xstafe · Tail NO FIG. 6-1. u.s. P a t e n t Oct. 20, 1998 Sheet 6 o f 17 5,825,352 NO 295 Set Xobsolute = XweightSum / Xsum 305 NO 315 Xbutton= Up (Xpeakl- XValley) > (Xpeak f) /4? and (Xpeak2- XValley) > (Xpeak2) /41 and Xpeakl> Fthresh? and Xpeok2 >Fthresh? 310 Xbutton =Down 320 FIG. 6 - 2 . 710 ffi\ I I Y "-J 720 _ · 'JJ. · d ffil 7~fm 760-DOWN 770- UP .~.. .. ..... ~ ~ = :-'" I"l roofffi ~:~ON~ (--ll;\ \~ .\~ MOVING o N ~c ' "'" '"0 '0 QIO 'JJ. .... ~ ~ =- -..J ~825 o.., .. ' ..'" -""J 800--(),{\n _ _ _ _ _ _ \, \ \ "-------- _Ot?VM(NING~ 830~TAT IONARY ~ ..U l .. ..U l .. Ul ~ 00 N FIG. 7A. N u.s. P a t e n t Oct. 20, 1998 Sheet 8 o f 17 5,825,352 VIDEO DISPLAY rI C Y PROFILE ' I VIDEO DISPLAY U I"""""BU-n-ONI 705\ C=CURSOR POSITION YPROFILE rI NU IBUTTONI 2C 3 -----J 1-. --1 TOUCH PAD I, J TOUCH PAD :I I I A I I J FINGER IN CONTACT WITH TOUCH SENSOR 7/0, rI NU VIDEO DISPLAY 720" !BUTTON! 2C VIDEO DISPLAY MENU IBUTTON I I 2seJectC 13 --J 3 YPROFILE ' YPROALE II I TOUCH PAD I )1 AA I- _ II I II I An TOUCH PAD FINGER NOT IN CONTACT WITH TOUCH SENSOR PROxLE __- - _ - FI FIG. 78. u.s. Patent 130", Oct. 20, 1998 Sheet 9 o f 17 5,825,352 ~ENU VIDEO DISPLAY ICBUTTONJ 740, VIDEO DISPLAY MENU [CBUTTONI 2select 3 YPROFILE II select YPROFILE TOUCH PAD :1 An I I TOUGH PAD II I I AA --- PROF~EI 750, VIDEO DISPLAY -_I 755, MENU VIDEO DISPLAY ~~c~ Ie YPROFILE I I BUTTONI select fG BUTTONJ YPROFILE TO UCH PAD TOUCH PAD I I J PI (9 FIG. 7C. nn u.s. Patent 760, MENU I Oct. 20, 1998 Sheet 10 o f 17 5,825,352 VIDEO DISPLAY MENU I VIDEO DISPLAY 770, 2se1ect 13 /CBUTTONI 'J 2seleCi II BUTTON:1 C ACTIVATE YPROFILE YPROFILE TOUCH PAD TOUCH PAD II I I, I API nn BUTTON ----I 780, MENU I 2seleet 3 YPROFILE VIDEO DISPLAY 790, MENU I VIDEO DISPLAY Ic BUTTONI YPROFILE 2select ICBUTTONI MENU I 3 [2 3 I TOUCH PAD I I TOUCH PAD I II AAA - _ - _ - _ - _ - _ -_ _ nnn =-_1 FIG. PROF~lEI~ u.s. Patent Oct. 20, 1998 Sheet 11 o f 17 5,825,352 VIDEO DISPLAY BOO "' VIDEO DISPLAY MENU I 2select 3 BUTTON MENU ICBUTTON I B05 I " I MENU II 2 3 YPROFILE TOUCH PAD 2select 3 BUTTON MENU ICBUTTONI I 2 3 YPROFILE I TOUCHPAD I I II I I I AAR VIDEO DISPLAY BUTTON MENU 2select I :3 ICBUTTONI 12 I I I' APIA -_-_-_-_--II PROFI~I. : _:-_- BID", MENU Y PROFILE 13 TOUCH PAD nnn PROFfLE I-============FIG. 7 £ u.s. P a t e n t U Oct. 20, 1998 Sheet 12 o f 17 5,825,352 VIDEO DISPLAY Ir I C Y PROFILE ' - - IJ II I VIDEO DISPLAY IOOTTON I C= CURSOR POSITION ----J r~' ENU CI I BUTTON I BUTTON UP YPROFILE TOUCH PAD I A rUCI II II I J TOUCH PAD fiNGER IN CONTACT WITH TOUCH SENSOR A VIDEO DISPLAY IBUTTON mOf~EI __- - _ VIDEO DISPLAY I BUTTONI BUTTON DOWN 825A, I rUCI Y PROfILE BUTTON DOWN Y PROFILE I, I TOUCH PAD II AA 1 I II TOUCH PAD I I I II I Arq - __ PROf~EI,-- - PROF~LEI __- - - FIG. 7F-1. u.s. Patent Oct. 20, 1998 Sheet 13 o f 17 5,825,352 VIDEO DISPLAY I BUTTON I BUTTON DOWN 825B", G=GURSOR POSITION YPROFILE VIDEO DISPLAY [BUTTON I 8250, ~ENU GI BUTTON DOWN rUGI TDUGHPAD YPROFILE ,) I I II TOUGH PAD II I A VIDEO DISPLAY J'"'=BU=n=ON] BUDON OOiN I I I I II AA x 1_-VIDEO DISPLAY I BUTTON I 830" /rUGI YPROFILE YPROFILE II TDUGHPAD I TOUGH PAD II AA 1'---_-- _ - _ - _ - _ _ _ '- -' HA I \ I I ... -.1 BUTTON UP mOF~LE PROF~LE[ _ FIG. 7 F - 2 . u.s. P a t e n t Oct. 20, 1998 Sheet 14 o f 17 5,825,352 .-------..A-------,/875 Xmotion =Xabsolute - XabsolutePrevious Ymotion= Yabsolute - Yabsolute Previous YES YES FIG. 8 - l u.s. Patent Oct. 20, 1998 Sheet 15 o f 17 5,825,352 YES 915 Report Button: Down Set ButtonPrevious=D 9/0 ButtonPrevious =Down AND [Finger = 0 OR (Finger = / AND Motion= Yes)] YES 925 Report Button: Up Set ButtonPrevious =Up NO 930 Report Xmotion Report Ymotion ..-- --L. -{ 935 Set XabsolutePrevious = Xabsolute t Set YabsolutePrevious = Yabsolute, Set Finger Previous = Finger 940 FIG. 8 - 2 . u.s. Patent Oct. 20, 1998 Sheet 16 o f 17 5,825,352 200 .....---:-:,N=IT""""IA""""lIZ=E~V~AR::-:-:IA:-=B L~E-:-S - - V " 205 SET Xstate =Peakl ..----~---y Xloop Start 2/0 215 N=N+I Xsum :: Xsum + X(N) ..--'---L. ---, 220 XweightSum =XweightSum +N*X(N) FIG. 9-1. u.s. P a t e n t Oct. 20, 1998 Sheet 17 o f 17 5,825,352 NO 295 970 Xfinger= 0 Set Xabsolufe = XweightSum / Xsum 305 (Xpeakl-XValley) > (Xpeak f) /4? and (Xpeak2-XValley)> (Xpeak2)/4? and Xpeakl> Fthresh? and 975 Xpeok2 >Fthresh? Xfinger= I Xfinger=2 980 320 FIG. 9 - 2 . 5,825,352 1 MULTIPLE FINGERS CONTACT SENSING METHOD FOR EMULATING MOUSE BUTTONS AND MOUSE OPERATIONS ON A T O U C H S E N S O R PAD 5 2 T h i s requires an u p - d o w n - u p - d o w n finger m o t i o n to do the s a m e t h i n g a s s i m p l y the " d o w n - u p " m o t i o n o f the m o u s e button. In general, any touchpad equivalent to a m o u s e b u t t o n - c l i c k i n g f u n c t i o n r e q u i r e s an e x t r a " u p . . . u p " motion o f the finger, b e c a u s e the finger m u s t b e lifted off the p a d b e f o r e a n d a f t e r the tap. T h e t i m e a n d s t r e s s a s s o c i a t e d w i t h the e x t r a m o t i o n i s significant. H u m a n factors s t u d i e s have s h o w n that s u c h t o u c h p a d s y i e l d l o w e r p r o d u c t i v i t y t h a n a m o u s e in m a n y applications. T h i s s o m e w h a t limits t o u c h p a d s to those a p p l i c a t i o n s , s u c h as p o r t a b l e c o m p u t i n g , w h e r e u s e o f a mouse is i n c o n v e n i e n t due to space o r o t h e r considerations. T h e r e is t h e r e f o r e a n e e d for a t o u c h p a d c a p a b l e o f y i e l d i n g the same p r o d u c t i v i t y as a mouse. S U M M A R Y OF THE I N V E N T I O N T h e p r e s e n t i n v e n t i o n p r o v i d e s a n o v e l m e t h o d and a p p a r a t u s f o r s e n s i n g the p r o x i m i t y o f m u l t i p l e s i m u l t a n e o u s fingers o r o t h e r appropriate objects to a t o u c h sensor. The p r e s e n t i n v e n t i o n m a y b e i m p l e m e n t e d b a s e d o n any c o n v e n t i o n a l t o u c h s e n s i n g technology, although an e x e m p l a r y e m b o d i m e n t i n v o l v e s the u s e o f a c a p a c i t i v e t o u c h s e n s i n g device similar to that described in U.S. p a t e n t application Ser. No. 08,478,290, entitled Touch S e n s i n g M e t h o d and A p p a r a t u s , filed Jun. 7, 1995, and assigned to the assignee o f the p r e s e n t application. The n u m e r o u s modifications to s u c h a b a s i c device required to i m p l e m e n t the p r e s e n t i n v e n t i o n are described g e n e r a l l y below, and i n detail herein after. Alternatively, the p r e s e n t i n v e n t i o n m a y be u s e d with the m e t h o d a n d a p p a r a t u s d e s c r i b e d i n the U . S . p a t e n t application Ser. No. 08/582,769, entitled Touch Pad S e n s i n g M e t h o d a n d A p p a r a t u s , h a v i n g as i n v e n t o r s B e m i J o s s , B e r n a r d K a s s e r a n d S t e p h e n B i s s e t , filed o n J a n . 4 , 1 9 9 6 , and assigned to the assignee o f the p r e s e n t invention, the relevant p o r t i o n s o f w h i c h are incorporated herein b y reference. O p e r a t i o n o f the p r e s e n t i n v e n t i o n i n c l u d e s t w o a s p e c t s : d e t e c t i o n o f m u l t i p l e o b j e c t s , t y p i c a l l y fingers, and a s s i g n m e n t o f v a r i o u s functions to particular actions b y the movem e n t o f o n e o r b o t h fingers. T h e d e t e c t i o n f u n c t i o n c a n b e general, b u t i n a simple, e x e m p l a r y implementation can b e limited to a two-finger function s u c h as the c o m b i n a t i o n o f the index finger and middle finger. In general, these are the two m o s t d e x t r o u s fingers, a n d t h e y w o r k w e l l together. A s a r e s u l t , f o r t h i s e x e m p l a r y e m b o d i m e n t , the t o u c h p a d n e e d o n l y d i s t i n g u i s h b e t w e e n the t w o f i n g e r s i n o n e d i m e n s i o n since the two fingers are typically side b y side. In addition, the t o u c h p a d n e e d o n l y d e t e c t the s e c o n d finger i n r e a s o n ably close p r o x i m i t y to the first finger. In m o s t situations, the distance b e t w e e n finger centers w i l l be less than five centim e t e r s . A d d i t i o n a l c o m b i n a t i o n s o f f i n g e r s , s u c h as t h r e e fingers t a p p i n g s i m u l t a n e o u s l y o r o t h e r c o m b i n a t i o n s , m a y a l s o b e i m p l e m e n t e d i n a c c o r d a n c e w i t h the m e t h o d o l o g y o f the p r e s e n t i n v e n t i o n . F o r c l a r i t y o f e x p l a n a t i o n , the p r e s e n t i n v e n t i o n c a n b e d e s c r i b e d i n m o s t o f its applications b y establishing o n e finger as controlling m o v e m e n t o f the cursor, and the s e c o n d finger as controlling functions equivalent to a mouse b u t t o n o r s w i t c h . I n t h i s c o n t e x t , o n e f i n g e r m a y b e c o n s i d e r e d the " p o i n t " finger, w h i l e the other is the " c l i c k " finger. Various c o n v e n t i o n a l f u n c t i o n s m a y t h e n b e defined accordingly. F o r e x a m p l e , " d r a g " m a y b e e f f e c t e d b y m o v i n g the t w o f i n g e r s in u n i s o n , " p o i n t and c l i c k " m a y b e e f f e c t e d b y m o v i n g t h e c u r s o r w i t h the first finger and tapping w i t h the s e c o n d finger, " p o i n t a n d d o u b l e c l i c k " m a y b e e f f e c t e d b y m o v i n g t h e c u r s o r w i t h t h e first f i n g e r a n d d o u b l e t a p p i n g w i t h t h e RELATED A P P L I C A T I O N T h i s a p p l i c a t i o n is a c o n t i n u a t i o n o f U . S . p a t e n t a p p l i c a tion Ser. No. 08/582,768, filed Jan. 4, 1996, abandoned. FIELD OF T H E I N V E N T I O N 10 T h e p r e s e n t i n v e n t i o n r e l a t e s g e n e r a l l y to t o u c h p a d devices, and m o r e particularly relates to t o u c h p a d d e v i c e s w h i c h d e t e c t at l e a s t the p r e s e n c e o f o n e o r m o r e o b j e c t s s u c h as fingers to effectuate p r e s e l e c t e d control functions. 15 B A C K G R O U N D OF T H E I N V E N T I O N Touch sensing d e v i c e s are w e l l known, and take a n u m b e r o f different forms. P e r h a p s the b e s t k n o w n are resistivem e m b r a n e p o s i t i o n sensors, w h i c h have b e e n u s e d i n a n u m b e r o f d i f f e r e n t a p p l i c a t i o n s for m a n y y e a r s . S u c h d e v i c e s have b e e n u s e d as k e y b o a r d s , p o s i t i o n indicators, a n d s o forth. O t h e r t y p e s o f t o u c h s e n s i n g d e v i c e s i n c l u d e resistive tablets, s u r f a c e a c o u s t i c w a v e d e v i c e s , t o u c h s e n s o r s b a s e d o n s t r a i n g a g e s or p r e s s u r e s e n s o r s , and o p t i c a l sensors. Yet a n o t h e r t o u c h s e n s i n g t e c h n o l o g y i s c a p a c i t i v e s e n s i n g , i n w h i c h the l o c a t i o n o f a f i n g e r ( o r i n s o m e i n s t a n c e s a n o t h e r o b j e c t s u c h as a s t y l u s ) o v e r a s e n s i n g device i s d e t e r m i n e d b y virtue o f v a r i a t i o n s i n c a p a c i t a n c e u n d e r and around the location o f the finger. Typical o f capacitive touch sensing devices are t o u c h s c r e e n s and capacitive p a d s w h i c h employ a matrix o f r o w and c o l u m n e l e c t r o d e s a n d d e t e c t , f o r e x a m p l e , e i t h e r the t r a n s c a p a c i t a n c e b e t w e e n r o w a n d c o l u m n e l e c t r o d e s o r the e f f e c t i v e capacitance to virtual ground. Other capacitive t e c h n i q u e s are also known. S o m e touch sensitive d e v i c e s are k n o w n to u s e i n t e r p o l a t i o n f o r m o r e p r e c i s e l y i d e n t i f y i n g the l o c a t i o n o f a finger o r s t y l u s . T y p i c a l o f e a c h o f t h e s e p r i o r art d e v i c e s i s t h a t e a c h o f t h e m s e n s e s any contact as that o f o n l y o n e finger at a time. C u r s o r m o v e m e n t i s s t r a i g h t f o r w a r d w i t h o n e finger, a n d t a p p i n g o f a f i n g e r o n the s u r f a c e o f the p a d c a n b e d e t e c t e d and acted u p o n in a m a n n e r s i m i l a r to detecting the actuation o f a b u t t o n o n a m o u s e . S i n g l e and d o u b l e t a p s c a n b e u s e d as s i m p l e e q u i v a l e n t s o f s i n g l e a n d d o u b l e m o u s e c l i c k s . W i t h a s i n g l e - f i n g e r t o u c h p a d , the c l i c k a n d d r a g f u n c t i o n i s m o r e difficult. W i t h s i n g l e f i n g e r d e t e c t i o n , d r a g g i n g h a s b e e n i m p l e m e n t e d w i t h s c h e m e s s u c h as u p t a p ( f i n g e r l i f t e d and p l a c e d d o w n a g a i n q u i c k l y ) , t a p - a n d - a - h a l f , and s t i c k y d r a g ( d r a g l o c k t u r n s o n a u t o m a t i c a l l y a f t e r the f i n g e r i s p l a c e d i n o n e l o c a t i o n w i t h o u t m o v i n g for m o r e t h a n a certain time, s u c h as one second). A l l o f these m e t h o d s take more time and/or more finger m o t i o n s than it takes to p e r f o r m the equivalent function w i t h a mouse, and are n o t intuitive to users familiar with electronic mice. Prior art t o u c h p a d s a r e t h u s l e s s a t t r a c t i v e for g e n e r a l u s e t h a n a mouse. A n o t h e r c o m m o n l y u s e d f u n c t i o n i n the p r i o r a r t i s t h a t o f clicking a b o x ( o r i c o n o r displayed " b u t t o n " ) o r series o f b o x e s ( s u c h a s " c o n n e c t i n g the d o t s " ) . W i t h a m o u s e , the c u r s o r i s m o v e d i n t o p o s i t i o n b y m o v i n g the m o u s e , t h e n the c l i c k o c c u r s w i t h a down-up motion o f the finger to actuate a b u t t o n o r s w i t c h . W i t h a t o u c h p a d t y p i c a l o f the p r i o r a r t , t h e c u r s o r i s m o v e d i n t o p o s i t i o n w i t h t h e finger, t h e n t h e c l i c k o c c u r s w i t h a tap o f the f i n g e r w h i c h m o v e d the c u r s o r . 20 25 30 35 40 45 50 55 60 65 5,825,352 3 second finger, and so on. " C l i c k and D r a g " m a y be performed simply b y moving the cursor to the appropriate position w i t h the first finger, placing b o t h first and s e c o n d fingers o n the pad, and moving both fingers together. The function m a y b e c o n c l u d e d b y s i m p l y raising o n e o r b o t h fingers. Similarly, connecting the dots m a y be p e r f o r m e d simply b y moving the cursor from dot to dot w i t h the first finger, and then clicking on the dot b y tapping w i t h the second finger. I t will be apparent to those skilled in the art t h a t t h e s e f u n c t i o n s m a y b e d e f i n e d d i f f e r e n t l y and s t i l l f a l l within the scope o f the present invention. I t will also be apparent that m a n y o f these operations will be intuitive to experienced mouse users, as soon as the correspondence b e t w e e n mouse functions and the two fingers is demonstated to the user, and thus their implementation in a touchpad c o n t e x t m a k e s them e s p e c i a l l y desirable. In addition to the foregoing functions, which can be p e r f o r m e d (albeit awkwardly and l e s s intuitively) w i t h conv e n t i o n a l t o u c h p a d s , t h e r e are a d d i t i o n a l f u n c t i o n s t h a t c a n be p e r f o r m e d w i t h two fingers and which can have substantial analogs to the use o f a mouse o r even go b e y o n d c o n v e n t i o n a l m o u s e functions. F o r e x a m p l e , d e t e c t i o n a n d location o f two fingers will permit the touchpad to report to a host system the distance b e t w e e n the two fingers. This c a n be used, for example, in p a i n t or other p r o g r a m s to determ i n e l i n e w i d t h o r o t h e r s p a c i n g f u n c t i o n s , o r any o t h e r "variable v a l u e " function. Similarly, tapping w i t h both fingers at the same time m a y be defined as an alternate, shorthand method for a double tap (such as may be defined for the middle button in a Logitech mouse) o r may be defined as a special function, similar to the " r i g h t b u t t o n " f u n c t i o n s o f a mouse. S u c h s p e c i a l f u n c t i o n s m a y have particular value in operating systems such as Windows 95 where, for example, implementation o f the Object Viewer function is an important special function. S u c h functions c a n be implemented readily w i t h a triple finger tap, a double tap o f two fingers, o r other convenient combination. A n o t h e r function w h i c h m a y b e i m p l e m e n t e d w i t h two finger d e t e c t i o n i s " d r a g l o c k " . T h i s f u n c t i o n m a y b e u s e d w h e n a drag function is underway, b u t at least one o f the fingers reaches the edge o f the p a d before the drag function is complete. Touchpad operation m a y be controlled to maintain the drag mode if, for example, both fingers are lifted off the p a d within a threshold period o f one another, and are then placed d o w n o n the p a d again within a suitable time p e r i o d . I n s o m e i m p l e m e n t a t i o n s , h i g h l y e x t e n d e d time periods may be suitable in this context. A further function w h i c h m a y be readily implemented w i t h the present invention is the ability to operate in relative mode, where a first finger p e r f o r m s a key function, and a second finger controls s o m e attribute o f the operation performed b y the first finger. For example, a first finger contacting a touch p a d m a y cause a cursor to move across a s c r e e n , w h i l e c o n t a c t ( a n d r e m o v a l ) o f a s e c o n d finger w i t h the screen m a y turn an image, o r " i n k " o n (and off). The resulting image, o r " i n k , " is defined b y the motion o f the first finger during the period w h e n the second finger is also in contact w i t h the pad; gaps in the " i n k " occur w h e n the second finger is lifted away from the pad. The function may, in some ways, be thought o f as electronic finger painting, b u t has the additional advantage o f allowing multiple characters to be written o n a touch pad. Thus, w i t h the use o f two fingers, hand printing o f text w i t h gaps b e t w e e n the letters and w o r d s b e c o m e s feasible and convenient, whereas it is impractical w i t h the prior art " t a p and a h a l f ' method o f turning on the ink. Yet another function w h i c h may be implemented w i t h the present invention is use o f the touchpad in absolute mode. 4 M o s t p r i o r art t o u c h p a d d e v i c e s o p e r a t e , l i k e m i c e , in relative mode b y indicating the distance travelled relative to the starting p o i n t o f the motion. Touchpads, on the other hand, c a n also be operated in absolute mode, where the absolute position o f the finger o n the p a d is detected and reported to the host system or application. In absolute mode, multi-finger detection allows the first finger to p o i n t to the desired absolute position, while the second finger p e r f o r m s w h a t e v e r " c l i c k " operation is desired without requiring a removal o f the first finger w h i c h might lessen accuracy o r resolution. Also included within the present invention is the detection and location o f more than two fingers, w i t h accompanying functional definitions permitting such multiple contacts to indicate pointing device o r other control operations, such as musical keyboards. I t is therefore one object o f the p r e s e n t invention to p r o v i d e a t o u c h p a d s y s t e m capable o f d e t e c t i n g a p l u r a l i t y o f contacts such as fingers. I t is a further object o f the p r e s e n t invention to provide a touchpad device capable o f l o c a t i n g a p l u r a l i t y o f c o n t a c t s such as fingers. I t is a further object o f the p r e s e n t invention to provide a method for detecting the presence o f more than one finger on a touch p a d device. I t is a still further object o f the p r e s e n t invention to p r o v i d e a m e t h o d for l o c a t i n g e a c h o f a p l u r a l i t y o f f i n g e r s o n a touch p a d device. I t is yet another object o f the p r e s e n t invention to provide a m e t h o d for e f f e c t i n g t h e " p o i n t a n d c l i c k " f u n c t i o n o n a t o u c h p a d t h r o u g h t h e u s e o f m u l t i p l e fingers. Yet a further object o f the present invention is to provide a method for effecting the " c l i c k and drag" function on a t o u c h p a d t h r o u g h t h e u s e o f m u l t i p l e fingers. A still further object o f the present invention is to provide a method for effecting on a touchpad, through the use o f m u l t i p l e finger c o n t a c t s , a p l u r a l i t y o f c o n v e n t i o n a l m o u s e b u t t o n functions. Yet another object o f the present invention is to provide a m e t h o d a n d a p p a r a t u s for e f f e c t i n g o n a t o u c h p a d , t h r o u g h the use o f multiple finger contacts, a plurality o f enhanced functions. Yet a further object o f the present invention is to provide a m e t h o d a n d a p p a r a t u s for e l e c t r o n i c f i n g e r p a i n t i n g . These and other objects o f the invention m a y be better appreciated from the following detailed description o f the invention, taken together with the appended figures. T H E FIGURES FIG. 1 s h o w s a perspective v i e w o f a device according to the present invention. FIG. 2 s h o w s i n b l o c k d i a g r a m form the e l e c t r o n i c s o f the p r e s e n t invention. F I G . 3 s h o w s a f i n g e r p r o f i l e for t w o n o n - o v e r l a p p i n g fingers as sensed b y the present invention. FIG. 4 s h o w s a finger profile for two closely-spaced fingers as sensed b y the present invention. FIG. 5 s h o w s in flow diagram form the steps for a high level algorithm for a pointing device according to the p r e s e n t invention. FIG. 6 s h o w s in flow diagram form the steps for comp u t i n g m o t i o n and " b u t t o n " s t a t e s . FIGS. 7 A - 7 F 2 s h o w in diagrammatic form an exemplary s e q u e n c e o f finger c o n t a c t s a n d m o v e m e n t s a c r o s s a t o u c h sensor. 5 10 15 20 25 30 35 40 45 50 55 60 65 5,825,352 5 FIG. 8 s h o w s a more generalized case o f FIG. 5. FIG. 9 s h o w s a more generalized case o f FIG. 6. DETAILED D E S C R I P T I O N OF I R E INVENTION Referring first to FIG. 1, a plurality o f a u s e r ' s fingers l O A and lOB are s h o w n p o s i t i o n e d o v e r a touchpad 2 0 in sufficiently close p r o x i m i t y to b e operatively c o n n e c t e d t h e r e t o . M o v e m e n t o f a s i n g l e f i n g e r o v e r the t o u c h p a d c a u s e s the c u r s o r to move i n a n o w - c o n v e n t i o n a l manner. H o w e v e r , u n l i k e p r i o r art d e v i c e s , v a r i o u s c o n t r o l f u n c t i o n s m a y b e p e r f o r m e d b y t h e u s e o f t h e s e c o n d finger, t y p i c a l l y i n c o m b i n a t i o n w i t h the s a m e o r a r e l a t e d o p e r a t i o n o f the first finger. Operations i n v o l v i n g more than two fingers m a y also be performed. I n an e x e m p l a r y e m b o d i m e n t , the touchp a d o f the p r e s e n t i n v e n t i o n reports to a host either the r e l a t i v e m o t i o n o f a f i n g e r a c r o s s the t o u c h p a d o r c h a n g e s i n " b u t t o n " status. Referring next to FIG. 2 , the o p e r a t i o n o f the touchpad 2 0 m a y b e better appreciated. I n particular, FIG. 2 s h o w s i n b l o c k d i a g r a m form the electronics i m p l e m e n t e d to form an e x e m p l a r y t o u c h p a d 2 0 . A t o u c h p a d m a t r i x 30 is c o m p o s e d o f a p l u r a l i t y o f r o w s 3 5 and c o l u m n s 4 0 o f w i r e s or t r a c e s a r r a n g e d in a c o n v e n t i o n a l m a n n e r ; s e e U.S. p a t e n t a p p l i c a t i o n Ser. No. 08/321,987, filed 1 2 Oct. 1994, entitled Touch P a d S e n s o r w i t h S i m u l t a n e o u s S e n s i n g , c o m m o n l y a s s i g n e d w i t h the p r e s e n t a p p l i c a t i o n . T h e r o w s a n d c o l u m n s are c o n n e c t e d to an analog multiplexor 4 5 through a plurality o f X (row) d i r e c t i o n c o n d u c t o r s 5 0 a n d a p l u r a l i t y o f Y ( c o l u m n ) d i r e c t i o n c o n d u c t o r s 5 5 , o n e c o n d u c t o r for e a c h r o w a n d e a c h c o l u m n . U n d e r the c o n t r o l o f a m i c r o c o n t r o l l e r 6 0 , the a n a l o g m u l t i p l e x o r 4 5 s e l e c t s w h i c h t r a c e s o f the m a t r i x 3 0 w i l l b e s a m p l e d , a n d the o u t p u t o f t h o s e t r a c e s i s then p r o v i d e d to a capacitance m e a s u r i n g circuit 70. One s u i t a b l e c a p a c i t a n c e m e a s u r i n g c i r c u i t is d e s c r i b e d i n a f o r e m e n t i o n e d U.S. p a t e n t application Ser. No. 0 8 / 3 2 1 , 9 8 7 , c o m m o n l y a s s i g n e d w i t h the p r e s e n t i n v e n t i o n a n d i n c o r p o r a t e d h e r e i n b y r e f e r e n c e ; a n o t h e r is d e s c r i b e d i n U.S. p a t e n t application Ser. No. 0 8 / 4 7 8 , 2 9 0 , filed 7 Jun. 1995, e n t i t l e d T o u c h S e n s i n g M e t h o d and A p p a r a t u s and also c o m m o n l y a s s i g n e d w i t h the p r e s e n t i n v e n t i o n a n d i n c o r p o r a t e d h e r e i n b y reference. T h e o u t p u t o f the c a p a c i t a n c e m e a s u r i n g c i r c u i t i s t h e n p r o v i d e d to an analog to digital c o n v e r t e r 8 0 , w h i c h operates a s d e s c r i b e d i n e i t h e r o f the a b o v e - r e f e r e n c e d p a t e n t a p p l i c a t i o n s to c o n v e r t the capacitance v a l u e s from the circuit 70 into a digital representation. The analog to digital c o n v e r t e r 8 0 then s u p p l i e s the signals to the microcontroller 6 0 , w h i c h operates to form, among o t h e r things, a finger profile for o n e o r m o r e fingers, X - Y c u r s o r d a t a , and c o n t r o l s i g n a l s . D e p e n d i n g o n the o p e r a t i o n b e i n g p e r f o r m e d at the particular time, the o u t p u t o f m i cr o co n t r o l l er 60 is then s u p p l i e d to an interface to a P C or other device, s u c h as a P S / 2 interface, an R S - 2 3 2 i n t e r f a c e , o r an A p p l e D e s k t o p B u s ( A D B ) . A k e y feature o f the p r e s e n t i n v e n t i o n i s its ability to d i s t i n g u i s h the p r e s e n c e o f m u l t i p l e f i n g e r s e i t h e r t o u c h i n g o r in operative p r o x i m i t y to the touchpad 3 0 . I n a typical e m b o d i m e n t , the o p e r a t i o n o f the c i r c u i t o f F I G . 2 c y c l e s c o n t i n u o u s l y . A s n o t e d a b o v e , the c y c l e b e g i n s b y s c a n n i n g the t r a c e s a n d m e a s u r i n g t h e c a p a c i t a n c e o n e a c h t r a c e . T h e n the p o r t i o n o f e a c h m e a s u r e d c a p a c i t a n c e t h a t i s i n d u c e d b y the p r e s e n c e o f a f i n g e r i s e x t r a c t e d , a n d t h i s f i n g e r - i n d u c e d c a p a c i t a n c e i s s t o r e d i n R A M , as X ( I ) t h r o u g h X ( X c o n ) a n d Y ( I ) t h r o u g h Y ( Y c o n ) , a s d e s c r i b e d b e l o w . T h e fingeri n d u c e d p o r t i o n o f the m e a s u r e d c a p a c i t a n c e i s d e t e r m i n e d b y s u b t r a c t i n g a v a l u e , f o r e a c h t r a c e , r e p r e s e n t i n g the 6 c a p a c i t a n c e w h e n no f i n g e r i s p r e s e n t . T h i s " n o - f i n g e r " capacitance is measured and s t o r e d at a time p r e v i o u s to the b e g i n n i n g o f the c y c l e d e s c r i b e d h e r e i n , a n d i s d e s c r i b e d more fully in U.S. p a t e n t application Ser. No. 0 8 / 4 7 8 , 2 9 0 , 5 filed 7 J u n . 1 9 9 5 a n d c o m m o n l y a s s i g n e d . I t h a s a l s o b e e n f o u n d b y a p p l i c a n t t h a t it i s n o t n e c e s s a r y , in all e m b o d i m e n t s , to subtract the " n o - f i n g e r " capacitance i f t e c h n i q u e s other than calculation o f a centroid are u s e d to l o c a t e the p o s i t i o n o f the f i n g e r s , a n d s u c h s u b t r a c t i o n i s n o t 1 0 r e q u i r e d e v e n i n all i n s t a n c e s i n w h i c h a c e n t r o i d is c a l c u l a t e d . H o w e v e r , i n at l e a s t s o m e e m b o d i m e n t s the s e n s i t i v i t y and h e n c e t h e r e s o l u t i o n o f t h e c a l c u l a t e d finger l o c a t i o n i s e n h a n c e d b y such subtraction. Referring again to the e x e m p l a r y e m b o d i m e n t , the v a l u e s 15 o f finger-induced c a p a c i t a n c e are t h e n p r o c e s s e d to c a l c u l a t e a p o s i t i o n , d e t e c t w h e t h e r o n e o r m o r e f i n g e r s is i n o p e r a t i v e c o n t a c t w i t h the p a d surface, and to detect any c h a n g e s in the n u m b e r o f fingers operatively c o u p l e d to the pad. I f the cycle is repeated rapidly e n o u g h to update a g r a p h i c a l u s e r inter2 0 f a c e a p p r o x i m a t e l y 3 0 t i m e s p e r s e c o n d o r m o r e , the a p p e a r ance o f s m o o t h and instantaneous response is p r o v i d e d to the user. F o r f u n c t i o n s o t h e r t h a n p o i n t i n g , s u c h a s h a n d w r i t i n g w i t h t h e finger, a f a s t e r s c a n r a t e m a y b e r e q u i r e d a n d may, f o r e x a m p l e , b e o n t h e o r d e r o f 2 0 0 s c a n s p e r 25 second. Referring next to FIG. 3, a finger profile is s h o w n indicative o f the p r e s e n c e o f t w o fingers, s p a c e d a p a r t f r o m o n e a n o t h e r . I n p a r t i c u l a r , the c i r c u i t r y , s o f t w a r e o r f i r m w a r e o f 3 0 the t o u c h p a d circuitry, s u c h as t h a t s h o w n i n FIG. 2, d e t e c t s a first m a x i m a 8 5 i n d i c a t i v e o f a first f i n g e r i n o p e r a t i v e p r o x i m i t y to the t o u c h p a d 30, followed b y a m i n i m a 90 i n d i c a t i v e o f a s p a c e b e t w e e n the f i n g e r s , a n d f u r t h e r f o l l o w e d b y another m a x i m a 95 indicative o f a s e c o n d finger 35 o p e r a t i v e l y c o u p l e d to the t o u c h p a d 30. I t w i l l be apprecia t e d t h a t , f o r o p e r a t i o n s i n v o l v i n g m o r e t h a n two fingers, m o r e m a x i m a w i l l be d e t e c t e d w i t h an a p p r o p r i a t e n u m b e r o f intermediate minima. A l t h o u g h the finger p r o f i l e s h o w n i n F I G . 3 s u g g e s t s t h a t 4 0 the i n t e r m e d i a t e m i n i m a s e p a r a t i n g the t w o f i n g e r s i s a z e r o v a l u e , it i s n o t n e c e s s a r y i n a l l i n s t a n c e s t h a t the m i n i m a b e z e r o . T h u s , for e x a m p l e , F I G . 4 r e f l e c t s a f i n g e r p r o f i l e w i t h a n o n z e r o l o c a l m i n i m a 1 0 0 i n t e r m e d i a t e the t w o m a x i m a 1 0 5 and 1 1 0 indicative o f two fingers o p e r a t i v e l y coupled to 45 the touchpad. T h i s finger profile s i m p l y reflects two fingers p l a c e d c l o s e l y to one another, b u t still yields a v a l l e y for m e a s u r e m e n t o f the m i n i m a . To operate effectively, the p r e s e n t i n v e n t i o n m u s t detect a n d d i s t i n g u i s h t h e p r e s e n c e o f a s i n g l e finger, a n d t h e 50 p r e s e n c e o f m u l t i p l e f i n g e r s . A s n o t e d p r e v i o u s l y , t h e s e c o n d o r additional fingers are typically involved to p r o v i d e " b u t ton" o r control functions, s i m i l a r to actuation o f the b u t t o n s o r s w i t c h e s o n a m o u s e . A l t h o u g h the f o l l o w i n g e x a m p l e d e s c r i b e s i n d e t a i l the u s e o f o n l y t w o f i n g e r s , o n e f o r c u r s o r 55 c o n t r o l a n d a s e c o n d a s a b u t t o n , t h e t e a c h i n g s h e r e i n a r e b e l i e v e d sufficient to p e r m i t those skilled in the art to c o n s t r u c t a p p a r a t a u s i n g m u l t i p l e f i n g e r s for a d d i t i o n a l buttons. To avoid artifacts, a threshold m a y be applied to the both 60 the m a x i m u m a n d m i n i m u m d i s t a n c e b e t w e e n the m a x i m a r e p r e s e n t a t i v e o f m u l t i p l e fingers. F o r e x a m p l e , a t h r e s h o l d requiring the m a x i m a to b e w i t h i n five c e n t i m e t e r s o f o n e another m a y b e u s e d to limit the m a x i m u m distance b e t w e e n the fingers; o t h e r t h r e s h o l d s m a y b e a p p r o p r i a t e i n s o m e 65 e m b o d i m e n t s . A t h r e s h o l d r e p r e s e n t a t i v e o f the m i n i m u m distance m a y b e configured b y e s t a b l i s h i n g a m a x i m u m v a l u e o f the l o c a l m i n i m a 1 0 0 . 5,825,352 7 8 In an e x e m p l a r y e m b o d i m e n t , the o p e r a t i o n o f the s y s t e m as c h e c k e d at step 490, the state o f Y b u t t o n is up and o f F I G . 2 is c o n t r o l l e d i n e i t h e r f i r m w a r e , s o f t w a r e o r Y b u t t o n P r e v i o u s is D o w n , then the variable B u t t o n i s s e t to h a r d w a r e . S h o w n i n F I G . 5 i s a f l o w d i a g r a m s h o w i n g the U p at s t e p 4 9 5 . g e n e r a l o p e r a t i o n o f s u c h s o f t w a r e o r firmware w h i c h i s I f the b u t t o n w a s set to D o w n at state 465, or Up at step capable o f detecting multiple fingers, and w h i c h uses the 5 495, o r i f the results at steps 480 and 4 9 0 are NO, the p r o c e s s algorithm o f FIG. 6, discussed hereinafter. T h e v a r i a b l e s advances to step 510. f o u n d i n t h e flow d i a g r a m o f F I G . 5 a r e d e f i n e d b e l o w : A t step 510, X m o t i o n is set to the s u m o f Xabsolute less XabsolutePrevious, and at step 5 2 0 , Y m o t i o n is set to the s u m o f Y a b s o l u t e l e s s Y a b s o l u t e P r e v i o u s . T h e n , at s t e p 5 3 0 , Name Definition 1 0 the s t a t e o f B u t t o n i s c h e c k e d a n d , i f it i s c h a n g e d b y b e i n g Xabsolute F i n g e r p o s i t i o n in X d i r e c t i o n , c a l c u l a t e d d u r i n g t h e either Up or D o w n , b o t h X m o t i o n and Y m o t i o n are set to c u r r e n t c y c l e r e l a t i v e to the s e n s o r pad. z e r o at s t e p 5 3 5 , i n d i c a t i n g t h a t the u s e r h a s a c t u a t e d a T h e v a l u e a b o v e s t o r e d f r o m t h e p r e v i o u s cycle. XabsolutePrevious b u t t o n and no c u r s o r m o v e m e n t s h o u l d occur. Yabsolute S i m i l a r to Xabsolute. I n a d d i t i o n , i f B u t t o n e q u a l s U p o r D o w n , the s t a t e o f YabsolutePrevious S i m i l a r to X a b s o l u t e P r e v i o u s . Xbutton Has v a l u e Up or D o w n (regardless o f p r e v i o u s 1 5 B u t t o n i s r e p o r t e d at s t e p 5 4 0 . A t s t e p 5 5 0 , X m o t i o n a n d state). Y m o t i o n are c o m p a r e d to zero, and i f either is n o t zero then XbuttonPrevious T h e v a l u e a b o v e s t o r e d f r o m t h e p r e v i o u s cycle. b o t h X m o t i o n and Y m o t i o n are reported to the m i c r o c o n Ybutton S i m i l a r to Xbutton. troller. I t w i l l b e a p p a r e n t t h a t t h i s i n d i c a t e s a c u r s o r S i m i l a r to XbuttonPrevious. YbuttonPrevious Xmotion C u r s o r m o t i o n in the X d i r e c t i o n , relative to the m o v e m e n t , t y p i c a l l y r e f l e c t i v e o f the m o v e m e n t o f a s i n g l e c u r s o r p o s i t i o n o f the p r e v i o u s c y c l e ( o n l y r e p o r t e d 2 0 finger o v e r t h e t o u c h p a d , o r t w o f i n g e r s i n s o m e m o d e s s u c h i f e i t h e r o r b o t h X m o t i o n a n d Y m o t i o n are as C l i c k - a n d - D r a g . non-zero). Ymotion S i m i l a r to Xmotion. F u r t h e r , at s t e p 5 6 0 , w h e t h e r t h e r e i s m o t i o n r e p o r t e d o r M a y b e Up o r D o w n ( o n l y r e p o r t e d i f a c h a n g e Button not, the variable X a b s o l u t e P r e v i o u s is set to the value o f from the p r e v i o u s cycle). Xabsolute, and at step 5 7 0 the variable YabsolutePrevious i s 2 5 s e t to the v a l u e o f Y a b s o l u t e . Similarly, at s t e p 5 8 0 the v a l u e I t w i l l b e u n d e r s t o o d b y t h o s e s k i l l e d i n the a r t t h a t a " r e p o r t " o f X b u t t o n P r e v i o u s i s s e t to Xbutton, and at step 5 9 0 the m e a n s transmitting information to an application p r o c e s s value o f YabsolutePrevious is set to Yabsolute. T h e cycle e x e c u t i n g o n a h o s t , s u c h t h a t the c u r s o r i s m o v e d o r a then repeats b y returning to step 400. I t w i l l b e apparent that function i s performed. I n s o m e instances, driver software the foregoing algorithm c a n be readily e x t e n d e d to include e x e c u t i n g o n the h o s t m a y a s c e r t a i n t h e e x i s t e n c e o f f i n g e r 3 0 a d d i t i o n a l f i n g e r s b e y o n d t w o , r e p r e s e n t a t i v e o f a d d i t i o n a l m o v e m e n t , w h i l e i n o t h e r i n s t a n c e s i n c l u d i n g the e x e m p l a r y b u t t o n s . I n s u c h a n i n s t a n c e , c o m p a r e s t e p s for c u r r e n t a n d e m b o d i m e n t d e s c r i b e d h e r e i n the d e t e r m i n a t i o n o f f i n g e r p r e v i o u s s t a t e s o f e a c h b u t t o n w o u l d b e c o n d u c t e d , and m o v e m e n t o c c u r s i n the f i r m w a r e i n t h e p o i n t i n g d e v i c e . " u p , " o r " d o w n " c o n d i t i o n s w o u l d be r e p o r t e d f o r e a c h s u c h Referring still to FIG. 5, the cyclical p r o c e s s b e g i n s at step button. In s o m e e m b o d i m e n t s it may b e desired to report " n o 4 0 0 , a n d c o n t i n u e s at s t e p 4 1 0 b y s c a n n i n g the c o n d u c t o r 3 5 c h a n g e " c o n d i t i o n s , a n d the f o r e g o i n g a l g o r i t h m c o u l d b e sensors. T h e sensors may be s c a n n e d sequentially o r readily modified to p r o v i d e s u c h reporting. c o n c u r r e n t l y , d e p e n d i n g o n the h a r d w a r e i m p l e m e n t a t i o n . D e p e n d i n g o n the d e s i r e d c o n f i g u r a t i o n , s e c o n d a n d t h i r d T h e s c a n p r o c e s s m e a s u r e s the v a l u e s o f f i n g e r - i n d u c e d b u t t o n s m a y be i m p l e m e n t e d , for e x a m p l e , e i t h e r b y r e q u i r c a p a c i t a n c e f o r e a c h o f the c o n d u c t o r s , a n d s t o r e s the v a l u e s ing a c o m b i n a t i o n o f two o r more fingers to indicate operai n R A M at s t e p 4 2 0 . T h e c y c l e p r o c e s s c o n t i n u e s b y 4 0 t i o n o f a s e c o n d b u t t o n , o r b y the i n d e p e n d e n t m o v e m e n t o f p e r f o r m i n g the X c o m p u t e l o o p o f F I G . 6 d i s c u s s e d a d d i t i o n a l fingers o r o t h e r o b j e c t s . I n t h i s l a t t e r e m b o d i m e n t , hereinafter, and also the Y c o m p u t e loop analogous to FIG. it m a y b e desirable to i m p l e m e n t distance thresholding, to 6, at step 430 and 440, respectively. In general, the function e n s u r e t h a t m o v e m e n t o f a s e c o n d o r a d d i t i o n a l b u t t o n finger o f the X c o m p u t e and Y c o m p u t e p r o c e s s e s is s i m p l y to i s n o t m i s t a k e n f o r m o v e m e n t o f t h e first o r o t h e r b u t t o n evaluate the c u r r e n t m e a s u r e m e n t s b y calculating the cen- 4 5 finger. t r o i d o f the f i n g e r m e a s u r e m e n t , a n d b y d e t e c t i n g w h e t h e r a S e t f o r t h i n F I G . 6 i s a flow d i a g r a m s e t t i n g f o r t h t h e s t e p s s e c o n d f i n g e r i s t o u c h i n g the p a d - w h i c h d e t e r m i n e s the f o r c o m p u t i n g m o t i o n a n d " b u t t o n " s t a t e s i n the X d i r e c t i o n , b u t t o n state. o r w h a t m a y b e referred to as " X c o m p u t e . " A n a n a l o g o u s I n t h e e x e m p l a r y e m b o d i m e n t , o n l y a c h a n g e i n the b u t t o n c a l c u l a t i o n i s p e r f o r m e d f o r the Y d i r e c t i o n , o r w h a t m a y b e state is reported. A s a result, at step 450 the v a l u e o f B u t t o n 50 referred to as " Y c o m p u t e . " The algorithm u s e s the following is set to No Change. I n addition, in the e x e m p l a r y embodiv a r i a b l e s a n d constants: m e n t a t a p o r d o u b l e c l i c k b y o n l y a first f i n g e r i s n o t a c t e d u p o n , a l t h o u g h a tap b y a s e c o n d f i n g e r o r b y m u l t i p l e f i n g e r s is a c t e d u p o n . I n t h e e x e m p l a r y a r r a n g e m e n t , a Name Definition " b u t t o n d o w n " c o n d i t i o n is o n l y reported i f b o t h fingers are 55 X(N) Values, s t o r e d i n m e m o r y , o f f i n g e r - i n d u c e d p o r t i o n o f i n o p e r a t i v e c o n t a c t w i t h the t o u c h p a d . c a p a c i t a n c e m e a s u r e d o n e a c h conductor. N v a r i e s from The p r o c e s s c o n t i n u e s b y c o m p a r i n g the c u r r e n t a n d 1 to Xcon. [ W h e n no finger is c o n t a c t i n g the p a d a b o v e a c o n d u c t o r , the v a l u e is a p p r o x i m a t e l y zero. I n a d d i t i o n , p r e v i o u s b u t t o n s t a t e s o f the X a n d Y c o n d u c t o r s . F i r s t , at X(O) is initialized to a v a l u e o f 0.] step 460, the state o f X b u t t o n i s c h e c k e d to see i f it is D o w n X(N-1) Value o f f i n g e r - i n d u c e d s e n s o r c o n d u c t o r c a p a c i t a n c e and the state o f X b u t t o n P r e v i o u s is c h e c k e d to s e e i f i t i s Up. 60 for t h e p r e v i o u s c o n d u c t o r . I f b o t h c o m p a r e s are true, then the variable B u t t o n is set to Xcon T h e n u m b e r o f s e n s o r c o n d u c t o r s i n the X d i r e c t i o n . Fthresh T h e m i n i m u m threshold t h a t X m u s t reach b e f o r e a finger is D o w n at step 465. I n addition, at step 470, the state o f c o n s i d e r e d to be present. [Sets the touch sensitivity o f Y b u t t o n is checked to see i f it is D o w n and the state o f the p a d . ] Y b u t t o n P r e v i o u s i s c h e c k e d to see i f it i s Up. I f both Variable to store the v a l u e o f the first p e a k X value. Xpeak1 c o m p a r e s are true, the variable B u t t o n is also s e t to D o w n . 65 X v a l l e y Variable to store the v a l u e o f a local m i n i m u m ( i f any) b e t w e e n 2 peaks. Alternatively, as d e t e r m i n e d at step 480, i f the state o f X b u t t o n i s Up and the state o f X b u t t o n P r e v i o u s is D o w n , or, 5,825,352 9 -continued Name Xpeak2 Definition 10 2 3 5 and a repeat with an incrementally higher N. I f a s e c o n d f i n g e r i s t o u c h i n g the p a d t h e n e v e n t u a l l y the v a l u e o f X ( N - l ) w i l l b e geater than or equal to the value o f X(N), s u c h that the v a l l e y i s detected. A t this point, at step 2 6 2 , the value o f X v a l l e y is s e t to X ( N - l ) and Xstate is set to Peak2. T h e p r o c e s s then j u m p s to step 2 3 5 , w h e r e i t repeats from s t e p 2 1 5 u n l e s s the l a s t c o n d u c t o r i n the m a t r i x h a s b e e n evaluated. O n the n e x t c y c l e , a N O r e s u l t i s r e a c h e d at b o t h s t e p 2 2 5 and step 2 5 0 , c a u s i n g a j u m p to step 270. A t step 2 7 0 the state o f Xstate is c o m p a r e d to Peak2, and a Y E S result w i l l occur. T h i s r e s u l t s i n a c o m p a r e b e t w e e n X ( N ) a n d X ( N - l ) at step 2 7 5 , to l o o k for a s e c o n d p e a k , in a m a n n e r substantially identical to the p r o c e s s b y w h i c h the first p e a k w a s found. A s long as X(N) is greater than or e q u a l to X ( N - l ) , the p e a k has not b e e n found, so the p r o c e s s j u m p s to step 2 3 5 , and then to step 2 1 5 until the change m e a s u r e d at the last c o n d u c t o r h a s b e e n evaluated. A s before, the v a l u e o f X ( N ) w i l l eventually start to d e c r e a s e , s u c h t h a t X ( N ) w i l l be l e s s t h a n X ( N - l ) . A t t h i s point, at step 2 7 8 , the v a l u e o f Xpeak2 is set to the value o f X ( N - 1 ) and the state o f Xstate is s e t to Tail. T h e " t a i l " is the r e m a i n i n g p o r t i o n o f F I G . 4 f o l l o w i n g the s e c o n d p e a k . W h i l e a Tail s t a t e i s u s e d i n t h e e x e m p l a r y e m b o d i m e n t , s u c h a s t a t e m a y n o t b e n e c e s s a r y i n all e m b o d i m e n t s . T h e p r o c e s s t h e n c y c l e s t h r o u g h u n t i l the l a s t c o n d u c t o r m e a s u r e m e n t h a s b e e n c o n s i d e r e d , at w h i c h p o i n t N d o e s e q u a l X c o n w h e n the c h e c k at step 2 3 5 i s made. W i t h a Y E S result, the p r o c e s s b r a n c h e s to a thresholding c o m p a r i s o n at step 290. I n an e x e m p l a r y e m b o d i m e n t , t h e X c o m p u t e p r o c e s s t h e n c o n t i n u e s b y c a l c u l a t i n g t h e c e n t r o i d for the f i n g e r s detected, so l o n g as the m a x i m a e x c e e d a threshold value. In a c c o r d a n c e w i t h the p r e s e n t i n v e n t i o n , t w o a p p r o a c h e s m a y b e u s e d i n c a l c u l a t i n g c e n t r o i d v a l u e s . I n a first i m p l e m e n t a t i o n , o n l y a s i n g l e c e n t r o i d v a l u e is c a l c u l a t e d for t h e c o m b i n a t i o n o f o n e o r m o r e fingers. I n t h i s a r r a n g e m e n t , it w i l l b e a p p a r e n t t h a t , w h e n a s e c o n d f i n g e r c o n t a c t s the t o u c h p a d , the c e n t r o i d " j u m p s " l a t e r a l l y approximately to the m i d p o i n t o f the two fingers. I n a s e c o n d i m p l e m e n t a t i o n , a c e n t r o i d v a l u e m a y be c a l c u l a t e d for e a c h m a x i m a , yielding multiple centroid v a l u e s w h e n multiple f i n g e r s i n t e r a c t w i t h the p a d . F o r p u r p o s e s o f c l a r i t y , t h e following description will b e limited to the first i m p l e m e n tation. Thus, at step 2 9 0 the v a l u e s o f X p e a k l and X p e a k 2 are c o m p a r e d to Fthresh, and i f either o r b o t h are g r e a t e r then Xabsolute is set to the v a l u e o f X w e i g h t S u m l X s u m at step 2 9 5 , w h i c h c a u s e s the X centroid to b e calculated. I f neither p e a k e x c e e d s F t h r e s h , t h e n no f i n g e r i s d e e m e d p r e s e n t a n d X b u t t o n is s e t to Up at step 3 1 5 . I f b o t h X p e a k l a n d X p e a k 2 w e r e g r e a t e r t h a n F t h r e s h , the X c o m p u t e p r o c e s s c o n t i n u e s at s t e p 3 0 5 b y c o m p a r i n g t h e difference b e t w e e n X p e a k l and Valley to the v a l u e o f X p e a k l divided, for e x a m p l e , b y four. I f the difference i s the g r e a t e r o f the t w o , t h e n the d i f f e r e n c e b e t w e e n X p e a k 2 a n d Valley i s c o m p a r e d to the value o f Xpeak2 divided, for e x a m p l e , b y four. I f the difference is greater than the dividend, the X b u t t o n is set to D o w n at step 310. Otherwise, the v a l u e o f X b u t t o n is set to Up at step 315. The c o m p a r i s o n described above i s p r o v i d e d to ensure that a legitimate v a l l e y and two legitimate p e a k s have b e e n detected, to avoid a r t i f a c t s . I t w i l l b e a p p r e c i a t e d , g i v e n the t e a c h i n g s h e r e i n , t h a t o t h e r c o m p a r i s o n m e t h o d s or d i v i s o r s o t h e r than four m a y b e u s e d for t h i s p u r p o s e . T h e X c o m p u t e l o o p t h e n e n d s at s t e p 3 2 0 . I t w i l l b e a p p r e c i a t e d b y t h o s e s k i l l e d i n the a r t t h a t t h e f o r e g o i n g i s V a r i a b l e t a s t a r e t h e v a l u e a f the s e c a n d p e a k X v a l u e (if any). Xsum Variable to a c c u m u l a t e the s u m o f the X v a l u e s , for c e n t r o i d calculation. X w e i g h t S u m Variable t a a c c u m u l a t e t h e s u m a f t h e X v a l u e s , w e i g h t e d b y N ( t h e p a s i t i a n a f t h e c a n d u c t o r ) , for c e n t r o i d calculation. Xstate A v a r i a b l e w h i c h c a n h a v e v a l u e s P e a k 1 , Valley, P e a k 2 o r Tail, t a i n d i c a t e w h i c h p a r t a f t h e finger p r o f i l e w e a r e c u r r e n t l y s e a r c h i n g far. T h e Tail s t a t e is s i m p l y the r e m a i n d e r a f the s c a n a f t e r a s e c a n d p e a k (in the e x e m p l a r y e m b a d i m e n t ) has b e e n i d e n t i f i e d . 5 10 I t w i l l b e apparent to those skilled in the art that the " Y c o m p u t e " v a r i a b l e s a n d c o n s t a n t s differ o n l y in r e p l a c i n g X b y Y. The algorithm for X c o m p u t e starts at step 2 0 0 , followed b y initialization o f variables at step 205. F o r X c o m p u t e , the v a r i a b l e s initialized are N, w h i c h i s set to zero, and the v a l u e o f X(O), w h i c h is also s e t to zero. In addition, X p e a k l , Xvalley, X p e a k 2 , X s u m and X w e i g h t S u m , are all s e t to zero. I n addition, the state o f Xstate is s e t to P e a k l . A t step 2 1 0 a loop, referred to as " X l o o p " starts. T h e p u r p o s e o f Xloop is to calculate the X centroid, b y accum u l a t i n g the s u m a n d w e i g h t e d s u m o f the X v a l u e s f o r all the X c o n d u c t o r s from one to Xcon. Thus, the loop typically starts w i t h the v a l u e o f N=O and increments b y one at the b e g i n n i n g o f e a c h c y c l e u n t i l the v a l u e o f N = X c o n . T h e s t e p s o f the l o o p i n c l u d e s t e p 2 1 5 , w h e r e N i s i n c r e m e n t e d to N + 1 and the v a l u e X ( N ) o f the c u r r e n t c o n d u c t o r i s added to the p r i o r accumulated value, Xsum, w h i c h then b e c o m e s the n e w v a l u e o f X s u m . T h e l o o p t h e n c o n t i n u e s at s t e p 2 2 0 , w h e r e the p r i o r v a l u e o f X w e i g h t S u m i s added to a w e i g h t e d v a l u e o f X ( N ) , w h e r e the w e i g h t i n g i s d o n e b y m u l t i p l y i n g X ( N ) b y the n u m b e r N o f the c o n d u c t o r b e i n g s a m p l e d . T h e s u m o f X w e i g h t S u m a n d N * X ( N ) t h e n b e c o m e s the n e w value o f XweightSum. The XLoop c o n t i n u e s at step 2 2 5 , w h e r e one o f a s e r i e s o f s u b l o o p s i s s e l e c t e d d e p e n d i n g o n the v a l u e o f X s t a t e . S i n c e Xstate is initially set to P e a k l , the first subloop e n t e r e d i s the P e a k l subloop, b e g i n n i n g at step 230. A t step 2 3 0 the v a l u e o f X(N) is c o m p a r e d to the value o f X ( N - l ) and, i f X ( N ) is greater than o r equal to the value o f X ( N - 1 ) , t h e first p e a k h a s n o t y e t b e e n r e a c h e d . A s a r e s u l t , t h e l o o p j u m p s to step 2 3 5 , at w h i c h p o i n t s the value o f N i s c o m p a r e d to the v a l u e o f Xcon. I f the finger-induced capacit a n c e m e a s u r e d at the l a s t c o n d u c t o r h a s n o t b e e n e v a l u a t e d , the result is a NO and the p r o c e s s j u m p s to step 2 1 5 to repeat w i t h an i n c r e m e n t e d v a l u e o f N. A t s o m e v a l u e o f N the v a l u e o f X ( N ) i s l e s s t h a n the v a l u e o f X ( N - 1 ) , at w h i c h p o i n t the c h e c k at s t e p 2 3 0 y i e l d s a N O . A t t h i s p o i n t , the p e a k h a s b e e n f o u n d a n d at s t e p 2 3 2 the v a l u e o f X p e a k l is set to X ( N - 1 ) and the v a l u e o f Xstate is set to Valley. T h e s y s t e m then j u m p s to step 2 3 5 , w h e r e a c h e c k is m a d e to see i f the last c o n d u c t o r h a s b e e n m e a s u r e d b y c o m p a r i n g N to Xcon. A s before, i f the capacitance c h a n g e m e a s u r e d at the l a s t c o n d u c t o r h a s n o t b e e n c h e c k e d , the result is a NO, and the p r o c e s s l o o p s to step 2 1 5 and repeats. W h e n the p r o c e s s b e g i n s with the next i n c r e m e n t o f N, a NO will result at step 2 2 5 , so that the p r o c e s s w i l l j u m p to step 2 5 0 , w h e r e a c h e c k is m a d e to see i f Xstate e q u a l X v a l l e y . S i n c e it n o w d o e s , a Y E S r e s u l t s a n d the p r o c e s s b r a n c h e s to step 2 5 5 . A t step 2 5 5 a X(N) i s c o m p a r e d to X ( N - l ) . I f X ( N - l ) is n o t greater than or equal to X(N), the v a l l e y h a s not yet b e e n found, c a u s i n g a further j u m p to step 15 20 25 30 35 40 45 50 55 60 65 5,825,352 11 a s i m p l i f i e d a l g o r i t h m and d o e s n o t i n c l u d e c o m p e n s a t i o n for s e t t l i n g , m o i s t u r e a n d n o i s e . N o i s e t h r e s h o l d i n g m a y b e p r o v i d e d in at l e a s t some e m b o d i m e n t s , i f noise c a u s e s the curve to b e non-monotonic; settling and moisture m a y b e 5 d e a l t w i t h i n a s i m i l a r manner. T h e Y c o m p u t e l o o p is p e r f o r m e d s i m i l a r l y , as n o t e d a b o v e . D e p e n d i n g o n the p a r t i c u l a r a r r a n g e m e n t d e s i r e d , a n d the a s s o c i a t e d h a r d w a r e , the X a n d Y c o m p u t e p r o c e s s e s m a y b e p e r f o r m e d sequentially i n either order o r concur10 rently. W h i l e the f o r e g o i n g e x a m p l e d e s c r i b e s i d e n t i f i c a t i o n o f m i n i m a a n d m a x i m a i n the X a n d Y d i r e c t i o n s , i t w i l l b e apparent that an analysis along a d i a g o n a l or some o t h e r a n g u l a r d i r e c t i o n m a y b e p r e f e r r e d in s o m e i n s t a n c e s , and i s s t i l l w i t h i n the s c o p e o f the p r e s e n t i n v e n t i o n . 15 I t w i l l b e a p p r e c i a t e d t h a t the f o r e g o i n g d e s c r i b e s a n e w a n d u s e f u l m e t h o d a n d a p p a r a t u s for d e t e c t i n g a p l u r a l i t y o f fingers o p e r a t i v e l y c o u p l e d to a t o u c h p a d s e n s o r for e n a b l i n g a v a r i e t y o f m o u s e - l i k e operations. A s e c o n d port i o n o f the i n v e n t i o n i n v o l v e s u s i n g the p r e v i o u s l y d e t e c t i o n 2 0 m e t h o d o l o g y to p e r f o r m various c u r s o r m o v e m e n t and control functions similar to those w e l l k n o w n to users o f e l e c t r o n i c mice a n d trackballs. A s p r e v i o u s l y n o t e d , t h e first f i n g e r i s m o s t c o m m o n l y associated, i n the p r i o r art, w i t h c u r s o r m o v e m e n t , w h i l e 25 v a r i o u s t a p p i n g m o t i o n s [ e . g . , tap a n d t a p - a n d - a h a l f ] o f t h a t first finger have b e e n i m p l e m e n t e d to p e r f o r m v a r i o u s c o n t r o l functions. Unlike s u c h p r i o r art, however, v a r i o u s m o v e m e n t s (including s e q u e n c e s o f taps) o f additional fing e r s o r c o m b i n a t i o n s o f the first and additional fingers are 3 0 p r o v i d e d to enable s u c h c o n t r o l functions in the p r e s e n t i n v e n t i o n . D e p e n d i n g o n the i m p l e m e n t a t i o n d e s i r e d , it i s also possible to i m p l e m e n t a superset o f the p r i o r art c o n t r o l f u n c t i o n s t o g e t h e r w i t h the m o r e r o b u s t c o n t r o l f u n c t i o n s e t 35 a v a i l a b l e w i t h the p r e s e n t i n v e n t i o n . N o t e t h a t i n the p r e f e r r e d e m b o d i m e n t , the u s e r m a y arbitrarily c h o o s e w h i c h finger he o r she uses as the "first" o r " s e c o n d " o r a d d i t i o n a l fingers. T h u s , f o r e x a m p l e , o n e u s e r m a y c h o o s e t h e i n d e x f i n g e r a s t h e first f i n g e r a n d t h e middle finger as the s e c o n d finger, while another u s e r m a y 40 p r e f e r the r e v e r s e o r s o m e d i f f e r e n t c o m b i n a t i o n . I n the preferred e m b o d i m e n t , the only distinction b e t w e e n the first, s e c o n d a n d a d d i t i o n a l f i n g e r s i s the s e q u e n c e i n w h i c h t h e y are p l a c e d i n c o n t a c t w i t h the t o u c h p a d surface, o r r e m o v e d from it. I n any case w h e r e a s e c o n d o r additional finger o r 45 fingers i s p l a c e d d o w n after a first finger, o r multiple fingers, i s a l r e a d y i n c o n t a c t w i t h the p a d , the n e w l y p l a c e d f i n g e r s c a n be in any relationship to those already i n c o n t a c t with the pad, s u c h as to the left, to the right, above o r below. The o n l y r e q u i r e m e n t i s t h a t , i n t h e p r o f i l e o f f i n g e r - i n d u c e d 50 c a p a c i t a n c e s , the p r o f i l e o f t h e n e w l y p l a c e d f i n g e r e x h i b i t s a zero v a l u e o r a l o c a l m i n i m u m o n e a c h s i d e o f i t s p e a k v a l u e , i n at l e a s t o n e o f the X o r Y d i r e c t i o n s , s o t h a t i t m a y b e d i s t i n g u i s h e d f r o m the o t h e r f i n g e r ( s ) i n c o n t a c t w i t h the touchpad. 55 I n p a r t i c u l a r , the a b i l i t y o f the p r e v i o u s l y d e s c r i b e d m e t h o d o l o g y to recognize multiple fingers allows the first finger to serve, essentially, as the " p o i n t " finger, while additional fingers serve as the " c l i c k " finger(s). C o m b i n at i o n s o f the first, second, and p e r h a p s additional fingers c a n then enable 60 n u m e r o u s c o n v e n t i o n a l functions to b e p e r f o r m e d b a s e d o n the m a p p i n g o f a v a r i e t y o f s e q u e n c e s o f t a p s o r f i n g e r m o v e m e n t s to a s e t o f c o n v e n t i o n a l p o i n t i n g d e v i c e f u n c t i o n s , w h e r e the p o i n t i n g d e v i c e c o u l d b e a t o u c h p a d , mouse, trackball, j o y s t i c k , o r stylus, for example. I t w i l l b e 65 apparent to those skilled i n the art, given the foregoing d e s c r i p t i o n , t h a t t h e p r e s e n t i n v e n t i o n c a n d e t e c t , for 12 e x a m p l e , r e l a t i v e m o v e m e n t o f t h e first f i n g e r , t o g e t h e r w i t h a tap o f the s e c o n d o r m o r e f i n g e r s at s o m e p o i n t , f o l l o w e d e i t h e r b y r e m o v a l o f b o t h fingers, f u r t h e r m o v e m e n t o f t h e first f i n g e r , o r f u r t h e r m o v e m e n t o f b o t h f i n g e r s . S u c h s e q u e n c e s can, essentially, be v i e w e d as a series o f scans in w h i c h one or more fingers w e r e found to be either p r e s e n t o r a b s e n t i n a n y g i v e n s c a n , w i t h m o t i o n , o r l a c k t h e r e o f , o f the finger o r fingers a c r o s s the t o u c h s e n s o r i n t e r s p e r s e d b e t w e e n c h a n g e s i n the n u m b e r o f f i n g e r s i n c o n t a c t w i t h the touchpad. The specific sequence c a n then b e analyzed to determine w h e t h e r only a cursor m o v e m e n t i s involved o r w h e t h e r a c o n t r o l f u n c t i o n is i n t e n d e d . I f a c o n t r o l f u n c t i o n i s i n t e n d e d , the s p e c i f i c c o n t r o l f u n c t i o n c a n t h e n b e i d e n tified. Referring to FIGS. 7 A - 7 F , there is s h o w n i n diagramm a t i c form an e x e m p l a r y s e q u e n c e i n v o l v i n g o p e r a t i v e coupling o f a plurality o f fingers w i t h a touch s e n s o r to cause b o t h a c u r s o r m o v e m e n t a n d a c o n t r o l function. M o r e specifically, FIG. 7 A s h o w s a s e r i e s o f m o v e m e n t s o f one o r m o r e f i n g e r s a c r o s s a t o u c h s e n s o r , i n c l u d i n g v a r i o u s finger t a p s . F I G S . 7 B - 7 F s h o w , f o r e a c h o f the n u m e r i c r e f e r e n c e s in FIG. 7A, an e x e m p l a r y video display, an e x e m p l a r y p o s i t i o n o f o n e o r m o r e f i n g e r s o n the t o u c h p a d , a n d X a n d Y finger profiles appropriate to that finger contact. I t w i l l b e helpful to define certain c o n v e n t i o n s u s e d i n FIGS. 7 A - 7 F b e f o r e d i s c u s s i n g t h e s e figures. I n F I

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.


Why Is My Information Online?