Elan Microelectronics Corporation v. Apple, Inc.

Filing 88

Declaration of Sean P. DeBruine in Support Elan Microelectronics Corporation's Opening Claim Construction Brief (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) filed by Elan Microelectronics Corporation. (DeBruine, Sean) (Filed on 5/7/2010) Modified on 5/10/2010 (bw, COURT STAFF).

Download PDF
EXHIBIT A ililil ilil]t ilililt illlililil]il ilililil¡ ililililt ililil il ]]l lill us005825352A United States Patent Bisset et al. nçt [11] Patent Number: 518251352 t4sl Date of Pâtent: OcL 20, 1998 5,016,ûA 5lß91. 5203,704 Gruaz el å1. ............................ 345/113 411993 Mccloììd .....,..-....................... 434/156 5 32'7,L61 7 11994 l-ogân et a|. ............................ 345 /r'73 5,365,461. lLll994 Slein et al- ..,,................. ....... 364/550 [54] MULIPIÆ FINGDRS CONTACT SENSING METHOD FOR trMUTATING MOUSE BUTTONS AND MOUSE OPERATIONS ON A TOUCH SENSOR PAI) Inventors: Slephen J. Bisset, Pâlo Aìto; Bernard Kasser, Menlo Park, both of Calif. Assignee: Logitech, Inc,, F¡eúonÎ, Câlif. Appl. No.:608,116 [75] [73] [21] [22] 376,946 72/1994 Mikân ..................................... 345/r'73 5,432,531 7/1995 Calder et a¡. ........................... 345/1'73 s,442,376 8/1995 Tånneûbaum et al. ................. 345/156 5,463,388 1oll995 Boie er a1. ....-........................... 341/33 5,495,ùJ7 211996 Miller et a1. ...-........................ 345 /173 5 5,52A,: 5,543,591 8/1996 Gillespie et al. ......................... fialra 6 6/1996 Arbeitmân et al, ................-....345/1'73 Filed: 5,565,658 l0/1996 Geryheide et â1. ..................... 345/174 5,648,642 1/1997 Miller et a1. .............................. 1'781ß Feb.28, 1996 FOREIGN PAIENT DOCIJMENTS Relatd U.S. Appìicâtio¡ Data [63] Continuation of Ser. No. 582t6& Jân. 4, 1996, âbandoned. ,............................... wo 91Æ3039 3/1991 WIPO , wo 97118508 5/19S7 WIPO ................. OTIIER PUBLICATI ONS G06F 3/033 tsll Int. Cl.6 ls2l Is8] Is6] G09G si00; C09G 5/08 U.S.C|......................... Field of Seârch References Cited 3451773:3a5/1.57 3451156,15'7, 345/760, 1'73, 17 4, 145; l7A1a; 34U33 Synaptics Brochure, "Synaplics Toùch Pad," pp. 1-39. P rimary Examíner-Jeffety B.riet Assßtant E)raminer--+a]ul B'ell, ^. Aftorney, Agent, o¡ lo¡i,'¡¡---Townsend aDd Toù,,nsend ând Crew U.S. PATENT DOCUMENTS 3,921,166 1U1975 volpe. 4,1.03,252 1/ß7a Bobick .................................... 345/774 4,4s5,452 6/79a Schùyler ................................. 345/ú3 ís1l ABSTRACT 4"55O,21 10ll9a5 Mabustlì ...........................--..... 345/173 4,639;72O t/199i R)'rnpalski et al. ..................... 345/774 4,6a6332 a/79n Grea¡iâs 4 et al. ........................ 3451173 Evans ............................-........... 341 133 4,'136,191 4/19æ Marzke er â1. .......................... 345/157 4,914,624 4/1990 Dunthoú ...................-.-.......... 345/173 J33,222 3/l9AA Method aDd apparatùs for delecting an operalive coupling between one or mo¡e flngersorother appropriate objeclsand a touch pad includes processes for detection of ûulliple maxima with i¡termediate minima in appropriate sequences to cmìrlatc the opcrations of cùrso¡ cont¡ol and bùtton actuatioûs iû â poinling and control device. 31 Clains, 17 Drawing Sheels 705\ c-cuN08 P0stn0il tr]*'',f,] T ----ä¡r0 i FE û-1 Fmxl 0-r¡Þäf1 20\ I ar-jTDÐ ots¡L¡r---l @ f¡!¡-ldr-ì I oA r ]I -rorJcJipÀD E_ ---- fi----- l,,,,,,,1H roucrr I ll ;, ll- roiomnr'd rl¡ ,, ]l Rt-----l ' lr,r;r.l :_,-- PRoltúl -arn,On witness Von H ¿¡4ea oarc ê"1' "o. f t' ¿* J. lch¡kiCSR f1660 U.S. Patent Oct. 20, 1998 Sheet 1 of 17 5,825,352 FlG I U.S. Patent Oct. 20, 1998 Sheet 2 of 17 5,925,352 sEr'rs0R Y DIRECTIOI{ x orn¡clloil coHouclons ANALOO üULTIPLEXOR CIRCUIT T0 l¡IEASlJRE C}|A|\¡GIS IN CAPACITANCE ()T SENSOR CONDUCTORS AilALOG-TO- DIGITAL CONVERTER [lICROCONTROLLER INIERFACE IO PC OR OTHER DIVICE FtG. 2. U.S. Patent oct. 2l,tsst shecr 3 or 17 5,825,352 FtG, 3. FIG, 4. U.S. Patent Oct. 20, 1998 Sheet 4 of 1? 5,925,352 U.S. Patent Oct. 20, 1998 Sheet 5 of 17 5,825,352 SET Xslole = Peokl ll.ll+l Xsum XreighlSum = Xsun ' I(ll X = IweightSum * ll * (ll ) XpækZ = X(N-l) Ft6. 6-t. U.S. Patent Oct. 20, 1998 Sheet 6 of 17 5,825,352 OR Ipeok2> Xobsolule' IreighlSum / Xsun Sl fi peokZ-XVolley) > (Xpeok2) /4? ond )(peokl>tlhresh? ond F/G, 6-2. U.S. Patent Oct. 20, 1998 5,,825,352 3 o =g z'-\ 3 (- -'r \J õ- * \:{_ =C t\\ t I I tå \,-.\ \\Ð_ ar AI \l ts\ \--: ñ (¡t ù \ \ \t-- (ì -ÍP U.S. Patent Oct. 20, 1998 Sheet 8 of 17 5,825,352 t*\ 705\ mEnill IBDII{Iil c = clJRsoR F= t3-c TOUCH PAD P0sm0¡l Hl3- lfrE-il-il lTl-Tro-n A o.lrrr r¡ f-lwrnr cor.TAcT roucnsElsol [-j e L] Y PfiOFILE TOUCH PAO ffiEilin f3--Y PROTILE yrD[0 DISPLAY mmol¡-l lrmin tT----] ßmo-il-l l7-T1 F--- l2selætCl ti_-l u___l x li'l nq PROFILE [,t'll l )( Y PROTILE T()UCH PAD L_l Ft6. 78. O lwlrnroucH I llO;8i,,'*+" ' sE[soR U.S. Patent Oct. 20, 1998 Sheet 9 of 17 5,825,352 r30\ tÎ.------1 l2selecll 7401 lilE¡¡-u-l l;Eü-imil-l l[E[-u--l tz-sefãõll ñtuTïdil-l l--1 Y PROFILE I3----1 Y PRONLE tTt Ü T m nn L] x PROFILE IOUCH PAD Pì 9 PBOIILE r50\ lT--1 7551 fff[in mtrl ffimutm¡{ Hg Y PROIIILE f'tno¡l FI qq rìn L_l L] l'trll I TOUCHPAt} )( fI---l Y PROTILE TOUCHPAD I PROI'ILE PROFILI FIG, 7C. U.S. Patent 760\ Oct. 20, 1.998 Sheet 10 of 17 5,925,352 mù-l 7701 lilE¡¡t-] P9ro Y PROFILE n----1 ErwffiEl il I80a ITERÙ-] 9Pl L__l )( PROFILE n 790ra Y PROTILE Y PROTILT nt ßumÍt L9m Y PROFILE n--- FITE E liExr-l qqq Y E FIG. 7D. nr.il PR0¡il. U.S. Patent Oct. 20, 1998 Sheet 11 of 17 5,925,352 800\ |¡BUIIOI{ llI{El\lU e5\ '',lll I l7-l¡llmi-l---.l F nl E rqq L_ Y PROFILE Y PROFILE l0t,cltPA0 rol 9nP) 810\ l¡uT-Tdil Il,EiIU I F¡u-rroqF] lr-__-l nrìn FIG, 78. U.S. Patent s20À\ Oct.20, 1998 Sheet 12 of 17 8208\ E-l r, Y PROTILT lr-Eiu-l ll l fBuTTo-N-l C= CURSOR mnmt 8I'TTO¡I UP P0stTt0il Y PROFILE ", l," ll-l i l l TOUCll PAD I'rl /Ânnsrn il coNTAcT l'-,1 TOUC}IPAD lulttrr louclsEt{son lr-] 8254\ e x PROFILE 15 I Y PROTILE ffi tr-- '/IDTO DISPLAY DISPLAY f¡tl-rru-[ì Burror{ Dorit f¡mo-[] BUIIO!¡ DOII ltl [r 9e lt,irll 9n lrl Y PROFILE TOUCHPAD l,ll U x PROTILE )( PROFILE FIG 7F-/. U.S. Patent 8258\ Oct. 20, 1998 Sheer 13 of L? DISPI.AY '/IDEO ITUTTo=il-l C=ClJRS()R f-FùTmil 8lJTïoil DoUi BUIloil Dolrl'l I P0slTl0¡t Y PROFILE i,;l L_l x PROFILE l-j----l p) il-l T VIDEO li'i 9e 830\ tr-l Y PROFILE 825C\ lBmñfl] BUNOil ftumil F-= l3 -Y PROIILE lilEfiu--f,| il rol n I L] Y PROTILE TOUCllPAD ooB.,Tïor¡,,P ,,,J,,[-----_l 7F-2. U.S. Patent Oct.20, 1998 Sheet 14 of 17 5,825,352 Xfinger= 2 OR Xfinger " I At{0 Xmolion. Io bsolute - XobsolulePrevious Ymolion' Yobsolule -Yobsolule Prev ious U.S. Patent Oct. 20, 1998 Sheet 15 of 17 5,925,352 ANt) Finger= 2 BullonPrevious= Down AilD lFinger = 0 0R (Finger = I Reporl Bulton= Sel BultonPrevious= Up Up Previous= Fingei AI¡D Report )(motion Report Ymotion Set XcbsolulePrevious' Xobsolule, Set YobsoluleP reviou s = Yobsolule, Set finqer Previous' Fing er U.S. Patent Oct. 20, 1998 Sheet 16 of 17 5,825,352 205 a0 2t5 XreighlSum = XweightSurn +il*X(l{ FIG U.S. Patent Oct. 20, 1998 Sheet 17 of 17 5,925,352 Set Xobsolule' )(weighl$um / Xsum fipeok2-XVolley)> (Xpeok2)/4? ond Xpeokl> Flhresh? ond F/G. 9-2. 5,825,352 MULIIPI,E FINGERS CONTACT SENSING METHOD FOR EMUIATING MOUSE BUTTONS AND MOUSD OPERAIIONS TOUCH SENSOR PAD RELAr'ËD Tbis requires an up-down-up-down frger molion to do the same tbing as simply the "down-up" motion of tbe mouse bulton. Io general, any touchPad eqùivalent 10 â mouse bùllor¡-clicking function requires an extra "up ùp" the ûlcer mùst be lirred olr the ONA Apprf,cArroN INVENTION t äiiåiL]t"",å:t;:;b;cÂåse T1¡¡ lime,aod stress âssociâted with the extrâ molìôn is This âpplication is a continualion ofU.S. pâlent . tion Ser-ño. 0g/5g2,7óg, frled Jan. 4, 1996, abandoà'ed. sigoificant Hum-an faclo¡s studies have shown tbat such toucbpads yield lower produclivily lhan a mouse in many 10 applications. This somewhât limits toùchpads ro those FIELD OF THE applica- devices, and more particìrlâ¡ly relates to louchpad devics There is therelore a Ded lor a iouchpad capabte of yielding which detect åt leåst the presence of one or more ùe same p¡ocjucfivity âs â moùse. such ¿s fingers to effectuale preslecled control ñrnct¡ons. t5 rh presnr invention relales seneraily ro roucbpåd ffj*ill",i";"]",";ir3ì,%i:"lJ:r::iåitåTf;;.*:::.H;:"1 objects BACKGROUN'D OF THE INVENTTON ro,rch sensins.revices are welì koown, and råke a SUMMARY OF TIIE INVENTION nümber of dife¡ent forms- Perhâps fhe best ktrowo are resislivememb¡ane position sensors, whicb have bee¡ used ."J1.fïîilï1i:ï.:1"#1i:i-ïfl,îi"'tsiTåi3ji" frngers or other ãppropriate objecLs to a iouch sensor.'lÏe devices have been used as keyboards, position iûdicatoß, embodimcnt involves ihe ofã'capacitiie touch sensing ånd so forth. olùer types of touch sensiúg devices 'se device sirúilâr to thal described in ú.S. patent applicatioi resistive tablets, surface acouslic wave devices, loucb stn_ ser. No_ 0g,47g,290, entifled Touch Sensing Method ancl strai¡ gages or pressure s0sors, aúd opticâl 2r A-ppa¡atus, fiIed Jun. Z, 1995, and åssigned fo rhe âssignee u "" pr"i"ot inrention'may be impiemented based on any con" -in numbe¡ of differenl aPplications for mâny years. Such vcntional touch sensing technology, altlough an exemplary :ï:*ï, - i¡clude .. capacitance to virtuâl groünd- Other capacitive techniques ereDce. are âlso known some touch sensitive devi-ces are k¡own operation of the present itrveDtioD iDclùdes two aspecls: ìrse interpolation lor more p¡ecisely ídentifyiúg the deteätioo of multipli objects, typically flngers, and assign_ of a ûnger or 4¡ ment of various tuìctioni to particulai actiãns by the moveTypicâl of eacb of these prior art devices is th¿l each ment of one or both frrgers. The detection funótion can be them senses aDy contact ås thal of only oûe flnger at a general, but in a simple, exemplary implementation can be Cìrrsor movment is straigbtforward with one fingr, timited to a two-fingãr fu¡ction such as the combination of lappi¡g of â finger oD the surface of the pad. câ û be de Lected the index û nge r a nd middle frnger. In general, these are Lhe and actd upon in a manner simiÌar to detecti¡g lhe actua¡ion 45 two most rleitrous fingens, and rhey wãrk well together. As of a bul1on on a ûouse. Single aDd double taps can be a result, for tbis exemllary embodiment, tàe toucúpad need as simple equivalenls of single ard double mouse only distinguish betw¿en the two fingels in one dimeosion With a single-frnger touchpad, the click ând drag function since the hvo frngeß are typicalÌy side by side. In addition, is morc diffcult- With s[gle flnge¡ doteclion, drågging the toùchpad Deed o¡Iy detect thc sccond flngcr in rcasonbeen implementcd with scbemes such as ùptap (finger lifted 50 âbly closc proximity to th flrsr fi¡ger. In most siruations, thc aDd piâced dowrì agai¡ quickly), 1ap-and-a-half, ¡nd distânce betweeD frnger centers will be less than flve ccnlidtag (drag lock tùms oû âutomatically alter the finger meters. Additionâl coúbinations of fi¡gers, such as three placed in one loca¿iot without rnovfug for more lhan ûnge¡s tapping simullaneously or other combinations, may certâin tiûe, such as on scond). All of these methods also be implemented in accordance with the methodology of more time a¡d/or more frnger mo¿ions tlan takes 1() 55 the prôsent invention. perform tbe eqùivalent funclion witb a mouse, and rre Fot clarity oI cxplanation, the present invenlion can be intuitiv to ùsers fâmiliâr with eleclronic mice. Prio¡ desc¡il¡ed in .ort ãf ifs applications by establishing one louch pads are tbìrs less åttraclive for geDeral use thaD frnger as controlli¡g movemeit of the curm¡ ancl the sãcond frDger as controlling functions equivâlent to a morìse button Another cornmonly used fuDction in the prior art is thaL of 60 or switch. In this coDtexr, one Ênger may be considered the clicking a box (or icon or displayed "button") or series "point' fnger, while the other is the "clicll' ñnger. Varioùs boxes (sucb as "connecting the dots"). Wilh a mouse, convcnfional firnctions may then be defined accordingly. For cursor is úoved into position by moving the mouse, then exâmple, "drag" may be efiected by movi¡g tbe two frngers click ocqìrs with a dowD-up molion of the fi¡ger to actuate in unison, "point and click' may be efected by moviDg the a bulto¡ or switch. Wilh a touchpad typical of the prior art, 65 cursor w.ilh the first Ânger aDd tapping with the second the cursor is moved into posilion with the fnger, lhen flnger, "poinl and double cliclC'may be efected by moving click occurswith a tap of the frnger which moved the the cu¡sor with the lìrst frnger and doubÌe tappi¡g wltb the some invention are described ge¡erally below, ând ìn dctail he¡ej0 inåfler.,A1tematively, the present invention may be ùse¿l with -' the method a¡d apparatùs described in the U.S. patent uûde¡ ând around the location of the finger. Typical of application Ser. No.08/582,769, entitled Touch Pad Sensing capacitive ¿oùch sensing devices are touch sc¡eens and Method aDd Apparatus, having as invntors Bemi Joss, cápacitive pads which employ a matrix of row and column Bemald Kasser and StephD Bissel, frled on Jan. 4, 1996, electrodes ând detect, for example, either tbe lråDscapåci- ì{ aDd âssigned to the âssignee of the present inven¿ioD, the latrce between row and column electrodes or tbe effeclive "- relevaDl portions of wbi¿h are ircorporated herein by refsensitrg, in which the locåtion of a ñnger (or in instaûces aúother object such âs a stylus) over â sensing device is determiDed by virtÌre of va¡iâlions iD capacilance yer aDolher roucb sensirs rech'orosy is capacilive :j"'f""0'0":"lJ ån"lÏl^i:ä"ff lJTåiìi.Ï;¡'åîi:åi: stylus lo localion of tiûe. aDd used clicks. hâs sticky is a lâke not an a il mouse. of tbe the lhe cursor. 34 second flnger, aDd so on. "Click and Drag" may be s,825,352 apparenl tbat å"oy ot tbå." operalions will be inluitive _soon e'xperienced -oué ua"r", as as the correspondence Also included within tbe present i¡ventio¡ is the detection beiwee¡ mouse functioús ;rid the two fr¡gers is de¡;onslated aDd location of more tha¡ two finge¡s, wilh accompanying 10 the user, aDd tbùs their implementation iD a touchpâd funcfional definilions permittiDg such multiple coDtacts to 15 indicate pointi¡g device or olher coûlrol operations, such as coûtext makes theû ôspeciâlly musicâl kyboârds addition to the foregoing functions, u,hich can In performed (albeit awkwardly ând less iûhrilively) with It is therefore one object of thc prcsent invention to veûtiot¿I toùch pâds, there are addilioDal functioDs that provide a touchpåd system capable of detecti¡g â plùrality of be performed with two fingers and which can have substan- co¡tâcls sucb as fingers. tial analogs to the Ì¡se of a moùse Ir is a turther objecr of the preseDr inveorion ro provide a - ,- -,-;'._:9:,!:y:1q cooveolionäl mouse lìrDclioDs. For exam¡le. delectioD t"puole or locârrrlg â plu¡t¡rly ol cotrlads ìocaLion of two ftogers will permit the touchpad ro reporl l]:of-"o"-ot]]:t su:b.as a bost sysrem rbe dist¿oce bètweeo tbe rwo 6'ogers. TËis ll is a Tg:rs' object of the present iDvention to provide a fuÍher be used, for example, in paiût ot otber prog;ms to method for detecting the presence ofmore lhan one flnger on ûine line widlh or óther'spacing functioní or aoy olber 25 â louch pad device. ''variable value'functioo. SimiJarly. tappirg wilb bolb gers at Lhe same tiûe ûây be deñred as âtr It is â still further object of the p¡eseút inventioD to shorthand method for a doÌrbl tap (such ås may be deñûed provide a method for localitrg each of â plurality of ñngers for the middle bulton in ¿ I-ogitech mouse) or may on a touch pad device. defined as a special firnction, simiÌar to the "right button" It isyet another object of lhe presert invetrtion to provide functions of a mouse. Such special ñmclions may a methãd for effecting the ,,po;t aûd click, functiôn on a particìrlâr valùe iú operating systeús $rcb as Wiûdov.,s ouchpad rhrough the use ofmultiple flngers. vr'here, for xample, implementatioD of tbe yet a furtheribject of the present iDveDtioD is to provide functioD is an important special fuDctioD. Such fuoction-sc¿n a method for effe¿dng the ,,¿lick and drag,, functión on a be implementd reådily wilb â friple lìnge¡ tap, a double tap ls roucbpad tbrougb theìxe of multiple fingJrs, ol nvo 6ngers. or other convenient coobLnatron. of the present invention is 10 provide j-:lt^t A¡olher tunction v¡hich may rr" i-pr"-"oi"ã *itr, "Í1"-t*1!-t " ,,dfag rocr<. r:nis n¡ser delection is formed simply by moving the cußo¡ to the appropriate posifion with the firs1 frnger, placing botb nr$ and se.oúd flnge¡s oû the påd, ând moving bolh flngers logetber. The function may be concluded by simply raising one or bolh s frngers. Similarl¡ coDnecling the dots may be.performed lmply byEoviûg the cu¡sor from dot to dol witb t¡ ûrst fltger, and then clicking on the dot by tåpping .with lhe scond fiDger Ir will be appare¡r ro rhose skilt"d ]".+,,..":l thâl lhese funclions may be deÊned differentlv a¡d still lall l0 within the scnpe of thå present iovenrion. Ií wil¡ ålso bc per- Most prior â¡t torìchpâd devices operate, like mice, in relalive modeby indicatiDg the distaDc travelled relåtive to the stârting point of tbe molion. Touchpâds, on the other hand, can also be operâted in absolutJ mode, where the âbsolute posirion of fhe finge¡ oü the pad is áeæcted and reporred rio rhe host system o; application.In absolute mode, multi-frnger detection allows thi frrst frnger to point to thé position, wbile fhe seco;d fingir performs à""i.J ;;;;; ;"'u*t'tr" ' --'- ;;kk',';p*arion is desired withouirequiring a "-I-'" rcmovål ol lnc nrsl nngcr whrcn mrgnl lcsscn accÙracy or t"t:lult:n ,o desirâble. be concan 20 or:Y.i and to can aleter6nalternate, be 30 have 95 objecl.viewer r*o nìct-ioïö;ÉF lffi;i::::""::ï:i:l wbeo a drag tunctior is uoderwåy, bur âr leasr ooe of lhe fingers reacbes tbe edge of the pad before ¡he drag function - isãmplete.Touchpad-operationmaybecontr"ll;ã;;"i;-'" tain rhã drag oodeìf, foi exarnpte, ti*r nngæis "i" rhe pad wiihio a tbreshold p"åoá or oo" ioot¡"i tbeo placed down on the p;d agåjn within a suilable r1i:J."#åî.#:)sl"*: åi":i ;ìi;; fir;;ñrr.--: . _--:--_: . ,, Yel aûolbe. objecl of the plesent invnfioû is to provide a ror erecling on å touchpad, throush -':'!:9 of multiple flnger contacts, a plu¡ality of enhânced the use 1""9 1fl1:1* rnvenlron' resulting imagá, or "ink," is defued uy tte moiio¡ ol tbe Ê rsL 5s FIG 3 shows a finger profìle for two non-ovcrlap?ing flnger dìrringlthe period when the sácond ûnger is also ûngers as sensed by the Ptesenl irìvention. coãtact witli thc pâd; gaps in thc ..i'k,, occ"ur when FlG.4 shows â flnger profile for lwo closely-spaced secood tinger is lified awat ftom tbepad. The funqion û Dgers a s se Dsed by the present invention in some ways, be thoìrghf of ¿s eleclronic finge¡ pain I i¡g, bu FIC. 5 shows in flow diagram form the sleps lor a high bas the ¿dditional advanlage ofallowing mulliple chârâcters level algorithû tb¡ a pointing device according to the lo be wrilten on a touch pad. Thus, E'ith the ì$e of present invention. fngers, hand printing oI lext with gaps btween the and words becomes feasible and convenient, whereås iL FIG. 6 shows in flow diagram form the sfeps foa comimpractical with the prior art "Îap and a halP' mcthod puling motion and "bulton" states. turning oo the FIGS. 7A-7F2 sho\r in diâgrâmúalic form an exemplary Yet ânoLher funclion which may be implemented with sequence of ûnger conlacts aûd moveûenls across a touch present invention is use of the toìrchpåd in âbsolùle seDsor. uJ*" time hr¡clrons perioã. In some impÌemintations, highly exle0ded ti|¡e 4j YeL a fùlhcr object of the present inwention is to provide a method and apPa¡atus for clcctronic nngcr laintjDg. periods may be suintle in tìis contexi A furthe¡ fùncfion whicb ûay be readily implemente¿ Thcse and olbcr objecls of th i¡vetrtioD may be befter $¿ith the pre sent inveûtion is the ibitity to opÉ¡aþ ìn relariv. appreciated from the following detailed descrÞtìoû of the invenliorì, tâken together wifh the appended frgures. mode, wiere a first finger pe¡fo¡ms ; key fu¡cljon, and â second frnger controls some attribute of the operation per- so lllE FICURES formed by the frrst fi¡ger' For example a 6rsl 6oger coofrc. lshowsa Dersoeclive view or a devic accordinp ro _ . -f låcting â touch fad mây câxsc ã cursor to move across a .__ fbe Fresenl rnventlon' screeri, while contact (and removal) of a seconcl ñnger wjtb FIG 2 sbows ìn block diagrâm form lhe electronics oflhe the scieen may turn ìn image, o¡ "iûlc' oo lana o"ft). Tbe presenl in tbe may, I 6¡ two letters js of ó5 the mode. r,r,.¿lr ink. s,825,352 5 FIG. E shows â more generalized case of FlG. 5 FIG. 9 sbows a morc generalized case oI FIG. 6 6 câpacilaûce when ûo fiDger is present. This "no-flngel' capacitance is measured aDd slored at a time previous to Lhe beginning of the cycle described hereir, and is described mo¡e fùlly i¡ U,S. patent application Ser. No. 08/478,290, ûled 7 Ju¡. 1995 and commonly assigned. DETAILED DESCRIPTION OF THE INVENTION Referring first to FIc. 1, a plùrality of a user,s frDgers and l0B ire shown positåned o;er sufrcieDtly close p.o*i-ity to be operâtively connecled thereto. Movemeni of a singte flngcì over tÁe touchpad _l0 causes the cùrsor to move iD a now-conventional mân;er. However, unlike prior arl devices, various contol functioûs may be performeà by the use of tle second 6nger, typically iû combiûation willt the sam or â related opeiadofof the 5 10A j¡ It bas âlso been found by aPplicaDt that it is Dot necessary, aII eobodioenß, to subtract the "no-frngel' capacitance a tJuchpaã 20 in if techniqùes other than calculation of a centroid are used to locåte lbe positioú oftbe 6ngers, aúd sì.rch subtraction is not required even i¡ all i¡stances in which a centroid is câlculâted. However, in at least soûe eûbodimerìfs the se¡sitivity and benc.lhe resolution of the calculâted Ânger location is eoiaDced by such subtraclion' Referri¡g agaj¡ to the exemplary embodiment, the values first fi¡ger. Operalions involving more thaD two fiogers may .. also be performed. [n an exemplary embodiment, the louch- '' ofûoger-induced capacitanc aa then processed to calculate pad of the p¡esent invention leporß to a host either the a position, detect whether one or more fngers is in operâfive contâcf wilh fhe pad surlace, and 10 detect aDy chaDges in tbe relative molion ofa finger across the toùchpad or changes in "bultoD-' status. nurnber of 6ngers operatively coupled to the pad. If the cycle more maxima will be detecLed with an appropri¿te Dumber of intermediate minimâ Althoùgh the î¡ger profrle shown in FIc. 3 suggests that the intermediate minimâ sepârati¡g the two frngers js a zerc valùe, it is not necessary irÌ âll iûstances that the minima be commonly assigned with the present invention and zero. Thus, for example, FlG. 4 reflecls â frnger p¡onle with porated herein by reference a nonzro local miûima 100 intermediate the lwo maxima 105 and 110 indicalive of two flngers operatively coùpled to The outpìrt of úe capacitance measuri¡g circuit is provided to an analog Lo digital converter 80, which operates a5 the loÌchpad. This fr¡ger plofrle simply reflecls two frngers placd closely to one another, but stiìl yields a valley for as described in eilber of the âbove-referenced patent measurcmeDt of the minima. cations 1o convert the capacrtanc valùes fÌom the circùit iblo â digitâl represntation.'lÌÌe analog to digilal To operâte efeclivelf the pres¡t inveDtioD mùst delect 80 thcn supplics the signals to ihe microcontrolle¡ 60, ând distingùish the presnce of a single flnger, ând thc operales to form, âmong othcr thiÍgs, â finger profile for one 50 presence ofmùlliplc fingcrs.As noted previously, the second o¡ mo¡e flngers, X-Y cìrrsor dala, and conlrol sigDa¡s. or additional fuÌge¡s are typically involved to provide "butDependiDg on the operation being performed at the ton" or coDûol functions, similar Lo aclùaLior of the bûttons lar time, the outpul of microcont¡oller 60 is then sùpplied or swilches on â moùse. Allhoùgh the following example ân inLerface to a PC or olher device, sllch as a PS/2 interface, describes iD detail the llse of oDly rwo Ênge¡s, one for cursor an RS-232 inte¡face, or ân Apple Desktop Bûs 55 cont¡ol and å second as a bùtton, the teachi¡gs herein are believed $fficienl ro permit thos skilled in the art to A key feature of the presenf invention is its abilily distinguish thc presDce of multiple âûgers either toìrching construct âpparala using multiple Angers Ior addidonâl buaaons or in operative proximity to the toùchpad 30. In a 'lb avoid artifacts, a threshold may be åpplied to tbe bolb eûrbodiment, the operation of the ctcuit of FlG. 2 coDtinuously. As noled above, the cycle begins by scanning 60 the mâximuú and minimum distaDce belween the måximâ lhe trâces and meâsuring the câpacitaDce on each trace. lepresentalive of mùltiple ûngers. For example, a threshold the portio¡ oT each mcasìrrcd câpacitance that is induced requiring thc maxiûâ to be .wilbin five centimeters of one the presence of a flnger is exlracted, aDd this finger-indìrced anothermay beùsed 10 limit the maximum distance behveeû capacilance is slored in RAM, as X(1) through X(Xcon) the Êogers; other thresholds may be appropriate in some Y(1) through Y(Ycon), as described below. Tbe frnger- ós emlrodimenls. A threshold representative of the mi¡imum inducd pofion of lhe measìrd capacifaDce is determined distance mây be corìfigured by establishiDg a maximum by subtracting a value, eåch trâce, represeDtiDg value of the local minimå 100. Referring nexl to FIC.2, the operâtion of rhe rouchpad 20 may be better appreciated. In pãrúcular, FtG. 2 shåws ¡o ",, block aiagram foru ttre electronics implemented to fofm exemplar! touchpad 20. A touchpad matrix 30 is mmposed of a plrlriliry of iows 35 and columns ,10 of wir., o, affanged in â convenfional manneÌ; se U.S. patenl app[-calioD Ser No. 08/321 ,98'7, 6led J2 OcL 1994, cnlitled Toucb Pad Senso¡ with Simullaneous Sensing, assigned with fhe present applicatior. The ¡ows and coluûlns ate connected to an analog mÌrltiplexor 45 through â râlity ofX (row) direction conductors 50 and apluralityof ìô "Y (column) direction conductors 55, oDe conductor for eacb row and eachcolùmo. Under the control of a úicroconlroller 60, the analog multiplexor 45 selects which trâces of matrix 30 will be sampled, and the outpùt of those frâces then provided to a capâcitance mea$rring circuit 70. ODe ¡< suitable capacitance meâsurirg circuit is described io afore- " ârì is repealed råPidly eDough to update a graphical user inte¡face approximately 30 liû¡es per second or more, the appearaDce of smooth and instantåneoìls lesponse is provided to lte user' For fuDctions other than pointing, such âs handwriling with the finger, a faste¡ scân rate måy be reqùùed ârd m¡y, for example, be on the o¡der of 200 scaÍs Per i.u.., ,. secono commonly Refening next to FIG.3, a flnger profile is shown indica?lù- the is '' tive of the presence of two f¡gers, spaced apa¡t from oûe anolher. ID paliculâr, the circìriÎry software or ûarnware of the louchpad cûcuitry, such as that showD in FIG. 2, detects a ûrsl maxima 85 indicative of a flrst flnge¡ in opeÍative proximity to the toùchpad 30, followed by a minima 90 indicative of a spâce between the fingers, atrd further followed by aDother maxima 95 indicative of â second ûnger operåtively coupled to the touchpad 30. It will be apprcialed 1bâ1. for oper.rtions involving more than two fingeß, mentjoned U.S. patent application Ser No. 08ß21,987, commo¡ly åssigncd u¡ith the prcsent invention a¡d inco¡porated herein by Ìeference; atother is described i¡ U.S. patent application Ser No. 08/478,290, flled 7 Jun. 1995, * eDtitled Touch Sensing Method ând Apparatus aDd also incorthen appli70 converter which particùto (ADB). 10 lypicâl cycles fhen by and the fû 5.825.352 7 In an exemplary embodimenl, lhe operÂtior of the system of FIG. 2 is controlled in either frrmwa¡e, softwa¡c or hardware. Showri in FIG. 5 is a flow diagrâm showing the general operåtion of such software or ûImware which is capable of detecling mulliple flngers, aûd which ùses the algorithm of FIG. 6, discussed hereinafter. The varial¡les foìrnd iû the flow diagram of FIc. 5 å¡e defrned belov¡: 8 as checked at step 490, the state of Ybutton is Ìrp and YbutfonPrevious is Dowo, theD the variâble Butlon is sel to Up at step 495. the button v,¡as st to DowD at state 465, o¡ Up at step if the results at steps 480 and 490 âre NO, the process advânces to step 510. At step 510, Xmotioû is set to the sum of Xâbsolute less XabsolutePrevious, âûd at step 520, Yr¡ofio¡ is set to the sum ofYabsolüte less YabsolutePrevious. Then, at step 530, 10 the state of Button is checked ând, if it is changed by being Finger posilioD i¡ X di¡æti@, cal@lôtcd dù¡irg tle either Up or Dowo, bolÌì Xmotior ând Ymolion â¡e sl to o enl cycle relãtive lo Lhe s¡sor pad, zero at step 535, indicâting that the ùsr bas acluated a Tae value ãbove rored fron tle p¡evioE cycle. bulloD and no cußor movement shoùld occr¡¿ sinilat Lo xabsohtePrevioùs. lD additioD, if Button equals Up or Down, the slâte of Has value Up or Dow¡ (reeardles of previoûs 15 Bulton is reported at step 540. At step 550, Xmotior¡ ånd Yúotion are coûpared 10 zero, and if either È not ze.o theD XbuttonP¡eviou Tle vâlue above srored fJor L¡e pÉvious cycle. bolh Xmotion aDd Ymolion are reported to the microconYbùtto¡ SiDilar lo Xbu on, YbùLto¡PFvroùs SimilùtoXbuttoo?revious. troller will be âpparent thal this iDdicates a cursor Xmôtio¡ ChEor motion i¡ the X direcLio4 ¡elaüve Lo lhe movemeút, lypically reflective of the movement of a siûgle cùßo¡ poeitio¡ of Lhe previous cycle (o y reportod 20 frnger over lhe touchpâd, or lwo frngers in some modes such ileilher o' boú Xmotion and Yñorion arc as Click-and-Drag. rc¡-ærc). Ynotion Similar to Xmotio¡. Fur¿her, ât step 560, whether there is motion reported or Eurtor M¿y be Up ôr DoM (o y ¡epored ifa chaoge not, the variable XabsolùtePrevious is set to the valùe of froú tle previoB cycle). Xabsolute, a¡d at step 570 thc variablc YabsolutcPrevious is 2s set to the value ofY¿bsolute. Similârly, af step 580 tbe valùe It will be unde¡slood by those skilled in the ârt thât a of XbuttonPrevious is set to Xbufton, and at sþp 590 the meâns frânsmittitg infonnâtion to an application process valùe of YabsolÌrtePrevious is st to Y¿bsolùte. The cycle executing on â host, $rch thal the cursor is a0oved or thenrepeårsby returning to step 400.Itv¡illbe apparetrt that furÌction is performed. ln some instancs, driver software rhe forågoing algorithÍican bê readily extendeåio include executing on the host may ascertain tle existe¡ce of flnger ¡o a¿¿itionãl ûígeri beyond bvo, representâtive of âddilional movement, while in other iûstances inclùding the exemplary buttons. ln suãh an insrance, compare steps for current ând embodiment described herein the determj¡åtioo of previot¡s st¿tes of each buttoD would bè conducted, aod :'up,,' or ,,down,' conditioûs would be repo¡ted for each such movemen! occu¡s i¡ the frrm\¡¡aro in tho pointing Refeûing slill to FIG. 5,lhe cyclical process begins at bu¡on. ln some embo¿imens ir may be àesireal to report..no 400, aûd conLinues ât step 410 by scanning the cooductor 35 change" conditions, and the foregãing algorithm;uld be sensors. Tbe sensors may be scânned sequentially ,"udíy mo¿lifred to provide su"n ì"polrti"!. concurrently, depending on the ha¡dware impleme¡tatio¡. Deiending on the desired conÊguration, second and thìrd The scan p¡ocess measures the vaÌues of finger-i¡duced burtons may-be implemented, forãxample, either by requircapacitance for cach ofthe coúductors, aûd stors tbe ing a cnmbination'of two or more finge;s to indicaie operaRAM ât step 420. The cycle process coDtinues by a0 rio"¡ ofa second button, o¡by the inde:pendent moveme;t of Ierlorming the Xcompute loop of FlC. 6 discüssed addirional flngers or otúer objecrs.ln this latter eúbodiúenl, hereinafter, and also t}ìe Ycompùte loop å¡alogous^lo may be de;irâble to impl;meDt distaDce thresholding, to 6, âl step 430 ând 440, respeclively. ID ge¡erål, tbe ensur; that movemeDt ofa second or additional button füger of the Xcompute ând Ycompùte processes is simply is not rnis{âken for movement of ihe flrst or other bùtton evãluålc thc currc0t measurcments by calculatiDg lhe cen- 45 finper. tIoid of the finge¡ measurement, and by derecring whether ðet forth in FIC. 6 is a florv diagram setting forth the steps scond flnger is toùching fhe pâd which determines for compù1iog motion and ,,butlo;,, states iri lhe X direction, bùtton or vrhat úay be rcferred to âs "Xcompule.:'A¡ aDalogou; In the excmplary embodiment, only â chånge in calculation is performed fo¡ the y direciion, or whl maly be stale is reporled. As a result, at step 450 the vâlìre of Brtton 50 referred to as.iycompute,,, fhe algoritbm Ìrses the foÍoúng is set to No Char¡ge. In äddilion, in Lhe exemplary embodi- variables and constaDls: ment a lap or double click by only a frrst fuger is Dot acted upon, althougl â tap by a seco¡d firìger or by rDùltÞle fl¡gers is acted ùpon. In the exmplary ana¡gement, â "bulton down" condition is only reported if botb fDgers ar xoo \,åluos, stored i¡ reúory, of Ângrindùced po ion of in operålive conlact wit¡ t¡e Õpacitâr@ reâsured o¡ eãcb condùcLor Naanes fronr The process continus by compariDg the current aDd I to Xcon. [wben ¡o nûger is co¡tacting tle pad abov previous butto¡ stâtes of fhe X and Y conductors. First, at a condùcror, rh valùe is app¡oxinately zero. In addilio¡, x(0) is i¡iriaìøed to ã wal@ ol0.1 step 460, the slate ofxbùtton is checked to see il it is Down \ålue ol ñ¡geFinduccd seßor conducro¡ ccpacilan.e x(N t) and the state of XbuttonPrevious is checked to sce ifit is Up. eo for the p¡eYiou corductor. Ifboth compares are lrue, lben the våriâble Bùtlon is set 10 The ¡ùmber olse¡so¡ co¡drctoE in lhe X dhecLion. f)owD at step 465. In addition, âl stcp 470, thc statc of The ûiniúùn ttreshold tlat X must ¡cacl lefore a ¡er is @nsidered l,r be prese¡t- lseLs t¡e torcl] sensirivity ot Ybu on is checked to see if it is DowD and the slate of Lhc pad.l YbutlonPrevious is checked to see it is Up. both Xpák1 ri¡ble to sto¡e Lhe valûe of the Â6t !ak X vaiùe. compâres are 1rue, the variable Button ß also set to Dow¡, 65 Xvâllev vå¡iabìe to sLore Lhe v¿lûe ol a loc¿l nririmùD (il ûny) Altematively, as determioed at slep 480, if tbe state of Xbrìtron is Up â¡d the slat ol XbulloDPrevious is Dowr, or, s If 495, or It "leport" a 6oger devicc. step o. i¡ valües FIC. furction lo a the state thetulton tóuc¡pa¿. " if If 5,825,352 9 10 235 aûd a repeat wilh aD increúentally higher N. If a second fitge¡ is louching lbe pad then eventually the value of X(N-l) will be geâ10¡ than o¡ e$ral to the value of X(l'O, Xpø12 X5uú \åriable to stôÉ ihe vålue of lhe secord peaÌ X valùe (il aiy). !åriablc to a@nulatc tìe sun of tle X values, Io¡ æntroid lælaLio¡. Lo acomùlaLe lle sùm oI tt X values, weìghLed by N (Lle tôsitio! of the co¡ducùôr), for cetrtrôid elculâLior. 5 Xweightsùm ¡/¿.iable such that fhe valley is defected-At this point, âI slep 262, the value ofxvalley is set to X(N-l) and Xslale is st to Peåk2. The process then jumps to step 235, where it repeals from step 215 ùrìless the last conductor iD lbe matrix has been XrLâte ^ Tail, øriible wlich cân have valùes Pea!], l,ãlley, Peal2 or âre lhe th¿ exeñplary Lô itrdicâre whic! pârL of the ûnger proñle ru¡ently ssrching 6or Tle T¿il st¡le is sinply E Éñainder of Lhe scar ¿fter a seco¡d peak (ir eúbodiûenÐ has beer ide¡dned. evalualed. On the nerl cycle, a NO resulf is reached at both step 225 10 and step 450, câusing a jump to step 270. At slep 210 Íhe state of Xstâ¡e is compared to Peak2, ând a YES result v,/ill occur. This results in â compare between X(¡Ð ard X(N-l) at step 275, to look for a secoûd peak, in a manner $¡bstar- 235' and then lo slep 215 uDtil the cbange masured at fhe last co¡duclor has been evaluated' As before, lhe value of X(Ð will eveDtùally start to várial¡les initiatized a¡e N, which iiset to zero, aod fue *,alue 20 decreåse. sucb that X(Ð will be less than X(N-1). A1 this of X(0), which is âlso set to zero. In âdditior, Xpeâk1, point, ât step 278,1he vâlue of Xpeak2 is set to the valùe of Xvâlley, Xpeal¿, Xsìrm and Xweighßum, a¡e all set to zero. X(1.¡-1) aDd the state of Xslale is set to Tail. Tl¡e "tâil" is the remaining portion of FIG. 4 following ttìe second peak. In additioD, the stale of Xstate is set to Peakl. At slep 210 a loop, referred to ås "Xloop" sfafls. The Vy'hile a Tail state is used in the exemplary embodime¡t, pùlpose of Xloop is to câlclrlâfe the X centroid, by âccÌr- 25 such a state may nol be Decessary in all embodiments. mulating the sum and 'reigbted sum of the X values fo¡ all The process then cycles through uDtil the last condìrctor tbe X conductors from one to Xcon. Thus,lhe loop typically meåsìr¡ement has becn considered, at which poirt N does starls with lhe value of N=0 aDd incremenls by one at the eqìral Xcon when lhe check ål sfep 235 is made. Witb aYES beginning of each cycle until the value of N=Xcon. Ïhe ¡esùlt, the p¡ocess b¡arches to a lhresholding comp&ison at steps of the loop i¡clude step 215, wbere N is iDcremeDted 30 step 290. 10 N+1 ând the value X(Ð of the cìrl¡enl conductor is added In an exemplary embodiment, the Xcompute procss lhen 10 the prior ¿ccumulated valùe, Xsrm, which then becomes continues by câldrlating the centroid for the frngers the new value of Xsum. Tbe loop theD continues at step 220, detcctcd, so long a,s thc ûåximâ cxceed a tbreshold value. In where the prior value of Xweightsûm is added to a weightd accordaDce with the present invenlìoû, two approâches rnây vâlue of X(ìÐ, where the weighting is done by multiplying 35 be used ir calculatiDg ceotroid values. In a frrst X(10 by the ¡mber N of the conducto¡ being sampled, The iûplementation, only a sirÌgle centroid value is calculated sum of XweightsÌm and N*X(N) then becomes tbe Der¡/ for the combin¿tion of one or more flngers. ln this value of Xweightsum. arrangemenl, it will be appârent thåt, when â second finger Thc XI-oop continues at step 225, whcrc onc of â series contacts the toùchpad, the centroid 'lumps" lâterally of subloops is selected depending o¡ the valùe of Xstale. 40 approximately to the midpoiDt ofthe two flngers,In a seco¡d Since Xstate is initiâlly set 1o Peak1, tho fl¡st sìrbloop iû¡plementation, ê ceûtroid value may be câlculated for each eDtred is the Peâk1 $rbloop, begi¡¡i¡g al step 230. At step mâximâ, yieldiûg multiple ce¡lroid values when multiple 230 the value of X(¡D is compâred to the value of X(N-1) ûngers interåct with the pâd. For puryoses of clarily, the ând, if X(Ð is greater thân o. eqùâl 1o the vâlÌre ofX(N-1), followiûg descrþtion will be limited to the Êrst implementhe R¡sl peâk bas nol yet been reached. As â result, the loop 45 tation. jumps to slep 235, at which points lhe valu of N is Thùs, al step 290 tbe values of Xpeakl and Xpeal2 are coúpâred to the vâlùe of Xcon. If fhe frnger-inducd câpaci- compared to Fthresh, atrd if either or both are greater then lance measurecl at the last coDductor has DotbeeD evaluated, Xâbsolute is set to the value of Xweighlsuûlxsum at slep the resull is a NO aod the process jumps to step 215 to repeat 295, which câuses the X centroid to be calorlated. If neithe¡ with aû incremeûled value of N. 50 peak exceeds Ftìresh, then no finger is deemed ptesent aúd At some våluc oI N Lbe valùe oI X(Ð is less than tbe Xbuttotr is st to Up at slep 315. vâlììe ofX(N-l), af whicb poinl lhe check ât slep 230 yields Ifboth Xpea-kl and Xpeak2 we¡e greale¡ thaD Fthrsh,lhe a NO. At this point, the peâk hås been tbund âDd ãI slep 232 Xcomþùte process conlimres at slep 305 by comparing the thevalue of Xpeakl isset to X(N-1) a¡d the value of Xstâte differeûce betweeû Xpeêkl a¡d Valley to the value of is set to Valley. The syslem ther jumps to step aj5, where a s5 Xpeakl divided, for example, by foÌ¡. If the diffeÌe¡ce is the check is made to see if the last coDductor hasbeen measu¡ed greater of the lwo, then Lhe difference between Xpeak2 and by compåring N to XcoB. ,As before, if the capacitance Valley is compared 10 the value of Xpeak2 divided, for change measrred at the låst condùcLor has not been cbecked, example, by four If thE diffe¡ence is grealer than Lhe the resr t is a NO, and the process loops to step 215 and dividend, the XbutloD is set to Down at step 310. Olherwise, repeats. 60 thevâluô ofxbùllon is set lo Up at step315. The comparison When the p¡ocess begins with t¡e next inc¡ement ofN, å described above is provided lo eDsure that a legitimâte NO wilÌ result at step 225, so that the process q.ill jump to vâllcy ând two lcgitimatc peâks hâve been detected,lo avoid step 250, where a check is mâde to see if Xstate equal artifacß. 11 will be appreciated, given the teachings herein, Xvalley. Since it now does, a YES resulLs and the process that olher coûparison methods or divisors other tlìan foùr branches 10 step 255. At step 255 a X(Ð is compared to 6s may be ùsed tìJr this purpose. X(N-1). IfX(N-1) is not greater than or equat to X(Ð, the The Xcompute loop then ends at step 320. It will b valley has not yet ¡reen foùEd, causing a furtberjump to step app¡eciated by those skilled in the ârt lhal fhe foregoiDg is r;;i;cil; " TÉe aìgorithm for Xcompule starts at step 200, followed by iniriâl;zåton of variabl; ar srep 205. Fo; Xcoû¡pure, rhe "Ycompure" ïàriables and co¡srans ditr"¡ å"niy;; " äiÏ:lÏ.,1ilJffi,r'i åüq,Ë"'.-'.Ë.*¡.ö'r;:iJ. t1ìe process jumps to steP lhe-peak has nol been found, so X by y. - 11 manner. 5,825,352 12 a simplilìed ålgorithm and does not inclÌrde compensåtioD for settling, moislì!¡e and Doise. Noise thresholdiûg may provided in at least some embodimeDts, if noise causes curve to be noD-monotonic; setlling ard noisture may 5 deâIl with in a similar be the be example, relative movemeDt of the first frnger, together \ì¡ith a tap of the scond or more fingeß ä1 soúe point, followed either by removâl of both fi¡gers, fu¡t¡er movement of the flrst flnger, o¡ fürther movement of bolh flngeß Such sequences cân, essntiall¡ be viewed as a series of scans iD The l'compute loop is performed similarl% as noted wbicb one or more ûngers werc found to be eilher preseDt or above. Depenìing on the particular arrangem;nt desired, abseût i¡ ¿ny givet scaD, wilh û¡olion, or lack thereof, oflhe tnge¡ or, nngers across the touch serisor ir¡terspersed and the assãciared hardware, the X and Y coåpute processei mây be performed sequenúaly io vy'hile rhe torcgoing example describes idenrificalion of :i:r-y::l::Ît minima and maxima in rhe x -d y i"1"å'J apparent lhat ao analysis aloog a diagonal or some oùber ,;n.i angùlar directioú may be prefeÍed in soûe josla¡ces, aod is Referrhg ro FI6S- 7A_7R there is shown in diagram15 ma[c fon; an exmplâry sequence involving opeiative still within the scope of the p¡esent inve¡tion. It will bc apprcciâlcd thât the foregoing describes a new coupling of a plurality ;f fingersïth a touch seo-*. io aDd ìrseful method and âpparafus for detecliDg a pluralily of both a -cursoì movément ãnd a cotrhol fuDclioD. "ouo More fiDgers operatively coupled to a toùch pad seDsor for specifrcâllf FlG. ?Ashows a sedes of ûovements ofone or enabìing a variety of moùse-like operatioDs. A second por- more flngers across a louch seDsor, inclùding various finger tion of the inventior iûvolves using the previously detectioû 20 taps. FIGS. 7B-7F show, fo¡ each of the nuûeric ¡efere¡ces methodology to perforrD various crÌsor úovement ard coriû FIC.74, ân exernplary video display, ar exeûplary trol lunclions similår Lo those well known 10 use¡s of positioû of oûe or more Angers on Lhe toùcbpad, andX and electronic mice and t¡ackballs. Y finger profrles appropriate to lhâl flnger contact. It will be As previoùsly noted, the flrst ûnger ís most commonly helpful to de6ne celain conventions used in FIGS. TA 7F associatd, ir the prior ân, with cursor movement, ¡rhile 25 beïore discùssiDg these flgures. In FIG. 7A-74 contact varioùs tappingmolions [e.g., tap ånd tap-â¡d-a ha]f] of¿hat btween a flDger and th touch pad is indicated by a solid flrst finger bave been impleúen¡ed to perform various circle within the flngertip; an abseDce of contact between â conlrol fuDclioDs. Unl <e such prior art, however, va¡ious fingerlip aDd the touch seDsor is iDdicaled by the absence of circle within the frnger tip. A tâp-i,e., an up aúd down movemeûts (including sequences of taps) of additioûâl ûngers or combinations of the first and âdditionâl frûgers aÌe 30 rûolion- +y a finger is indicated by a dashed circle. Moveprovided to enabl such conhol functions in the present ment of the frngers fiom a Ârst to a second poi¡Î while in i¡veDtio¡. DependiDg on the implementation desired, it is contacl with lhe touch sensor is indicated by a solid arrow also possible to implement a superst of the prior aí cont¡ol Movement of the frDgers frcm a first to a scond point r¡¡ith functions together wilb the mo¡e lobùst control function set lhe frngers not in contact is indicâted by a dâshed ålrow. 15 Witb lbese conveûlions io miod, FTCS. 7A-7F ca0 be berler âvailable wilh lhe present invenlio¡. Note that iD the preferred embodiment, the ùser may understood. In pârticular, and $'ilh reference to FlG. ?A in combinaarbitrarily choose which finger he or she ùses as the "Rrsf" or "second" or additional frrìgers. Thus, for example, one lion with FIG.7B, an initial series ofscans 700 indicates lhe user mây choose the inclex Ânger as the frrst frnger and the presence of a single ûnger in contact with the touch scnsor, middle flnger as lhe scond finger, while ånolher usr may 40 ¡Ã.ith the cbanging XJ locatior belweer 700 and 705 prefer tìe reverse or some diferent combination. ID the indicating relativ motioD by the fltrger across the toÌlch reDtly. "itn"i oã", oï -"*i- belweencbanges i t d#"fi"*,'iìïï # t - l1Ì:hpi9: -1".:l*ú" the nuûber offiûgers in contact with the seqì¡eDce can fhen be analvzed to onlv a cufsor movement is involved of ii:'*":.ï,i'j1t":"ï'""åäåiäi:"t"Ï:tr",f"Î prefeffed embodiment, the only distinction betweeD the second arìd additional nngers is fhe seqùeûce in which are plâced in contact wìth the touchpad surface, or removed froû it- In åny cåsc wbcrc â second or additional fingcr or 45 flngers is placed down âfter a fßt 6¡ger, or multiple frng¡s, is aheâdy in coDtact with lhe pad, the newly placed frngers can be in any relalioDsbip to those alreadyiD coDtact wilh Êrst, they At 710, ¿ secoDd frDgr is detected in cotrtact \¡¡ith tbe tcuch seûsor, and conli¡ues to be operarively coupled to the sensor for several more scâns withoul sigDifrcâDt ¡elåtive sensor. motion åc¡oss thc scnsor At 720, thc sccond fllìgcr is removed, wbile the first lìnger remains. From 720 unlil 730 (shown in FIG. 7C) the flrst lìnger continùes ils relative molion, while at 740lhe second Ênger is again placed down. pad, sùch as to úe lefl, to lhe igbf, above o¡below. The The scans of the sensor theD detect bolh the frßt and secoDd reqùìrcmeûl is that, jn the p¡oflle of finger-induced 50 flnge.being moved together acÌoss the seúsor until lhe scån câpacilânces, Lhe proûle ol tbe newly plâced flnger exhibits al 750, lhen both flrìgers are removed al 755. Thereaflet â zero value or a local minimùm on eacb side of ils borh fiúgers are agâin placed on the sensor at 760 (shou,n in value, iD at least oDe of the X or Y directions, so that it FlG. 7D), where they remain for a few mo¡e sca¡s until770, be distin$rished f¡om the olher IìDger(s) in conlact with al which lrme lhey are both removed. Three fngers år 55 placed on the seûso¡ at 780, and lemoved a few scaús later Ir paliculår, the âbilily o[ the previoùsly desc'ribed at 790. Thereaftsr, lhrce frDgers ¿re placd otr the setrsor al 800 (FIG. 7E), moved âcross the loùcb sensor for å few odology to ¡ecognize mulliple lìngers âllows fhe fìrst to se¡ve, esseotially, as the "poinf' flnger, while additional scans from 800 to 805, ånd ¿ìre ther removed at 810. Finålu ingers serve as the "click" finger(s). Combinalions of âs showû at 820 (FIGS. 7F1-2), one flnger is placed down first, second, and perhåps addrtioDal fiDgers can then eDable óo Ì'hile the adjacDt ûnger is moved, süch as might be nùm¡ous conventioDal fuDctions to be perfo¡med based desirable for marking texl or olher functions. Vy'hen the the mapping of a variety of sequences of taps or finger is moved as far as is practicable, the moving finger is picked up at 825 and placd dowD again at 830 for further movements to a sel of coDvetrlional pointing fuoctioDs, where tbe pointing device could be a touchp¿d, movemeot.'Ihe moving flnger can be picked up aod placed mouse, lrackball, joyslick, or stylùs, for example. It will be 6s down again ¿s often as desired. Eventually the other, subapparent 10 those skilled in the a¡t, given the foregoing stanlially fixed frDger is lifted at 835, caùsing a "buttoD up" condition. descriplion, thÀl the presenl invenlion can detect, lhe only toùchpad. peâk may the methfìnger the on finger device for 5,825,352 13 While Lhe foregoing seqùelce can be programmed to FIGS. 5 and 6 are in most cass refered to by the refereûce deûne any number of cursor movement and control numeraÌs ùsed in those ûgures, fÌrDclions, ån exemplâry deÂnition of the fünctions associID FIG.8, the process begDs iD a maDner ideDtical toFIG. ated with sùch sequences cån be tìe followiDgì For the 5, starting at step 400 aúd followed by scaming the con- t4 period from 700 through 705 the relâLive motion of å siDgle 5 dùctors ¿nd sto¡ing the results of the scan itr memory at step finger can be defrûed to mean cùrsor movement for 405, followed by Xcompute ald Ycompule at steps ,lil0 and period, from fhe beginning point uûtil the relative 4,10, respectively. For this embodiment, Xcompule is sho\¡¡D point. Du¡ing the period 710 to 720, a second flnger in FIG. 9, and Ycompute is identical to Xcompute. At step detected ând then reúoved, wbich is defrned in an 850, a determination is made .¡¡hether two frDgers arc i¡ plary embodiment as â single finge¡ tap which may be a ro coDtact with the loùchpad by evaluating both Xcornpute and "slecf' function $rcb as selecting one item frcm ¿ screen Ycorûpute. If neithe¡ Xcompute nor Ycorlpufe indicatc the preseDce of two fingers, the aßwe¡ is NO aúd ibe process menu. During the period 720 ùntil 730, the single again moves the cursor, while å1 740 the sco¡d drops to step E55. However, if either the Xcompùtre ¡outine reappears to enable a difierenl function. The second or the Ycoûpute loulire indicates the preseûc of two moves âcross thô sensor, together wilh the ñrst finger, ùntil 15 flnge¡s, the answer at step 850 is YES and the process moves ât755 both fingers are removed. Again, such seqùcnccs-åll to stcp 860, where the value of the vàriabl FINGER is set to 2. of which mây be regarded as gestures-can be mappd coDt¡ol functioDs in nume¡ous ways, but one reasonable If the answer at step 850 wâs NO, then a deleûtinalion defltrition is thåt tbe p¡esence of two ñngers engaged has to be made at step 855 whether oûe or no flûgers âre in variables Xtnger and relalive motion is a "drag fuDclioD," such as where a¡ eûtity 20 cortact.¡¡ith the lorÌch sensor. w¿s selected by the frsl tap and dragged lo â new Yfrnge¡ do notboth equâl 1, then fhe coroparisoú atstep 850 where it is dropped by the removal oI both ûngers al is å NO ând it is delermined thât no frngers âre in coûtact wifh fhe touch sensor In this c¿se, the vadable FINGER is Then, at 760, bolh fingers reappear and remain for a additionâl scans ìrntil bolh âre removed at 770, This geshrre, set to 0 at step 865. However, il lhe va¡iabls both yield a 1, which may be considered a 'two ûnger tap," can nâble 25 then â determinalion is mâde thal one fnger is iD coDtact with the seDsor, and the variable FINGER is st to 1 at step ûÌrmeroÌs fuûctions, bùl an exemplary definitiotr is cl¿ssical "double-click' of a standard left moùs bùttoD, 870. the click ofa middle l¡uttoD oD some tbree bulton mice, ID either eveDl,lhe prccass then moves to step 875, where as those sold by Logitecb, lnc., and could, for example, Xû¡otion ånd Yroofion â¡e calculated iû a manner identical activate a function or applicatioD associated with th iteû to :o with FIG- 5. The process then cortinues at step 880, where which the cùsor is pointing the variable FiDge¡ is compared to the value of FingerPreNext, the sequence from 780 to 790, wheD the vious. the value of FiDger difers from the valùe of fingen reappear and arc then removed, is a "tbree FingerP¡evious, then a button actuation is assììmed to have lâp", â¡d cân be regarded, for exaûìple, âs a right rûoìrse occured, and Xmolion and Ymotion â¡e set 10 ze¡o at step bùtton click which may, for exâûple, activate â menu 35 885. Howeve¡, if the value of Finger equals the value of specifrc to the ilem to which the cursor is pointing. FingerPrevious (i.e., the cuúeot number of frDgers coDlactfhe sequence from 800 until 810, iD which lhree ing the pad is the same as in lhe previous statÐ, then the comparison of step 880 yields a YES, ârd the pnocess r¡oves reappear, move across the toùcb sensor and âre removed, may in an excmplâry embodiment be seen âs to step 890. At slep 890 a comparison is måde to determine shortcr¡t to a multisequence function. Fo¡ exâmple, such a 40 whethe¡ there h¿s been motion in either the X o¡ Y direcmovemeDt might b dfined as a scroll function, tio¡s. If neither Xmotion nor Ymolion is Donzero, a NO might olherv/is require the usr to move the cùßor to rcsults aDd the process moves to step 895 where the va¡iable søoll bal, drâg ¿nd drop a scrcll box, and retum the Motioû is set lo NO. The sâme lesults obtains if the process that eûding is exemflnger fi¡ger flûger Lo in locatio¡, 750. few the or such If three frnger II Fiûaìlt fingers then å mouse up the moùse (while coDliDuing to hold dowD the bùtton) and From either step 895 or step 900, the process moves to llacing the mous down again at a positioD convnient for step 905, where a check is made 10 delermine whether further úovemerìt of the úoùse. Ore exaûple of the ùse of 50 ButtonPrevioÌrs wâs up ând the nÌrmber of flngers detected such a sequeûce is lhe ma¡king of texl. The algorithm for is two. If the ânswe¡ is NO, the process moves to slep 910. recogn¿ing ûovemenl by one "cùrsol' fl¡ger while the However, if a YES is obtained, the process moves to step other "button" frúger is maintained in position is a generål- 915 whe¡e the state ol the Butto¡ va¡iable is repofed to the ized case of the algorithm shown in FIGS. 5 and 6, aDd is host as DOWN, and the vanable BûtloDPrevious is set to described in glealer detail in FIGS.8 a¡d 9. Other functions 5s Dowû. which can bc implemntd with such gsturcs includ ¿n Referrirìg to the wo¡king âreâ of the screen. Finallf goes throùgh step 885. However, either Xmotioo or 820 throùgh t3Ocan be analogizrd to holding down â rnoùse 45 Ymofion is nonzcro, a YES re$lts åt step 890, ând lhe process moves to s¡ep 900 where lbe variable Motion is s¿ button (for example the left moùse bulton), rolling a whâtever distânce is corvenienl for the use¡, then picking to YES . v/hich a cu¡sor the sequence ftom if exemplary algorithm shown in FIGS. 8 and 9, a determinalion is made wbether zero, o¡e or two frngers are i¡ contact with the touchpad. Depending on how many frngers identified, vârioùs operations are permitled. It will be appre- 65 ciâtd fha¡ FIG. 8 is analogous to FIG. 5, while FIG. 9 ånalogoùs to FIC.6. Forconvenience, steps unchanged "ink" function (menlione¿l âbove), entry oI vâriåble valùes, whelher eilbe¡ of two g¡oups oI condilioDs exisl. A YES ând ìrse of the serìsor ìn åbsohile mode. result may be oblai¡eLI ¡l BuLlonPrevious Ls DOWN aod ard Referring next to FIGS. 8 ând 9, Lhe generalized case ttìe value of the Finger variable is zero; or ifBùttoûP¡evious associated wilh FIGS. 7F1-2, but also applicable 10 tàe 60 is Down aDd the variable Morion is st to YES and the remainiDg functions, may be better appreciated. In tìe variable firger is set to one. If none of these coDdilions ag¿rin 1() step 910, a check is m¿de to detelmine are is from exist, a NO result is obtaiDed and the process moves to step 920. However, iI a YES does result, then the process moves to step 925 a¡d reports to the host that Buttoo is Up, while also setting the variable BrìltonPrevioùs 1() Up. If a NO resulted at step 910, at slp 920 a comparison is made betwcer variâbles FiúgerPrevioùs ând Firger, and the 5,825,352 same ûnger or fingers aqoss tbe touch sensor, to evaluate those value as Finger, and Motioû has occurred (i.e., Motion is seque¡ces either locally or via softwar oû lhe host, and to Yes), tie process moves to step 930 ând both Xmotion and rcport åppropiiate signals to cause cursor moverûents or Ymotion are repo¡led. The p¡ocess then moves to step 935. conlrol functions to occur itr applicatioDs prografns o¡ oper_ However, if the compa¡ison at step 920 yields a No, tbe s aûnq enviroDmnls. process moves directly to step 935- Al slep 935, the value o[ ,;-.,--..,,-. described varioùs embodiments of the Having tury xabsolureprevious is ser ro r¡e value of xãúärl;. #;iü preseût- iDve¡lioo, rûcroùs alterDatives and eqìrivale¡ts yabsotureprevioùs is*r t.lb" of ofi"b-;i;i;-;;;; which do.not depârt ftom the invenlion wiÌl be åpparent to "^h" value of FingerPrevioùs is set 10 t¡" ri"i* ""rr" ;i ,""¡,åLrn; ro lt the "ì proccss tberi moves to step 940, *rr"r" lbo* ttt;llt¿ be Ç invention not io the a'1 by is therefore intended thât but limited the foregoiûg descriptioû, jumping back to srart. Rãfeiring nexr to FlG. 9, the xcoúpure process is shown o¡ly by the âppended claims wbåt is clâimed is: in detail foi the generalizeá case snown in'Ftc. 8. -¿\s ¡oted 1. A method for detecti¡g the operative coupliúg of previously, the YcompÌrte process is identicâl and is thereis the 15 state of the Molion variâble. If Fingerkevioùs t6 to ihat shown in FtG. 6 up through ste! 290, ând the preceding steps will therefore not be discussed again. However, if a No resulls iÌom the comparison atstep2gO, a determinatior is made that no fingeß are in conlact with pad. This caÌrses lhe vâriable fore not shown separalely. The process of FIG. 9 is identical ,5 multiple flngers to å louch minima fo[owing second maxima sensor i¡volving the ste?s of scannhg úe rouch sensor to (a) ideDti_tf a fust maxim¿ in a sigial corresponding to a-frrst flnger, (b) identify a the Xî¡ger 1o be set to zero at step 20 ii a signal th; ñrst r¡axiû-a, 1ò)'tentify a corresponáiìg ro a secánd 970. sreps 295 and 30s âle unch¿nged ftom FIG. 6 and will not if N. .;J;;;^ ìË " comparison at slep 305, then â determination is mâde thât . ff:T^['-.jt' one ringer is iD conract wir¡ r¡e sensor, aiäihei"il;'il ,r ^",i:,Ï: -'^:lo,,"j- 9f c]åim 1 tuÌther includins the step of vâriabìexrinserisserrooneatsrepgz5.Ëyiå;;;,îil'"::T:':q:.f.T!T.deviceclicktunctioDtooccurinresponse teast a second maximâ' resurr âr srep 305 is a yes, tt u ¿"¿"..ioãloì"b ffiil;ì " lo"j"-t":l.tj-:t " 1 ñrrlher incl'dins the step of "o be discussed t-urrher, Horvever, rwo flnsers ârc in conracl wirh ,h" *"*;Ïiä ;"-;;;;bi; xfinge¡ is ser ro rwo ar step 980. RegarctlesiTrìi" ""-t* or fligen in conracr wit ir" ""n"oitr" f,ioä* step 320 and ends until the next cycle. Another tunction achievable with the ard åppar¿rus of rhc prer.nr inu"n,ion rryotbï::t:iTri:: edse rock. Because a rouch sensor can ter-ms, wbere oo tbe seosor nt?::dTg-::- finger following said mlinima, aná of lhe simullateoùs presence of T-oi"*loD tw^o fi¡gersin response to identiÊcation ofsaid ûrst and :':111e" ;;;;b , :::19e- *"1i:"r*"i'"iff"f "iiT;: --l;,T::to:1,* tuBction 10 occÙr in respons "aim filäiï",.'u,ûs 10 to the eûablins a "selecl" functioû in respo¡ìs al least-a seco¡d maxima the srep or the detection of ùe operalive couplìog occurs, ¿;;;;';;ffi Dertrg å the Ï:]ÌÎ*-i,lÌ'lltly ot rures' saro maxrmasâid liûes largesl value on oDe of due to involving;;;;;; 1"":1^Llljt]::-11-1 "tenalfrnger of a b"f"."'f#ä;""";;i;; * "ry"'"#l'-'-',lgtng t-t]o.it-tclaim drvle¡ein said maxima are peak àîr;;;;i: 3 R: 1 turther comp¡isios the sÌep of iiüi;äffi;ä ^^11:--:t*^1-* 'laim between said fl¡st maximâ and såid bul¡on down, purs ir back d"*" ,d -;;;"';;;;-rf ;; :::^l1Tq.ij""ll"* p(edeÉned threshold u conrext of a louchpad, ¡o-".rr"r, ,".o.rur ãiilä1"*ä dn*"ü """"ooåTïT:,to^ claim 1tu'ther comprising the steps of: n r¡aybe perceivd ¿s re¡minario¡ of rhe funi'ri;;;; ilil o, Tt-Ittno!.of sÌrch terminalion was not inten¿led. To âvoid $ch orobleri's. providi¡g a first control fùnction i¡ response to the delectioD of the movement of two finge¡s: the function in which the ùse. wâs engaged at thå dme the detccfing the reåching of an edgc of sâid toùcb snsor by flngers hit the edge may remain aclive i.e., locked in-for sâid two fingers; a delay period. If the fiDgers are placed dowû on the toùchPad within lhe delay period, the usr continues wilh lhe 50 detectirg â ûrst tiûe corresponding to the ¡emoval of said eârlier lunction. Il the user does not pl¿ce down the frngers Êngers from said Loìrch sensor; within a predefrned delay, th functioD is termi¡ated aod a dekcting a second time corresponding to the leplacement ¡ew fu¡ction begins wheD the ùser again plåces tbe 6¡gers of said rwo frngen on said louch sensor; anà in operalive conlact wrth the sensor *::'^"^iÏq,:jj It \\.irr b appreciâred rrom rhe roregoins rhar rhe preser! 55 *::tt are wltol¡ a preoerermrneo itme lrmrl "lj::.,::*':t--T:-",t-'T,lijil.1--ft,1.:'^tol i¡ve¡tio¡ ¿Llàws numeruus multi-6iger- qesrures' lo b. "t]es derected and converLed ro mouse-related fuoä::^tj:::.:, roiffi. ilrti"o trrt- I turrher comprising rhe srep of: ing a cursor and cootrol of operâting environmeots or i- _^-_'-":' deteclitg a distance between said frrst å¡d second ù'plications programs. I-Iowever, whiÈ some exemplary fuDcfions ând cxemplary definitio¡s for pãticulâr sequeocrs oo --mj t'. 11. Th melbod of claim 1 further comprising the step of: have been provideá abãve, it is to be ìndcrstood ùat rhe providir¡g â drag control fünction i¡ respons to detecli¡g prcsent invcnLion is not Ìimited to the âssocialion of a a movement in substa¡fial ìrnisoû of lwo said fi¡gers. particular functioD with a paficular sequence or to ¿lny 12. The metbod of clåim 1furthe¡ comprising the slep of: particìrlar set of fùnctions. lnsteacl tbis âsprct of the invention is directed lo the ability lo identify and process various 65 p¡oviding a click function in response to the removal and sequeDces in which one or more ûngers are eilber absent or reappeârance of said second maxima within a predepresent, i¡te¡spersed with motion or lack of motion of the te¡mined period of time. is possible to detect that one orîore fingets hui. rhe e.rse ot rhe sensor tn i""o'""", "o,'" cooti¡ìe úe movement he was engaged i¡ wbeo he hit cdse; ror exampre, a drag runction which the rwo fi'sers hir the edse dragged bâs Ìeached i1s desrination. In rhe mouse, tbe ìrser simpry pictsup tne mouse ,.u.n"¿ "1"'jiT^1Jl-'-' ",n"ïi.;.i""¿"ìã ,-^1.*"^l:P-:j,.:t^."11*_ -_i;,1':^n:l::l :.r-:l*._t-gt^o::^T:tl"o^'ig.l9^.1"X:l ir ,r i-1iTlü:ji",ryncrron ¡n respo¡se ìo ¡nc dclcclton ol al 1"Y,n"j:T.j1o"^t:ïl ,Tï:1 13.The method ofclaim 1fùrlber coúprising lhe steps of: detectiDg a moveûent of said frnt maxina; detecti¡g a rcmoval aDd replaceDenr of said maxiloa wrtn¡n å prcoeìermrneo trúe penoo' r7 5,825,352 18 23. The touch sensor of clåim 18 further coúprisirg: means for providing a frrst control function io respo¡se to tb: d.:l:c,ti:i of the ûovemett of lwo flngers: meaos lor detecli¡g the reâchiog of an edge of said touch úent of said frrst maxima; and providing a controÌ futrctio¡ in response to såid co'Íotli¡s å cùrsor tunction io ,".po*. ro said moveand replacemeDt of said second 14. The method of claim 1 further coûprising the step t ."iåî:t :î::,iì'r" l"otåiì'r" conespo'di¡s ro rbe maxima. removal combinatioû of a nuûber of frtrgers detected, * eåcb olher amoùnt of time sâid fingers are ãetected. and any - .of ' 24-'fte touch sensor of claim 18 further comprising: movemenf of said frngersl 15 means for deLecting a dislänce belweeD said flrst aDd 15. The method of claim l furtber comprising tbe step of maxÚnå' determidng if said first and second maxima a¡e within 5 --secoDo 25 The toucb sensor of claim 18 furlher comP¡ising: centimeters-, and only providing sâid indicatioû of lhe presmeans for providi¡g a drag coDtrol fuDction in rcspoDse to ence of ¡vo frngers i? said füst and scco¡d m"ximå u." selecting aú appropriate co¡trol of: 10 furclior basd on a

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?