Elan Microelectronics Corporation v. Apple, Inc.

Filing 139

DECLARATION of Sean P. DeBruine in Opposition to 138 Memorandum in Opposition, filed byElan Microelectronics Corporation. (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)(Related document(s) 138 ) (DeBruine, Sean) (Filed on 7/15/2010)

Download PDF
Elan Microelectronics Corporation v. Apple, Inc. Doc. 139 Att. 1 EXHIBIT A Dockets.Justia.com [Ëffi[mfi]m00f5i7642f1f8i4ffimffiilffiil fm us United States Patent Della Bona et al. ts4l METEOD AND ÂPPÅ-R.ÀTUS TOR CONIACTTNG A TOUCE-SENSITIVE CURSOR.CONTROLLING TNHJT DEVICE TO GENERATE BUT¡ON VÂLUES hveDto.s: M¡rk Â. Della BoDA. I-os Altos; Joùstù¡¡¡ llorfutn, Berkeley; Jay F. EIIDI¡D. SaDta Cruz. a.ll of Calif. f'731 rrsr Number: t451 Date of Patentr tlil Patent 517641218 Jun.9, 1998 CITIIER PTJELICAflONS rcT Prelimi¡ary E¡amhåtion Repon for Itrtemåtional Applicatiotr No. rcfruS95/00116. ¡Dâi.led Aug. l. 1997 (6 pages). Assig¡ee Apple Compuúer, Inc.. Cuperti¡o. Calif. I!þrDatio]ral Se¡¡ch Repon. PCTruS!X/00116. Jul. 6. 1996, IIaElÞa¡. et aL. 'Nod at Your Comp¡te¡: Switcbless Selection Tech.Èiques Ushg a HeadphoDe Device". ProceediDgs of the ADDûal CoDferetrce of lhe E¡gi¡e¿rißg in Medici¡e. Mecvodd. Feb. 1996. "Toùópads". pp. 68*ó9. Pinary E aminet-R^tt¡tond As si scørll J. Bayerl Examine l21l AppL No.: 38U71 I22l t51l Aftomey Agent, z.^fmar ts71 .4 method and or r-lúlà F. Stxaci Fìnr;-Blakely. Sokolofi, Tâylo¡ & ÀBSTR.ÄCT Filed: Itrt Ctó J¡D- 31,19t95 ts2l ts81 u.s, cr. Fidrl ofseâr.th y5n'74. 3451145.1'73. 166. 163. 158. 157 t561 Refercncs Cited U.S. P¡íTENT DOCTJMENTS 5,ß9r'1 5An53t 53n J6t 5.444,458 4,/t994 Cre¡pbeide,,.-.......,...............-. 34511'l 4 T4994 ú'Eza et õ1. ...,,..,-,..-.-..,........, 3451t57 411995 z.áE ...-......,..................,,,..,..,., yst t't3 71995 C¡lde! et 911996 Cìgl er ^1. â1. .......-....,....,..,-,.. A5tl45 s5s9943 ...,.,.,........................ uSI145 FOREIGN PATENT DOCIIMEI\¡TS a! apparaus fo¡ contåcting a touch-sensitive cursor-coÀtolliDg itrput dcvice to genrate butto¡ values simulati[g the buüon state of a mecha-dical button sûitch. This metl¡od a¡d åppa¡-atus eoable an c4lelaûor to utilize the touch-setrsitive o.¡rsor{onrolliDg input device to cha¡ge the value of å Buttonst¡te vâ¡íable (whiú simulates lhe Butto¡State of a me.fiatrical buttoû switcû) by (1) detectiDg coDtact ¡.ûtÊrvâls wheD úe ùsff clnlacts the loùch-sonsìtive iDpur devjcc. (2) detditrg gåp itrtewåls betwcen subsequent coDract i¡tervals. and (3) moving the cursor oD tbe d¡splay screen âDd dra¡gi¡g the value of the Buttonsråle variable based oD the durâtio¡ of lhe coÀlact â¡d gap i¡trvals. ID tum. this buttotr geleråtio¡ capability eDables aù operator 10 perform v/ith a siDgle toucü-sensitive input devic ûumerou s co¡¡trol operatio¡s. such âs d¡rsor ñ'niFulatiod. click mufticlick dûg. click-andd¡ag. aDd multi-click-aDd-d¡ag opøatioDs. O4glxnl lzlggo Eù¡a'pan Par Of. .-..-. C06F 3|/033 2544tO3 tU198-4 F¡å¡ce -...........,.-...-.,.,.. @6F 3/033 12 Clalms, 14 DnwiDg Shcels U.S. Patent Jun.9, 1998 Sheer 1 of 14 5,764,218 gr I U.S. Patent Jun.9, fÐ8 Sheet 2 of 14 5,764,218 /.--2OO I FIG. 2 U.S. Patent Jun.9, 199E Sheet 3 of 14 5,7Ø,218 U.S. Patent Jun. 9, 1998 Sheet 4 of 14 5,764,218 S¿årt/Reset BunofLstâle È UP fn > tsn,fAx N=1 Buttonstate G Down N=N+1 Is du¡ation of tihe between the (W-: )th ur¿ Nth c¡ntaa intervals loñge¡ than TGMAX? Supply cr¡¡sor kackÍng data to the coErputc! Buttonstat = Up Contäct ter¡ñi¡ràted FIG. Does the user rerontact lJte tou¿h-sensitive inpul device in ¡ess tha¡r lsMAxl (t) CURSOR TRACK¡NG nNcER I DowN UP rÞ __ I DOUBLE_CLICK \H FlG. I 'l lïGr'hñ 1 f_l Eç;-' *""' hr ' <\¡¡x I I !9 tD ,rff* I .,'H*,rH*I FtG. BUrroN DowN 5A I r, FG, 58 f I f_l ll 5c fI 5 ffß Hfdt'#J'""fl.- nrucEn up uP , , ,- o*" / """"'io--_.l n" euîo¡r -i,11d,*...---------.\zxru¡x t>bv¡x FIG, - \¡$mxhixtruaxu jttf"* f *__l r, ,n .:* _l I t> +,PF:.t',--= FÉffi:."=jü/= h,.ruJ* - cUqK &. DRAG | | DRAG & STICK ,// - t t">Ëñrx (,I bv¡x 5D FIG, 5E FIG. 5F o\ l-J 0Ê \¡ À 6m e (t F,"g"ifil'""¿fijÌ*:ii.**, ååC Ê9 ski/Rcsc, Burro¡Srxc=Up ;l¡s 605 íFF3 s y' ;'¡o*;o*"0"'o'" tEî-:,î,*u'¿,:ml , --Inrù¡r.gapriner¡ nn!*oovo tn¡ù¡r¿r¡Dlin4 ' ¿ s.nd bu|to¡ iF F (! down clkt ; rlli"l:ï,liT::9y-1",-p'" /" ùp ln¡r¡aremuln 0'rôß a¡our'r l¡tr8Êr 6u ó30 ¡imÊr 5 ååË 610 ! q î E-9 it Burronst.¡E (clkl), = Up ¡nd rhcn Burl¡nsDE= hiù¡rr tap ùnrr2. ,l tniri¡r¿hÊ p'Ê!i L.ÈDr D¡r.!r r¡Dd doc! ror rin Ì b.foEliDSc'hoB doiç ôt5 6,0 Fin8êr .î^llS È.-g¡èì .sro. "iålïiÍ*#"lij,ijJi'"-" racrin8 ljp 6 Tosrcp r¡rc¡r pÉss rinq D¿torÈ |rnger novcl c,pi¡Es 6m 5¡ "-t f,"doù Íh S.¡d bùflon doùn ó15Þ FIG. 6 FirgeruP& nor mov¡ng I¡ãck (Dagßin8) g'¡Hlr"',¡äl;:ffn, Sricty disståB. beloé ¡rolhcr aúo¿r trù ó40 ùnGr sücly d68 Ùn., {to.s ¡o¡ .rDtr! brto¡E t¡ñ¿r dæ! ¡or .¡Dil! a'ìoLhr ÍnBêr down tf dEB \,,,.r¡r¡r::*'*-'"0"'"' ,tr êsl¡clY tnnjal. 5ticty diÈDB¡eÊtrhcr :rrl,,!!.,l,u," r¡ñê¡¿¡Dj¡B b.to¡c ¡norÀcr fin8r uP ut -t\ ã À bJ cÊ ,r FTNGER v-l' BUTTON TRÂCKING CURSOR , "_.l llllllll f-1l¡.tEM*,I Ë"-"ä -ftfiStn¡¡X tr2<\Mrx DOUBLE-CUCK (A Þ tTl>tTMAx t¡1(\MAX DowN FIG, I UP 7A II FIG. 78 DRAG | I | L__Jl__JFtG. 7C DRAG (LA.TENT :- g FINGER DOWN uP t-----1 BUTTON tttt II trr ' tcr<tcu¡x PRESS) 'l l---------------- | [pRESs TIMER s <tru¡x tT2>trMÂx trep ruen + tL¡lEvf f -_l tsncr FIG. 7E ltsncr Èc'Jilt FIG, 7D tt -l À t) FT ca AND REPOSmON GAP ÀLLOWEO TO LIFT nNGER. ôo' UP FINGER DOWN -lU ' r tcÉtcu¡x tcz<hu¡x CLICK & DRAG r [ I tcl<buax tcz<hncxulry _ . .' r DRAG & STICK irlcK | I C trr<-\rr* tT2(trvlx tt3>tlt¡¡x I trs> brs¡¡rcleeu¡o< 5 !a UP BUTTON DOWN FIG. 7F DRAG & r tctshurx ST.ICK oISENGAGE -' rtsstsncKMÀx I j I FIG, 7G UP NNGER DOWN trllt1v¡x trÈttu¡x M trg(brsEtlc¡eEv¡x (,¡ UP BUTTON DOWÑ \¡\ o N) FIG. 7H À @ U.S. Patent Jun.9, 1998 Sheet 9 of 14 5,,764,218 lo a ctange in the use/s contacl wilh lhe louchpad ? SampleTme = al lim6 ol lhe Irensitiôn srep 81010 step 820 OR Butlonstale with ac{ual bullon value FIG. I U.S. Patent Jun.9, 1998 Sheet 10 of 14 5,7ffi,218 F¡ngerDown=false FIG. 9 U.S. Patent JuI¡. 9, ree8 5r764,218 a toÔE gÉ E= ñÞ -N /2 o ,g t¡) /F o lvr - o (D lr- il c," rJ I -(.'ç oqi L I I _t ir rl i¡ , UP FINGER --'¡ ooi¡, DOWN I Ix l--] .''*-' LJ-Li-tfi>tl¡ptge ttt<tr¡pu¡x tTt<tT¡pvAX t12tt¡4py4¡ CURSOR 'TRACKING ¡- (h CLICK Êo tD UP--------...-.."-...--..''.---------------'--.--.-.- BUTTON -t___JFIG. IIB OOUBLE CUCK --1_J-FrG. !:. FIG. IIA ilc UP FINGER DOWN BUTION ';;ff UP i--------r tt FIG. IID \¡ ß 1..) 0ê (n e Þ , DOUBLE CUCK (! nNcERuPru -ut t¡1lt¡¡py4x trz<hpv¡x tuStr¡pv¡x "-o" DOWN -l FIG, IIE - m FIG. IIF EN.ER I l-l [-l Do'wttlt<tt¡puax . L_J --" ¡. -.t-.------.t UP DOWN uP trétüpu¡x I T I t't tËlt¡npMex "o."* (,r BUTIoNIIII FIG, IIG *¡ ß l\) cÊ ,, n'rcen "' -J'þgru^* f.I t--l DOWN I DRAG DRAG + SNCK + GÂP ALLOWED TO UFT REPOSMON FINGER e (A Ê¡ (D t¡l<trApMAx trz>tnpurx UP BUTTON DOWN --t_____I tsrriKMñ tlt<tT¡pM¡,x tTz>tl¡pMAx ttg>inpulx U kncxu¡x FIG, IIH DRAG UP FINGER DOWN FIG. III + DISENGA,GE SECK BrmoN tttltr¡pu¡x trÈtr¡puex tr¡<tr¡pu¡x UP-.--.] "' I f- DOWN ut Ol -¡ 5 FIG. IIJ t.J 0Ê 5.7ø.218 1 2 rÁaiDlâidng dlis buttotr deFessed wbile movi[g the ¡argeted objed ro a Dew locâtion by mogiÀg the cursff via the loùchpad- A user c¿¡ fi¡lther drag a ta¡geted objed abot¡t the sseeE by pelf$¡r¡itrg a click-¡¡d{mg operatioÞ. which i¡volves (l) usi¡g the ¡or¡úpad to positioû the cu¡so¡ over MEÏEOD AND A.PPARATT]S FOR COI{TÄCTING A TOUCE-SENSITIVE CTJRSOR.CONTR,OLLING INPTIT DEVICE TO GENER,ÀTE BIJTTON VÀLIJFS BACKGROTJND OF TIIE INVENTION 5 l. Field of 1ñe l¡veDtio¡ the t{geted object. (2) selecti¡g the tå¡geted objcct by depæssi¡g a¡d relfásing lhe mechôùica.l buftoD (i,e.. by perfomi¡g a click operatioD). (3) dapressing the ¡nchâ¡icål buBo¡ a¡d rDÂitrtåùiDg this buttotr dqrresse/ while moving úe object to its Dew loc¡lion by movi¡g the cursor viå the touchpad. atrd (4) rcleasi¡g the o,bject by rele¡sitg the mechaûic¡l buüoi switdr. Fi¡aUy. tl¡¡o¡¡gh the touchp¡d ¿¡d the mecfiatric¿l button. a use¡ c¿D pe¡form ¡uÌûerous olher multi-click and rãulti-click-and-&ag cp¡atio¡s (e.g-. ùiplewith the virûal explosio[ i¡ lhe ¡r¡¡nbe¡ of cor¡putr 15 click double ciick-a¡d-drag. t¡iple click-a¡d+ag. erc.). systems. thffe hÂs beetr a co¡req)oÀding increase i¡ dem¿¡d Co¡seque¡tly. iD o¡der to FtrfoÍtr click double{lid{. aùd fo! iDput devices that facilitâte tïe hultra¡ i¡tûaction with drag operations. p¡io¡ art toudtpÂds not only ¡equi¡e the use these computer sysêtûs, Orc type of prìor a¡t iDpu¡ devices of a toùchpad but also requíre the ùse of a me¡haDical burto¡ si¡¡ply cobsist of keyboards, These p¡ior art i¡put devics switch- Prior art mechånical buüor swit hos a¡e rDoutrted require the hurDa! opralors to eDler data by typi¡g on æ either separalely as coDFol buttoDs or iDtegIated iÀto lhe a.lphâ-ÞurD¡ric. spêcial fu¡ctio¡¡. aDd úrow keys of tùe over¡ll pad assemblies such that úc depressioD of the f,¡d keyboa¡ds. The eDtered dat¡ 6e theD usùatly displayed on surfaces actuates these switches. either of these corDputÍ sclee¡s. irEpleme.otåtiotrs. thre is the added elecr¡omedraDic¿l co¡nOther more sophisticaæd aÂd user-frietrdty p¡ior dt itrput plexity a¡d cost. Moreovff. mecbadc¡l switches i¡tegrated iotelfaces use cursor contollgrs a¡d mechatricål buttoD as lrdt of the touchpad rqui¡e f¡e âdjusùnents to plevetrt switc¡es to p(fo¡lrl co¡trol operatioDs (such ås curscú iDadvrtent operåtio¡ th¡ough normål use of the ûouchpad. lnâ.Eipulation, dicki¡g. double-clickiDg. d¡aggiDg. dickiDgAlso. as these adjustme s vdy betwe¿D users (e.g.. difcre¡t a-ûdl¡"aggiDg. etc.) i0 order ûo edit ù6xt, select objecls users Ftrefer qleiatio¡ of ûre swifches bâsed on diferent displÂyed on the saree¡ (e.g.. ìcoDs. Eetrùs. scrollbars. text, fiDgã p¡essures). the cålit'¡¿tioD of ihtegated ttrecúatricâl etc.). cf to iÀitiate a giveD co¡Ematrd (e.g., save or clos a 30 butoù switches acÎoss a {ide poputatioD beÆoFes problemfle, etc.), U¡dr this prio. a¡t appfoacù, the user r¡åDipulates atic. tl iDpt¡l device order to coûtrol the moveme¡t of ü¡e Thus. the¡e is a Àeed in the ficld of col¡putr itrr(ff¿ces for cursor on a display saeer aod to generate bùtton íg¡als fcr a¡¡ a¡paraûrs and mDthod of imple¡teÂting the button ge¡performi¡g thc dcsired editing. slectioÞ. ctr co¡¡¡r¡Â¡d. Fcr eratiotr fùnctiotr withot¡t usí¡g a mecha¡ical bufloD switah. eral¡ple. a use¡ catr select a¡ icon displayed otr the compr¡tcr -- ElimhåtioE of rhe mec¡¿tricål button switch trot ody results scrcetr by placi¡g a cursor over the icoD aÀd by clickitrg oD h fe1rer pÃts âtrd sirylmes the âssembly plocess. but it also the mecl¡¿tricâl butto¡ slvi¡ch (i.e.. by deressiDg ¿rd thetr etrhâDces quality âÃd reliability as well, Fl¡rtherrDore. such releasibg this mecba.nical buüoD swital¡). a¡¡ app¿¡¡:¡0¡s a¡d method ì{ould be ide¡Iy suited for püThere are sevefal ditre¡eot tÞes of crEso¡ co¡rtolli¡g .^ iDput devices fo! coDfollitrg the Írov.mcot of the cù¡sq ru table eompulcrs as t¡'is ¡nethod and appa¡åtr¡s reduces bolh size and weighl across å display scree¡L These i¡put devices iùclude a Ioor¡se. a t¡ackball. â joyticlc a writing peb. a stylus tåblet. SIJMMÀRY OF TI{E INVENTION atrd a rouchpa¿ Touchpaals ate oDe of lhe mofe promisi¡g qùftDtty cüsor co¡EolliDg i¡tcrface devices The p¡eseÈt iDveDdon provides a meúod a¡d åÞ apparan¡s use- By sensbg the inherent cq)acita¡ce associated v¡ith a user's ¿5 for coülÂctitrg a toudl-se[sitive curscr-cootsolliDg itrpr¡t f¡gr, a toucüpad e¡¿bles â user to coqûol fhc Fackiog of device to geÂeÍâte buÉon v¿lues silDì¡ìâtiDg tùe buttoD state the crlßo¡ (¡.e., to r¡ove the cl¡rsoi across the dispLry scrce¡) of a mccbânica.l bu¡to0 swfd. Tbe oethod a¡d aplB¡:¡ûs of th preseDt inveDtiotr etrable an opsafor to utilize the widl his 6Dgd, I¡ othe¡ words, a user crrn s¡mply t¡ace his ftrgcr across the touchpad iù order ûo co¡tr.hå-od the comtouch-seÞsilive or¡sor-coDtolling i¡put device to chatrge the puter to move the cu¡so¡ to any desired locatioÀ on thc 50 v¿lùe of a BuüotrStat variable (e/hid¡ siÞulates t¡e Bù1screeÂ- A-ftff the userpositiotrs lhe q¡¡so¡ ovs the rårget. tt¡e to[State of a medraDicat buttoD switch) by (1) detlctin8 user catr deprss a¡d ¡elease a me.ha¡ical bùttoo ss'itch co¡tact i¡lervals wheD tl¡e user coÂtacts the touch-seDsitive (i.e., catr perfoflE a click pr¿tio¡) itr o(dq to edit text. io ihÈ¡t device. (2) d,ete.ti¡g gap j¡tervalr betweetr subscque¡t slect a¡ object displayd o¡ the s.reen (c.g., slecf aù icon. cotrtact i¡tervals. arld {3) ¡Éovi¡g the cursor on the d¡Ðlay an ¡uenu. a s6ollba¡. etc.). of tô itritiale a givetr comlÞa¡d 55 ssee! å¡d chåogi¡g the v¿lue of the ButtoûStãte variable (such ai save ar close a ûle)- ID additiotr, after usiDg úe based on the duratioÀ of the cort¡cl a.ud gâp i¡lervals. Itr ¡oùchped to movc the cu¡sor to tbe ta¡gct, a ùser c¿¡ display hûtr, this bùüo¡ ge¡ration capabiliry enables a¡ operator to the cotrte¡ts of the tårgeûed objed by dÊPlessitg a¡d theÞ perfcrm with a si¡gle toudt-sensitive iDpur devicÊ numro¡ts releasí¡g the meahâoicål butloo twice i¡ rapid successio¡ c!¡tlol opcralio¡s. sucl¡ as cu¡so¡ DÂnipu.latio¡r. click multi(ie., by perfúming a doì¡ble-click ofrerâtioD). 60 click drag, click-aÀdi¡¿8. aDd mülti-click-aDd-drag operatio¡s. Fu¡thermore, a usfr ca¡ prforD d¡ag oprations. such as groopitrg of objects cr texa, by usiDg thc roucttpad to 'þipe" BRIEF DBSCRIPITON OF THE DRAS,¡INGS ove¡ the objects or teü with the curso¡ while deFessiDg tùe rnah¿-oical button switdl. Itr additioEr å user crtr perform Tle objets aûd adv¡¡tages of the p¡ese[t iovetrtion will additioD¡l drag opratioli such as '\learirg oû" menus. (1) 65 becúme Do¡e ¡eadily appa¡ent to tbosc ordiDarily stilled in by usi¡g the to¡chp¿d 1o positio¡ thc c!¡so¡ over a ta¡geled the ân after reviesd¡g the folowiDg detÂiled description a¡d objecr a¡d (2) by drp¡ssing lñe mechaûical buttoD aÃd aæoDpatryiÀg d¡¡wirgs, wäerei¡: Tl¡e presDt inveDtioÞ prtai¡s to tlle field of computer i¡terfaces. More pa¡ticula¡ly. the FeseDt itrveotioD ¡elales to  method a¡d a¡ åppa¡atus for coDtactiEg a touch-sensitiv r0 cr¡¡sor-co¡tsoll¡¡g itrput device to geDer¿te bùEoÀ values simulating the buüon sùate of a meahatrical button sìwìtch. 2- Backglou¡d Art I! ø i! .. i¡ forth itr FIG. 4. :3:T:!?jjg, -tf-,t"-tioDr¡seritr-purdevic¿ whicb ¡Day be ä' l1=::T^110.: f^.'9dttiooal Frc. 4 p,esenrs one embodirBent or re ilvenron #,litr_äii Ë:Liîåi:5'åil:i*:::"t:,åtjl fo¡ geÀerating butto¡ vatues with a touch-seúsit¡]: clrsor,. ;--tyl", t"bi;. "'iouch-se¡sitivc input devic (e.g.. a cootrolling inpr¡t deyice. sucb as the touch-sensitive input '" ¡ou"[*¿, *. Mioo*ot o]]o lSS llovides an ide¡face dEvice of FIG- 2. between cu-rsor cotrtolle¡ 140 a¡d bus l0s. A¡ofhr device FIG 5 presents timi¡g diagra¡nJ which describe the whicb rnây be cor¡pled to bus 10S is hârd copy device l4S geragoD oj ihe emMimeot of the FeseDt iûve¡tioD set which mat be usd for p¡itrtitrg a had copf oo paper. It utitizing rtre touci-Lnsitive iopot a""ice o-r'ffd EIG- 1 p¡ese¡ts a co[tF¡ter system upon which o¡e CorDpute¡ systern l0O mây ñ¡rthr iÃclude a disDtay enbodimebt of lhe Frse¡l iÞveDtioD is iDplemeDte¿ device lIl. sudr as a cathodè ray tube (CRT) or a liôuia FIG. 2 shows an exaÍlple of a toudr-senútive cùsor- crystal displÂy (l,CD) couptd to bus 105 fcE displayi¡g co¡trolliDg iDtrNt devioe Oràt ¡¡ay be utilÞrd to iñpleme!¡ iDfo¡¡¡ÂtioD lo ¿ co¡Epr¡tÍ user AlphanuÞric bpurdevice úe presEi iEìe¡doo. i 135 (e.9.. a keyboard) may also be cDt¡pled to bus 1ll5 for âDd coE'oÂùd slctiotrs to FlG. 3 shows a pe$pective view of a co¡¡purer system 34 5.7U.2t8 ffit irve Frc.6p¡eseùrsa¡a,remariveem*ìr'eÞtorthÊpreseÞt ioD fo¡ geuerâtiû8 but¡otr values ¡s::#,fd**rir":"ï'*rï#.'Í.ii;:Hff:ir;'j i¡pul device of FIG. 2vârious as the user requircs, FIG. 7 Presents timiug diagrams which describe tbe 2q As meDtio¡ed befcE. oDe eEbodilÞot ofcurscr cotrtrolqtration of the embodimeDt of the p¡eseDt i¡veDtion set lr 1.10 of FIG. I is å touch-seNi¿ive i¡pùt device. This forth i¡ FIG- 6. PIGS. t a¡d 9 present yet åDother emMiment of P¡esebt i¡veDtiotr seÂsitive ctEsor-codt¡ollitrg cu¡sor-co¡trolliDg jq)ut device. sudr as the with a to.rch-se¡sitive ir cotrjun¿'tiotr with the pres itrve¡tio!. However. it is toùch-setrsitive ap¡ræiafed that aay ty¡re of coD.ûgu¡atio¡ of the systêm ¡¡ray ' be usd fcr pt¡rtoses louch-seDsitive iqxlt dcvice Day be a sqlar¿tt pad which coutd be held i¡ the hatrd. dâced oD a dêsktop. o¡ built iDto the coltlpùùe¡ keyboârd. A0 c,peratof utilizes this touch- sensitive input device by cortactiEg (e.g.. touctriÀg tfie dvice with his nngr), which iD tùrtr câuses À c¡¡rsor ro rtrove âc¡oss tbe display device based otr tf¡e iDfo¡mÂtion pertai¡ing to tùe oprsfq's cobtacl (e.g,, tie di8pl¡ceme of the cpcrator's f¡gÍ on úiË devicc) thatthis deviceprovids to lhe computer, ID additio¡. as me¡tioDd below. the method âÀd âI?alatus of the preseDt i¡vention eûable a[ a¡d 9 is irû[[e¡¡ùted. FIG. 11r{-1lJ prsent timing diagrå¡ús describi¡g lhe opüatot to ge¡¡erate buüoÈ vâlùes by coÀtactiDg this toucbq)e¡¿tioD of túe ånbodiment ol the-feseDt inve¡tioi set se-¡sitive_ilFlt levice..More specifrcály. år¡ operato¡ caÍ utiliz this toucù_seositive iÀpùr devic to chåDge the value folth itr FIGS. g ¿nd 9 35 of a ButtotrStato yÀiable (which simulates the buüo0 sta¡e DETAILED DESCRPTION of a tÍechadcå¡ buEon switah) based o¡ the te¡Þpo¡al The prese¡t inventiob is a ¡Detäod and atr aE)¿¡au¡s fq dùßtion ofthe user's 6.oDt¿ct6 with thÀ touch-scnsit¡ve itrput contactitrg a touch-sensitive o¡sor-contollitrg i[put device device (i.e.. b¡sÊd oD the durEtiotr of the c$nt¡c{ iDtcwâls) to gensr¿te bùtto¡ values coÍespording to the bùton stare atrd the låpse of timc hetwe¿r subsequent co¡tact interval¡ (i.e.. the t¡[, aDd dowû states) of a mechaeical bÐltoù swiùch. ao (ie,. based otr the durâtiotr of the gûp htervals betwcetr the Itr the followiDg desoipion. fo¡ l)ì¡¡poses of expla¡âtion, coùtact intrvâls). numeroüs spciñc det¡ils are set forth i¡ crder to Fovide a FIG. 2 prcseDts oDe eE boditûeÀt of the touch-seDsitive lhcrough uodrst¡¡ditrg of the Fresetrt iDveÀtioD- However. itrtrut device d¡at ¡úây be ùtiliz¡d to irDplemeDt the p¡eseDt it will be uDdErstood by oDe of ùditræy skill i¡ the a¡t dlat i¡ventio¡. Fo¡ orc emboatiEent of rhÁ ¡xeseot iavintion. the Prcsent i¡vc[tioÀ may be p¡¿ctictd without thes specinc 45 tor¡ch-scositivê q¡rsor-coûüolliûg iÃput dËvice 2lxt of FIG. details- ID othe! i¡staDces, weu-k¡own structr¡rs a¡rd 2 is a tou.hpad. Touchpad 200 i¡¿ludes virù¡al electode pad devices are showtr in block diag¡a¡r¡ form iD ordcr Dot to 205. elecüic¡l bala¡ce measu¡eme¡t circuit 215. båh;ce obscl¡¡e lhe desqiptiotr of the Prcs¿Dt iDyeDtio¡r 'rith umec- ratio dtmi¡atiotr circu¡t 220. and misoco¡toller 22S. For essary detail. ooe e¡Dbodimebt of the p¡eseDt iDveÃtioÂ. virtlål elecùode FIG' 1prÊseDts a co¡npütel system upoD wlìich one 50 pad 205 is i[ ¡he shap of a recta-ngular shet Itis capable embodimnt of tle presetrf inveDtioD ¡s irÞplemented. Co¡n- offorrtri¡g 'r9irual elecfodes" at various positioÀs otr its top Flter system lio i¡cludes ¿ bus o! other coDrmutricatioE aDd bottom surfaces. The6e clccù.odes de denoùed as .VirrDeaÞs 105 for coÍl¡t¡ùEicatiÂg iDfor¡natioD. Ami.rolEoccs- tùâl elecEodes' si¡ce se¡nrate coDduc{ive strips oD the two sor ll0 couples with bus 105 for processing digitål data. sidcs ofpad ã)5 are used to for¡E sìogle ele¡netrts deDoted as CorEputer sylm 100 foflhc¡ i¡cludes a raûdom ¿ççç5s 55 "virtÙal electrodes." The virtr¡al elecEodrs ar co¡nected to memory (RAM) or soÌre olhe¡ dyûamic slorâge device 115 elcctrotric circuiEy c4,able of me¡slEiDg the electricâl bsl(¡ef6red [o iÀ FIG. I as ÌlaiÀ m9loory). which also couples aDce be¡r¡ee¡ sleded top a.ûd bolom virh¡.al ele4trodcs. to bus 105- Main rne¡oory 115 stores digital data ald BalaÀce ratio detemitation circuit æo delemiDes the Fogram ibstudio¡s fc( exeautío¡ by processo¡ 110. MaiD ¡atio of oDe balaDce me¿su¡emeha to aDothÎ. Midoco¡trolmemory ll5 also may be ùsed fcr sto¡ing tenporâry væi- 60 le¡ 225 seleds qprofEíare electrodes fcr balaûcÉ meåsmeables or othe¡ iDtûDediâre infcrmatioo during exeautioD by me¡t and ¡atio-áetàminatioù. MicrocoDt¡oller 22S also Focessor l10 Co¡oputã systen 100 also iùclùdes a rc¿d ¡esponds to bal¡¡cc ratios to c¿lculate ?ositio¡ iúoûDatio¡ ob¡y memory (ROM) a¡d/q other static sto¡¿ge device Í¿0 of the seDsed objed (e.g., ñnger 210). t'1is infonration may coupld ¡o bus l(E for sto¡iÀg sraric iúc,r¡Daliod a¡d insEuc- iEclude positioml dat¿ along ooe axis or two axes par¿lld tä tio¡s fo¡Processor ll0.IÞ addition, mass dâtâstoragedevice 65 the etedrode pad surface {e.g.. along ü¡e x aná y ates¡Ll5 such as a nÂg¡etic disk or aD optical disk ¿¡d its Additio!¿.l 'þ¡;r.iEity' i¡foniatio¡ aiong aD axís'peryencorespo¡diDg disk &ive ¡Eay â.lso be itrcludeddiorar to rhe sùrface of elechode pao zos 1e.g.. alông oe tl¡e f(E geoerati¡g bì¡üoo va-lues with a toùchi¡put devicÐ, such a6 tl¡e se¡s¡tive iDput dev¡.e of FIG. Z wheritr th sr¿pÉ of eÉbodirneDt of the prcseDt i¡vetrtiotr are iryleme¡led by touch-se¡sitive ioput driver støed in the coml)l¡trr FIG. l0 presebts a cor{ruter system upon which embodimeDt of the [reseùt bvetrrio¡ sets fo¡th in FIGS. 8 30 this a systeÍr tbe touch- zl z-axis) ¡nay also be dEterEiDed ÊoI a.o appropr¡åle 405 a detrEiDatioD is made whether tfie lbst cotrtâct iiterval lasts loDger th¿ù a use¡ seleclable predeterrne¿s¡¡lement- Positioh iDfor¡¡âtioD dterEhed by mùed ¡nåximum tâp iDtrval (t¡¿{x). Also. at step ¡t05 aD conrolle¡ Z¿5 ìs Fovided to ¡ utili"etio¡ mea¡s 230. r¡ay be aÀy of â váriety of decEotric or aoDplter devices ioteger variable N. rqrrese¡tiDg lhe Àumbcr of co¡tåct (sùch as computI systèÞ 5 i¡tervals for perfofmiúg a pg-ticulã üÙo1 opetatio¡l Guch 56 5.7&.21,8 bala¡ce microwhich (tî) 100). co¡sequetrrly. rouchpad ã)0 geoerâres x. y. perahirg to thc user's colt¡ct r¡trt A FIG' 5' ìf the ñrst co¡¡act iDterval loùchpad) ov., some region iD the -, y ;i;'å"äooJ , lt:IiÌ.t-15 "f verocities. ac.elerâtions. timing ditreren;als. ;-rr*ä.1Pt-919-tl9i:*:tt.t-"-taPi¡b¡val(ie'iftlr>Lør)' o{,1",t*ch-sensitive cu¡sorto¡troLliÀg i¡pút streûgrhs cåo be deter¡d'ed ftom this ø"ìJ"*- L-ååî 9:.9po*9o the ñ¡sr coDtåcl inlervâl is idetrtiñed as a - :-'::- '; î-device dudtrs t¡on{¡ Þelow. wneo lDese pa.rânleleß afe consroereo aloEg : (i'e" a o¡rsor Ûackí¡g q'ratiotr)' nftt¡ prior eve¡ts. iris poosible ro lT-*-i"".:1^Îry"Tu* *lalitrg to the user's coûtâct with t¡e m¿Àiputatio!. cl¡ck mutri-ctick ¿r"e, T:-tJ f-1d-9-".3,9P device is supplied to the corDputer . touch-seEsrhve !ûDut --.. :. taw mulu-chcf,-¡tlto-orâg oprd¡oos. Ad(uuo¡6llv. -- x. v. iÌllo ¡r '. effcluâte otr the ¡ ¿tårâ cåtr be fitüered to opriDíze .,¡".:'ì--'- -' t¡" comDuterTscreetr. Lo additio!. oocecusor moveÞenttrack¡ng Ë"ri."'ii _- :lljlll- lg.lt lhis initial cursor þucb.senstEve ¡¡put devrce as percervod Þy Ine user. sibce reedback to the ûsr that peflaidog to lhe position of the oprator's fr¡gs oo the z dara i:^1"Tiïl:,-l-"d"D' click multi-click d¡ag' click-aDdd¡¡8 and Eulti-click-a¡d{¡ag op¡atioÞs)' is set equal ¡o ^nd ,rt""ri,'õi¿i|gl o¡r"*ii"*å1"îr.i dr;t-äàä"r.*åi fust coulactinterval does not last longer thao the ¡u¿ximum .,p in¡¡fl,¿l (i.e. if ta1Ét¡¿aç). thepråss transitioùs !o step 4i0. duriÃg which iis sä-ól,o io iàrts B_F of FIG. S) rhi video sigûals (e.g.. a cbatrge i! shape. color. o! highlighring Suftonsrarã variad¿ is ser .qual to a Down value (i.e.. a of tåe cÙso¡' oD-sÍëen stâbls itrdicator' eæ.). ,< se4oDd prletømi¡ed lerel) ånd Dumbs of co¡tacts variFIG. 3 shows a perspct¡ve view of a computer sysùcrD - âble N is itrcremeDted by or¡e. 300 haviDg toudtped 200 of FIG. 2 Pc.sonal coEputrr 300 FrorD step 410 tbe p¡ocess tå¡sitiotrs !o step 41S. where tucludes ¿ keyboard 310. palmrests 315. display scree.o 320. a detmi¡;doD is m¡de whether tbe user i¡itiaæs a¡ Nñ aDd tol¡cbpad 3l)5' Touchpad 305 enables a-use¡ ¡o coDtrol cont¡ct after thc (N- 1)th coDlac.t in less ¡haD a predetemined ûìe moveme s of curso¡ 32S oD sc¡eetr 320 by coÞlådiDg 30 rûaritúuD¡ gap tiDÊ (i.e.. tú¡øx). I¡ other,ro¡å:s, at step 415. rhe ¡ouchpad (e.g-. by ñovi¡g his foge¡ across the -- 3 ¿ç¡o1¡¡!¡¡6¡ ¡ ¡¡ø¿e w¡eÛrer ttrc time i¡te¡val between touchpad), IÀ additiotr, based otr lhe dùratioû of a¡ opfå- the lN-l)lh contact i¡terval aod the Nt contact interva.l is tor's contåcts v¡ith this to¡¡ch-seDsitive ibpu! device a¡d the longe¡ th¿Ã a Fedeteûnfued måxiEum gap ìotef,vål (trr¿{x)duration of g¡p iDtervals between subseque contåat ,q.s itrow¡ i¡ Þa¡t B of FIG. S. if rhe g:aiìDtrv"t i" ióif;r intervals. touchPad 305 eDables a us< to ge¡er¿te butloo 35 -- than the p¡edeùeÍDìDed ¡ú¡¡j¡ll¡¡î ;ù idrerva.t (i.e. if values which simulate tl¡e buttoÀ slâre (i.e.._ the up o¡ dow¡ tpto- r). the process id¿ntifes the usr's cotrtact with dr position) ofa hecha-nicâl butlotr switch. AII¡ough co¡nputer tõucñliËnsirive i¡pur ¿evice as a click ope¡åtioD, å¡d the¡e_ 300 catr be s¡y of a variety of co¡ryutøs, for obe embod¡- fo¡e tsansitions b¿;k to reset step /mO loset the vålue of the ment of the prescnt itrveûtio[ it is a laptop compüter which Butto¡State variable equal ¡o lbe Up valueis â si¡gle itrtegrated uEit (i.e.. has ¿ll of itr elemb-t_s pllced 40 OD lhe other hâ!d. if úe gq ti:ne betrveen the (N_ l)', ' withi¡ oæ case) a¡d whidr is srDåll enough ro frt onlo ¡ær"¿ À¿ t ñ; ä;aã ¡"t .rrl ¡ oot ì*ãl usr's initiaicdorcompletedisi¡Dpûrt¿¡Lfeedback¡otlìe.userca¡-.^ be iDco4roråted into the p¡eseut i¡veEtiob through the yT 9f âùdio sig¡åIs (e.g.. various bcp6. clicks. or custo¡nizable sounds issued 6¡ougb the compùtr's sound_ system)- o( - "[**ï". *" ffiåi"J' ,iffi""lfl.Îft; iü**",åãl ï:-ö'ii; aos aeiermination is tiur t¡e AlËr¡atively. if ar step a ¡nade laP FIG. 4 p¡ese¡ß on embodimeDt of the FeseDt iDveDtioû tr¡ÈtMrn). As showtr i-tr Pårt D of FIG, 5, if rle Ná contact fo¡ gerer-ating bùttoh values by co actibg a touch-seNitive i¡tc¡val does lÂst longer tlúî thc nari¡ m tap intefval. the cursor-coDhollitrg i¡pùt device such a¡ the touch-se¡sitive p¡ocess idrDtifres the user's co¡tôars with tùe touch-se¡sidve ioPut device of FIG. 2. This embodident of tüe prese¡t i¡put dvice ¿6 a d¡ag opraÌioà aÂd thus båDsitiobs to step fuvedion can b irDplehcnted by butoÞ geneÉtioû circuitry 50 42S. At stet 425. ¡he p¡ocess suI{rlies to tbe corDputs the itr the touch-snsitive itrpùt dêvice or itr rhe coEputer positioDal dâtâ cìorrespoDditrg lo the user's coDtact wilh úe sysle¡D.AlterDatively. this embodi¡neDt of the presetrt louch-seDsitive i¡put dcvic (i.e.. sùpplies curs6 tacki¡g tiotr can be iÞpleme¡ted as a sofrwa¡e code (i.e.. a daf¡ m thc co¡nl)Utc¡ system). whió ¿long with the br¡tton rhe RAM) or â firmwde code (i.e.. a rcsidi-ng dov,¡n value fo¡ the BuBoDstate variable eDables lhe coltrresiditrg in lhe ROM) in either lhe compuaer systeú or the 5j puter to perfcún the requesfed draB opefatio¡¡ouch-seDsitive i¡F¡t Once lhe user tc¡Eùates h& N* coDtaat with the toùchThe operatioD ofthis elihodimeDt of the preseþt iúvebtioD seDsitive i¡pù! devicc (e.g.. olce the user ¡eEoves his frngr will Dow be described by ¡eferetrcc to FIG. 4 ånd FIG. from lhe touch-seDsitive inpìrt devic for the N'á timc). the (ehich p¡esen¡s one embodimeDt of the timi¡g diagrùDs process t-¿¡sitioDs to stelr 435. Duri¡g rhis step. a delrrdthe cperatioo of this e¡nHimenl of the prcseDt i¡ventioD). @ natioÐ is rÐâde whelher åftff tle NÉ coDtåct i¡¡er\ å.1. úe The idt¡al rep i! the f,owóart of FIG. 4 is the starúeset c'prato¡ ¡ecorrads tbe toucü-seDsitive itrput device i! less step ¡100. Dltri¡g this step, a Buttols'tate vadåble, simolatiDg thatr a ptrcdÊtemi¡od m¡ximùm sticky drag timc (i,c,. the boloà statc of a mechaÀicâl buEoD switch. is set to equa.l ts=t$¿.x). ff so, t¡e process hatrsitioos båck to stÞp 425 ùd aD Up valuc (i.e., a fIst pledr*trmi¡ed buttotr value). resu¡les its d¡ag opratio¡ by rsùmiûg to supply to the usca co¡tacts the touch-seositive i¡put device fo¡ ¡ frrst time 65 computer c¡t¡sø tmc}rDg dåta while Buüolstatc is set to úe (c.g.. if the user touches the input dcvice with his flnger Down valì¡e. In .ithe¡ words. as showo iD PaÍt F of FIG. 5. â f.rst tùûe). the process thed ùa.[sitio¡s to step 405. At stq) rl¡l5 embles a user 10 coDtirùe a d¡ag olæratioÞ even I¡side computer sysrcE well ktrow! lecEo¡ic cirdriry (sùch as the conrlrobents dete¡¡¡i¡¡tio¡ is ¡aåe if tte No åo¡tact i¡tervã las's tooger shown itr FIG. 1) for the co[xg¡t'I's opmtioD, ¿¡ than the prederc"'oined Dåxiúum tap iÀtervâl (i.e..-if " "oor.i úa.o r¡c Eåximum güp " time (i,. if toÉtc¡¿ù). the procãss 300 reside all thc esscntia.l a¡d Ealsitions ftom stei atS to step 420. ti¡d;g stêi420. a i¡ i¡veÀcode code 5 for dcvice. Iftbe for st4p touch- The ope¡atio¡ of this mbodimeÀt oflhe presÕtrt inveDtioE FeseDt will notrr be described by rcfereDce to FIG. 6 and FIC. 7 turvenùo! âllows a use¡ to quickly repositio his coutact (which preseDts oDe emMimeot of the timiDg diagra¡Ds fo¡ (e.9.. his frDge¡) without drolÞitrg a solected iteE" This tbis chbodihebt of the pteseot itrvgntioD). Itr tñe followi¡g fatu¡e is adva¡tageous when. for cxårq)le. the usr's frEger 5 dcscriptioa. co¡tactintervals aæ hitialed by üìe userplâci¡g rcaches the edge of the pad ând bas ¡o bc relDsitio¡ed i¡ his û¡gd dowr oD the toucl¡-se¡sitive ítrput device (ie,. by order lo coÍtiNe dragging Âo iteE- ID oDe embodime¡t of a ñ[ge¡ dowo opratio¡) a¡d cont¿cts a¡e ter¡ôi¡ated by the lhc preseÞl inve¡fiotr, at stcp 435. bcfo¡e the sticlT d¡ag user removi¡g his fi¡gcr from the iDput dvice (e,g.. by the dterminåtioD is ¡nâde a¡¡ ilitial dfter¡limtioD is lûade uscr perfoÍûi¡g a ûDger up operåt¡o¡). Howevr. it is tobe efle¡ momentdily rcrEiDatiDg a coEtaaf with the seDsitive iEpul deeic, This sticky d¡ag feature ofthe undrstood that the user cån c¡qrloy alterDative EeaDs (such as a mechaúcal objecr) for iÂitiati¡g atrd te¡miDating his ¿lÌosrs úe sticlry coDtâcts with the touch-se¡sitive iùput devíce. sitratio¡s where Iie user reåchcs lhe edge of ll¡e pa¿ As sho'¡,r iD FIG. 6. this emhdi¡rert of the p(ese¡t AltrDatively. as shoìrD Parri C aDd E of FIG. 5. if itrveDtiotr itritiates ât shrt/rest stp 600. At this stp. the stp 420 a deremi¡atioa is ¡Dade ¡ha¡ lhe Nù clbtact intcrval 15 value of a Bulolslâte va¡iable. simulåting the bùüo; state is a¡ Nú tap in¡erval whose dr¡¡atioû is Àot loDger than of a hecha¡ical butob swiüch. is set !o equal an Up value (e.g.. a frst p¡edeter¡IríÃd vÊlue). Once the user places his maximùm t¡p fue (t ¿|r). dre .process ideDtifres contacts with the toudr-se¡sitive itrput devicc as a possible fDger oÀ the touch-sensitive iDput dêvice (ie,. oùce the user mulli-click. click-and-drag or mul¿i-click-and-drâg perfo¡¡ús a frDger dow¡ cperation fo{ â fi¡st tiee). the operaliotr. and thus sers the value ofthe Butto¡St¿te variâble 20 process ú¿r¡rsitiotrs to step 6l¡5 itr o¡ds to í¡itia.re a tåp timr equâl to the Up value by t¡allsitiotri¡g to step 430. From (i,e-. ir o¡der to cår¡sc a tap tilDq !o stårt cor¡bti-og). ütl¡e t¡p ¿130. the prooess Eansitioos back to s¡ep 410. duri¡g tirber cxpi¡es p¡ior ¡o ùss removiDg his ñngr. a laten! f'¡ess the ButtoDstÂte variable is agaiE set equal to the Dowtr timer is initiâled at step ó10. Às show in Pan E of FIG. 7. (as show¡ i¡ PaÍs C aDd E of FIG, Ð aDd N is iùdeme¡ted if lhe ùsr does ¡ot rÁove his f-ûgff oD the touch-se¡sitive by 25 i¡put device for the du¡âtiou of the latetrt press timer. the p¡ocess (1) tra¡sitioÀs to stqt 635¿ where lhe ButtoDstate Then at strp 415. if lhe gÐ time (tcÀ/) betweeÞ the contact interval a¡d the (N-l)th coDtÂct iDterva.l is greater variablc is se¡ equâl to a DoqD value (e,g., a seco¡d t¡a¡ the ¡EâxirûuE gap timc (tc{r.tx). the Focess ide¡tiûes prede¡emi¡ed bu$oD value). aÀd (2) the¡ ù'ansitioûs to sl,ep 635¿ where d¡rsor tackiog d¿la is sr¡pplied to the computq the user's coolacts with lhe toùch-setrsilive hput device a multi-ctick opsratioo aDd tbus t¡a$¡tioûs back to reset step 30 in ord¡ to cåuse a dreg oprâtioD to be p¡fq¡âd- Howevcr. 40û ¡¡,he¡e the BuftotrState variable is ser eAual to the if the us6 moves his fi¡g(r fdor lo lhe expìr¿tioù of ú¡e la¡eDt pressed tíms. thc Focss ìdÊ!Éñcs tlìe usfr's conlact value (as sbow! for ¡ double-click operalior iÀ Pd1 C as a qEsor tacki¡g opefatíotr (as shoìùD i¡ PartA of FIG.7) FIC. 5). Altrnativcly. the g¡p time betwee¡ the and thus tr-d.trsitio¡s to step 620, At stfp 620. the p¡ocess co¡t¿¿l itrtrrvâl aÀd the (N-1)th coDtåct iDterval i¡ less or c4ual to ûe ûâxihuD gâp tirùe (i.e.. if tcétcir,r). steps 35 perfoÍr¡s lhe o¡rso¡ backing c'peråtion by supplyitrg positio¡al d.¡tarelathg to the us6's cûDtãct (e.9., data pqtaiDiDg 42{L435 arõ theD psforEed i c¡rder to f,rfo¡¡¡¡ to the t¡ser's fnger positiotr) to thê coDputer systel¡. OÞce ctick-atrd{¡âg. a¡d multidic&-a¡d-drag ope¡atioDs, the cursor tracking ç¡ation is terrtri¡ratd. tbe process lñe! exaÐple. tbe user c¿n perforE a click-aúd{rag (as showû 78 5,7@,218 whether the usr \¡,as cobtactiDg the pad at its edgê prior üo the termitration of tbc contacl This detsmination i¡ turtr d¡ag fea¡¡¡¡e to o¡.ly bc activaled for i! ar the us4's lo step which value N'; oDe. as if Up of NÉ thao multi-click For i¡ renû¡s to start/¡eset step 100. Pa¡t E of FIG. 5) or mutt¡-click-atrd-d¡ag opeBtioD by causitrg tle process of FIG. 4 to lrüs¡tio¡¡ fiom step 415 ro 40 AttqDâtively. a¡ shown in Þís B-D atrd F-H of FIG, 7. sleps 42O.425. ¿trd 435. if at step 605 the ¡ap tiÞer does ¡ot expire prio{ ro tie FIG. ó presenls a¡ alûetuative embodimeDt of the Fresent itryeDtío¡ for geDereti¡g buEoD values by co actitrg a touch-se¡sitive curscr-co¡t¡olliÀg i¡put device. sùc}¡ as the touch-sc¡sitive i¡Frt devioe of FIG. 2, This ertrbodimeût of a5 the prescDt íûventiotr can be impleme¡ted by bunoD generatiotr circuity in the to¡ch-selsitive itrput dnúce or iD tbe cþmpùtr syslrr¡- Altcrtatively, this elÂMimeDt of the present invenlioD cå.n be iDpleme¡ted as a software code (r a firrtrwa¡e code i¡ either the corÞputû sysem or the io ùouch-sensitive iÌput devic. Fu¡thennore. this ehbodimeDt ¡eÌnoyal of the f¡st ñÞgf dowD, the BütotrSÎâûe vaaiable is set equal to the Dow¡ valùe (ie., a sccotrd prdeûertrined value) ând a f.rst gap tilrrcr is itritialed at s¡ep 615. ffrhe gap timer expires Fior to lhe uscr pl¡ciDg his fr¡gc¡ dowtr agaitr (i,e., prjor to a secoDd ñtrgff dow¡). the Irocss ideDtifies that rhe f¡st 6Dger dowD (which car¡scd the t¡a$iriotr frortr slp ó00 lo stp ó05) â!d the tust ûnger ùp (which caused the tra¡sitio¡ ftom step 605 to slp 61Ð as a si¡gle click operatiotr. Thus. ¿rs show¡ in P¿rt B ofFIG.7. the Foccss F¿DsitioDs back to step 60,0. whÊre tlre Butto¡Stare vå¡iÂble is st qoâl to aE Up vâl¡e. of the preseDt iÞve¡tioû geDerates buüoû values bâsed oÞ terDlroral d¡¡râtion of lhc use¡'s coDt¡cts witb the OD the other haåd, if the first gâp timer does not expire seDsitive itrpùt device (i.e.. båsed o the d¡¡¡atioû of before the ùsû puts his 6¡9r back down o¡ the toudtcontâct iÞtrvals) and tbe lapse oftirlle bctwceD subscque¡t 55 seDsitive iÀpùt device (i.c., if the gâp tù!e[ does Dot expire contåot intervåls (i.e., based ob lhe duratioE of the befo¡e a secoDd ñDger dowr oprafioD). a ml.¡lti-click limÉr iÀtervals betweeE subsequeÀt co¡tact intervals). is iûitiated at step 625. If fhe Þulti-click timr does trot speaiñcaUy. this emMime¡t of the lrese¡t invontotr exÉe bfore the uscÎ æmovs his ñ¡gef (i-e.. before anothf ates by (1) itritiatiûg tiEets åt the iÀíhatioD or tflni¡atíoD ñDger up operados). lhe Ixocess bânsit¡oos to step 630 a contact i¡tc¡val. âtrd (2) theÀ de&rEfuing whether the ùsø 60 whcre a sccotrd gap tiEer it itritiated- Itr ådditiotr. ¿s shog;¡ lermiùates his coDtsct cr hitiates a¡oths coútactpricr to Pa¡ts C aEd F of FIG. ?. the process at step 630 expiratioû of these time¡s. These timers cân be iûer moEe¡tarily set the yalue of the BuüotrSlate variable equal up or cou¡rt dow! tirDrs, which ¡espectively expire ro t¡e Up vâlue (.which threby p¡oduces a dick ope¡arioD) lhey re¿dr a pledeterDitred expir¿tioÞ value by coùnti[g and theD sets the value of the Buttonståle vadable equal to (E by courtiEg dowD.ID additioD, foÉ the e¡Ebodimetrt ofth 65 rù Dow! value. Furthmde. lhe second gap timer p{:eseÀt iÀventioD show¡ in FIG. ó- the v¿lue of each of expires before ¡he ùser recon¡acts thc toudlpad. the p¡ocess timers c¿n be adjus¡ed by tbe user. ¡ecogÂizes the pâst f-ogex up and finger dow¡ operatiobs as thc toùchthe gap More cpe¡of úe i¡ couú wheE up ú¡e if perfon¡¡iDg a Eulti-lick opêr¿tioÀ atrd thus tra[sitio¡s lo ¡eset s¡cp ú00 to set ûe value of the BuEonsl¿te våriable to the Up val¡re (as sbov/n for a double-click operatioÀ Part C ofFIG, Ð. However. if the scoùd gap time¡ does expire bfore aDother n¡gr dowtr optrâtion is perfaû¡ted 5 the process tâtrsitioDs bsck 625 itr ords ¡o allow the use¡ 9r0 5;l@,218 p¡forD hulti-click ard mutti-click-a¡d-drag A-ltrDatively. ÌNlti-click time¡ expires prio¡ to the lse¡ removi¡g his ô¡gr (ic.. p¡io¡ to atrolier Eouse driver l(80, Tbe cpe¡adoDs. back in Dot to if at step ú25 the topor¿l durâtiotr of the ùser's contact t'ith the lo{¡chpad (i,e,. b¿sed ou tbe dùrâtioû of the cotrtact iûtf,vâls) atrd tbe la?se of time betqeen subsequeEt coDtact i¡tervals (ie.. based otr the du¡atioD of lbe gâp i¡rrvals berÐceu sub6eque contactinte¡vals). Consequently, o¡ce lhe touchp¿d d¡iver hås exaÌ¡i¡èd a data packet comi¡g ftoh tor¡chpad 1025 iD order to deteÍdDe vhethr to dra¡ge the vâlue of a Buüonstaûe va¡íab¡e, touchpad d¡iver 1045 initializes basd oD the ¡¡rouse d¡iv6 úe¡ examí¡es positional data comitrg fiom the rorchpåd and 'lhe Buno¡Stâte v¿¡iable. iD arder to pêrfoûE co¡lrol opcratioDs (such as cu¡sqnânipulatio¡. click. ¡Eulti-click ùag. cück-ând-drag. f¡gq the value of th Buüonstate va¡iable eqù¿l to the Up touchpad 104Ð whió stores i¡fofiDatioa about the x a¡d y by bâ¡sitionibg back to stdttreset stqr ó00. However. if displ¡ceEerts ÂloDg the toudlll¿d. If thís data packer does user reconlactJ the loucû-se$itive i¡pùt device prio¡ to Dot indicale a change thc pociliooal data rel¿ti¡g to a expi¡atio¡ of the sticky dmg tiße¡, a disclgage slicky dr¿g 30 us6's cotrtâct witb thc toucàpad. thcD the louchpad driver timer is initiatd at step 645. As showtr in Pan H of FIG. Ρ'aBsitioos to step 890 which iDitiÂts the Eoùse ùiv6. As if úrc üs¿r reEoves his f¡ge¡ before the dise¡gage rDe¡rÎíoned befo¡e. â.fte¡ the touchpad &iver perfoíús tlìe &Âg dmer expi¡es. the process tra.EsitioDs back to stzrt&eset dëcessary a¡alysis for itr buttor geDera¡ion fr¡ndion, the srqr 600. Therefole. tbe discngage sticky drag tilDtf louchpad devioe eDÂbtres ihcmor¡se ¿Liver toperfon¡r coDùol vides atr opratcr vitb the abilily to ci¡cumv t the sticky 35 oprâtioDs by exâmitritrg the positio!.al dala fr¡tÂitri¡g to the &ag feåbr¡e of this eoHimDt of thc presenl toucbpad and É¡e value of the Buüo¡State va¡iable. Alæmåtively. as show! iÀ Pan G of FIG- 7, if rhe user O0 the other ha¡d. if the data packet that the touchpad rìot rlDove his f¡ger priø ro ôe esPiratioD of rl¡e ta¡srúls to the coEpute¡ iÂvolves dåtå pertainfug ro a dr¿g disengage timer. the process fansitioDs back to charÌge iD the user's cotrtåct with the louchpad. steps 635å iD order to allow the user to colrtiDue his dlag. a¡ E2Ht0 â¡e e¡eaûted- IÀ step 820, a variable SarDpteTi¡ne dick-ÂDd-dlag, c'r multi-ctick-aùd-drag is ser equal to the vatue of a clock uDit at û¡e time whe¡ the FIGS. E a¡d 9 preseDt yet amthe! eEbodimetrt of pro.es¡ tratrsitioned ûom step E10 to step 8Z). Si¡ce tbe present hveDtioû fcr geDeraiítrg buttoD vâlùes with a process trÀnsitio¡s f¡om step 810 to stp 820 when dåta sellsitive cursor-co¡bolliDg i¡put device. such as â tor¡ch- pert¡iÀiD8 to Ê cha.oge itr the ùsí's contâct witb rhe toüchsensitive i¡pùt devicê of FIG. 2. This embodiÞe¡t of the 45 pâd ârrives ftom tàe loudrped. Sûq eTime corrsponds to plesent i¡ve¡ìtioà is i¡lpleúe¡ted upon corqputer systern úe tùft of a¡¡ival of the last data packet ftoß the touchpad. 1010 of FIG. 10. As shown in this ñgr¡re- coúpuler system ¡r one eEbodihe¡t of the !f,esen¡ i¡vsntion. the clock is 1010 corEmu crts w¡th mouse 1015, ke'òoa¡d 1020, Ticlco¡¡¡t, which is a MaciDtosb low lDerÃory gtobat dock touchpad 1025 though deslfop bus 1035. whosc operafioD co[taioiDg Ì]¡e numbr of "ticb" (where eacâ tick is one is coDEolled by lhe micÎoco(trolle¡s of deslfop tra[sceivd 50 sixtieth of ¿ scco¡d) siÞce lhe comFrter wes tuaed otr. As lfi)S and of úe i¡¡ut devices (i.e.. mouse 1015, kc)òoard mentioncd below. the variable SampleTi¡Ee is used to detq1020. and toùclr|)ad 1025). Thse microconùollerE ùse miûe the tirne that elåpses betweeE th time that the usr itritiates a cotrtact with the touchpad (e.g.. Êaces his 6¡rgr Ðeciñc Fotocol (e.9.. th¿ AFpleO desllop bus protocol) dowÀ os the tdrchpad) aDd the ti¡Ee the user temi-0ates füis ^coEmudc¡te to e¿ch othe¡ throÐgh the deshop bùs- ID (e.8.. removes his finger fiom the "cmbodirnent of theprcsent i¡venion. compt¡tersystem 1010 is coot¿ct u,irh the tóchpad is oDe of lhe Maci¡tosh@ faDily of pe¡soDal o1 touchpad.) comput(s such as thc M¡cintosh@ Quad¡ao). At sl,ep E3{l. a detsr¡d¡atiob is måde Whether a BooleãÞ Powerbook@, Powe¡Mac@ blatrd personal computers va¡iable, Fi¡gerDow¡. has a value of TTue or False.If this ma¡ufactured by Appleo Computer. IÃc. of CupertiDo. Boole¿tr vadÂble js tro¡'frue. lhe to,lrchpâd d¡ive¡ ¡ext Calif. (Apple. MaciÀtosh. Quådrå. Pe¡f.fi¡À Powrbook 60 ûanútio¡s ro srep M0, while it is Tlùe the process aùd multi-click-a¡dl¡¿g oper¿tioDs). FIG.7). Once the user removeJ his fiÀgf. lhe process theD The opration of this touhpad driver will now b tr¿Dsitions ûoln step 635, back to st¡¡t&eset stcP ó0{ if the 15 descritæd wirh ¡efe¡eDce ûo FIGS. I atrd 9, At step 800. a drag opúatioù did ¡ot i¡volvc ÌEoveme¡t of aD objecl Dråg dete¡rninâtioD is m.ade whetùr inforrDåtiotr transmined to qremtions do trot i¡volve movemeÞt of objects ib sevrral desktop bus ûaDsceivef t005 via deshop bus 1035 o¡igiiDsta¡ces. sùch as whetr dtag operatioDs are prforrned ¡o nated Êolû touchpâd l0?-5. If so, st stÊp E10. the detsmi'\¡,ù)" ove¡ text to sqoll dst¿, aDd to sele4t objec{s ftorD ¡âtiotr is ¡lade Whetber ahis co¡Þmuûicalion ftom the touchmenus. æ pad ptt¿i¡s to positioml data rel¿tibg to a chaDge itr the Howevcr, if the drag opralion involved úovemeDt of â usef,'s cootact with the touchpâd (e.g,. whethcr the dâr¡ object, tbe process tâ¡sitioDs from step 636ã to step ó40 iDdicates a charge iD the ùse/s î¡ger posítioD on the oùce the usr removes his fi.Dger. At $p ó40. a sticky drag touchpad i¡ the x aDd y axes). I¡ o! embodirDeút of rhe timr is itritiÂted. As sbowD iÁ Pa¡ts D-F of FIG. 7. if prior p¡ese¡rt i¡rve[io¡. rhis detellÎitrario¡ of stp Elo i¡volves to the expimtio! of this sticky drag timer ûe user doÊs nol zj ascertaidng whethcr the comEuDicatio¡r fiom touchf,ad rccontåct lhe lc¡uch-seùsitive i¡put device, lhe p¡ocess sets 1025 origi!åted ftomthe ¡egister itr lhi.rocontrolter 1030 (of uÐ. lhe process t¡trsitio[s to stEp ó35å. At this step. l0 iD ordfr to allo\r thc user to perforE d¡ag. click-a¡d-d¡ag. a¡d multi-click-atrd+âg opqatio¡s, cu¡sor maDipulatiob dålâ is supplied to úe co¡ryuter (as showtr i¡ Pars D-H of value the the il 7, sticky pIo- i¡ve¡tiotr, dos sticky step the toùdF opratio¡. a¡d a to oDe laptop Prfol'Dae. a¡d Po\terMac a¡e registered tradem¿¡ks of Apple Coryute¡. Itrc.). Fo¡ o¡e embodime¡t of the preseut iDvcDtioE. the stqts t ¿.ûd 9 are prfonúed by a touchpad driver residing itr ¡Þe¡ûory r¡Dil 1(H0 of compute¡ sysûem 65 1010. Touchpad d¡ivd 1045 ge¡qa¡es bùÉon values. reslroDditrg to the bütto¡ positiotr of a hecbatrical switch. tho dow charts of FIGS. of to step t90. At stp t40. the value of th FiûgerDowtr variåble ir set to True. a.nd a v¿riable DowtrFâDsitioDs if TiEe is set equal to SâmpleTime. Thus. wheD tÌìe usr itritiares the frrsa contåct with the touchpâd (i.e.. whe¡ corDputer systeÞ 1010 receives the ñ¡st dåta packet from the toÌ¡chpad after eiôr stel' 935 o¡ 950 of FIG. has set the value of the Fi¡ge¡Dowtr vdiable 1o Fa-lse), the process of cû- t 5.7&218 11 Dechatrical bultoÀ switch vâlù. This allov/s lhe n¡ech¿Dic¿l drag operatioDs. b¡.¡tloD switch to override the toùdtped At step t90, the Fù exarDple. âs sho\r[ itr Patt A of FIC, 11. a¡ operato¡ value of tl¡e B¡¡üonslat geftraftd at stqr 880 ãnd vâlue of cãn pe¡føm å o.ìrscr¡ r¡¡Dipulåtior opratioo by coúaditrg y. ând z to¡cl¡pad infctrmåtioD i¡ thetr suppüed to the the x. r¡e touch-seÀsitive input device a¡d mâitrtafuin g this contad slå¡d¿rd mouse d¡iver. which thetr pedor¡as the ¡cqùestd fo¡ rúore tha¡ a ùser-seleatahle b¡rihum tap i¡le¡val (i.e., coDtrol opratiotr Lnxr¡r,y, *\,In othef u/ords, ¡Á,he¡ thc co¡t¿ct intrval is FIG, 9 pr.eseDts oÃe erDbodimeDt of the tirEer proaedure 30 lobger ùaû the D.å¡iEum t¡p iDierval. tlüs eDbodiDeÃt of lhat opf,ates in conjuDc.ioD Eiú the stq)s of FIG. 8 lo the prese¡t inve ioD does Dot produce a buüon dowtr sig¡al glxl. thfu timer p¡ocedu¡e ís Âhd ooly iDitializs tbe mo¡¡se driver iD older to c¡use lhis ÍEoduce buttoD values. At stp itritiålizod every TimerPriod by the TiúcrManager drive¡ to exÂmi¡e the positio¡Âl da¡a comiog froñ drc prograrD. which is iDstalld by the pIocess of FIG- 8. A¡ step touchpad to Fe¡fo¡m the ¡equeúÊd d¡rso! t¡ackihg olremtiotr. 905. the co¡¡puter reåds the z-axis itrfo¡nÂtion from the 35 However. as show¡ i¡ Pdt B of FlG. 11. a¡ opratcr ca¡ touchpad i¡ o¡dr to dtrei¡e if the user has trEiÀåtei his pelform a click opentiob h,y (1) naintaídng his f¡st coq¡act coDtact u,ilh thc touchpad. Theù. al ste 910. a dotefmiÃatioû with the tor¡ch-seNitjve i¡pùt device for less tha¡ the is made as to whethe¡ tlte z-axis d¡ta r¿d fiom tbe toucbpad lDÂ.Rimu¡n tap i¡terval. end (2) Dot initiåtilg a secoDd clntac! is lcss th¡ a p¡edete¡mined tkshold value (, .,ørÞ¿¿). The intôrval with the loudr-se¡sitivê inpùt device until the z-axis dåta is compa¡cd to a theshold value at step 910 itr ao ma'.imum stick)¡ tirEe bas elapsed. I¡ addition. as shorv4 in ødêr to q)timize the op!:¿tion of the touch-seDsitive iûput Part C of FIG. 11. a-o opsator ca¡ p¡form a cück oprÂtion devic by pdformi¡g a ûItri¡g opera¡ior¡. If thc z- aris d¿ta by twice quickly t¿ppidg lhe toudl-seDsitive i¡püt dvice. is ¡ot less thÂn the z,r,-"å"¡d valu. tie Frocess of FIG. 9 theD where each tap toggles the Buttobstale va¡iâble oDce. execùtes step 940. which rcsets the TÍmãMa!åger p¡ogr¿m Morcovcr, an showtr itr Parts D--4 of FIG. thìs fo¡ c¡lli¡g tbe tiEor p¡ocÊdure at rhe Dext TimerPcriod 45 embodùoe¡t of the f{eseol i¡veÀtiotr e¡ables a¡ opflaaor to i¡tsrval. prfc,rlD a double-cÏck operâtioo by pcrfcrDiag two click Otherwise, if ¡he z-a:ds data is geate¡ o¡ equal !o the opqatioDs i¡ a row' It shoùld b tro¡ed that iÀ thís eltrbodimetr¡ of thepreseDt iDventio[. the mouse d¡ive! me¿sù¡es the lredeter¡Þi¡ed r !,,-¡, value (whidr i¡dic¿tes tha¡ the usef is tro lo¡ger co¡lactirg the toucbp¿d). a deterEitration is gap tiltre betweû subscqueDt click olq-atioùs- i¡ øder to nr¡de as to tlÌe ealue of the FiûgefDowD ¡ooleåD variable, 50 ascertaíD vlelher lhe sùbsequelt click operatioÀs a¡e part of If lhis variable is True, a¡ llp'fime va¡iable is created aod its a d¡lti-click ope¡atior. Furthermore. as showD i¡ Pdts H-J va.lue is set equ¿l to the clock value at the InomeDt that the i¡ FIG. 11, a user ca prfo¡m a d¡ag cpãation (i.e.. geDerate timfr procedr¡¡e harsitiotred from stcp 915 ûo stap 920. a bì¡ttoo down value aDd ¡¡¡ai¡tai¡ this buüotr dowtr valuc for SiÂcÊ the p¡ocess of FIG- 9 tr'åDsitioDs Êom stp 915 to step the duration of the conlåct i[trrval dlriÂg which the usq' 92{ o!.ly orce fo¡ eåch coúact itrtrval (¿s step 935 sets úe 55 tr¿rctr across the toud¡pad) if ( I ) a fi¡sr coDtâct intdval is not value of FingsDown ¡o fâls) ând o¡ly âfter the ùsr lotrger thatr the lDâaimun t¡p iÀ¡ervâj" (2) the gåp intrval ¡er¡¡i¡âtes his contact (ås the p¡ocess caD otrly û-¿nsitioD betweeo the 6fst mttåct iDtc¡vât atrd the secoDd co¡tad Aom sl@s 910 to 920 if a¡ step 910 â dereÍ[ilatio¡ is ûâde i¡Erval is ¡ot gEate¡ tå¿D the u*r-select¿blc EarírÞulû thal the z-axis dåfå is less h^¡ ,,r-,ur). UpT ime co¡resticky tiæ. atrd (3) üe second tap tutívat lasts loDge¡ rhan spoods ¡o úe tiln that the user tefmiiates bis co act pith 60 the maximùItr tap hterval. As sholr,D i¡ Part I of FIG. 11, lhis the louchpa¿ Ar step 925, a dcter¡Dl¡atioD is theD lDÂde aJ el¡bodiment of üe prescnt itrveDtioD also allows a user to to whfte¡ UpTime mitrus DowtrTljtre is less tha[ ¿ usú reposition his n¡ger duritrg a drag opralioD. FiDaüy, as selectåble Eâximum tap time (t,rp{^x). If this is Cue. r¡e¡ sbou'o io Part J of FIG. 11, this embodiment of the preseot at step 930 the ButtotrStatc variÂble is caused to togge (i,.. i¡vention enables atr cpelator to caDcel lle sticky d¡ag to dlallge ûom Up to Dowû o¡to dlâ¡ge ûor¡ Dow¡ to Up). 65 featEe by quickly lappi¡g tl¡e touc¡-seDsitive input device Othfrwise. st? 93{l is skipped. ,c.t srrp 935. $e FiDgerDow! at the end of a d¡âg operatio¡. order lo toggle the cotrditiotr is set to false, As tDeDtioEed before. at step 9.40. ButtotrSt¿te variable. t has been Oû rhc othr ba¡d. if at step 915 a detmin¿tio¡ is mÂde i¡itialized- If so, the toucÞad d¡iver ù'¿ls¡tioDs (o step E80, thal tlrc FingrDoro va¡iable is false. stÊp 945 is perfoÍDedOlberwioe. stq)s E6O aDd 870 are erecuted Ib slcp 860. 5 Itr slEp 945. a dêtrEinÀtion is made as to wbethe¡ the clock the tiÉ6 rubÀiDg coDditio¡ is set ¡o be Trùe âùd thc value mi¡us UpT:rme va¡iable is g¡eâtr ôaD a ùstf selecred of a TimerPeriod va¡iable ¡s se¡ to equal a Irederelmined tnaximum sticþ time, If lhe ¡esult is ¡egatiye. tbeD step 940 user scleclâble valùe. I¡ o¡e emhodimeDt of the present is Êxecùted. Otlrcnvise. at step 9S0. the Fi¡gerDowtr aDd iDveÞtion. tbe TlnÉrP6iod variablc is set equal to o[e hålf TjEfrRùntriEg coûditiotrs ¿¡Ê set to be false. the TimcrMa¡of DoubleTim. wbidr is a Mactutosh low ]uemory global 10 ager is caoceled. and lfie BuüoÀState vâ¡iable is set equal to vafiâble ¡epreseûting the E¿ximum number of ticks alowed the uP va.lÌ¡e ar step 950. betweetr two cliks itr a double-click operatio¡. The use of As dentiorcd before. the embodir¡e¡t of t¡e lreseot DoubleTfu¡re is coDvÊDie becaùse it is use¡-adjustable a¡d iDve¡tioÀ set forth ià FIGS. t a¡d 9 Fovidcs a method for co actiDB a touchpâd to ch¿rge the v¿lue of a bùtto¡ it !lates to how fast atr operator might dp¡ss arìd ¡elease ùc ltrecha¡ical bùtton switch, ,- variable, which simulats the bu o¡ state (e.g.. the up or . Next. at st¿p 870. a TimerMaþage¡ p¡og.arû is itridÂred ' dol'Þ positioD) of a mecba¡ic¡l buttoÀ switch. More specifrca¡ly. tbís embodimeût of the pæsebt itrvertioh whose sol pu¡pose is to start tho tiEe¡ procedure of FIG. 9 eEables an operator to generÀte buttoD v¿lues based on the otce every TimelPerlod. Mo¡e speciñcally. this T:¡ÌûrrMaDdü¡tiotr of the cotrtact i¡tervals a¡d the fiequeDcy of 6e ager Fogra¡D repeåtedly cåls the timr procedure once cont¿ct i¡lcrvals, h û¡m. as showD itr FIG. 11. úis button every Ti¡¡erPe¡iod until it is cåÞceld at step 950 of FIG. 9. æ gencråtiob cåpability en¿bles a! oprrato¡ to prform with a F¡¡ally. at step 8E0. the rouchpad d¡iver program pedoû¡s single touch-seDsitive cu¡sor-coEtÌolI¡g ilput device aÁ OR qr¡atioD oD the Buüo$tate variable (whose vâ.lùe js ourDerous contol opfatio¡s. such as cutsol tD¡¡ip¡latío!. coDtsolled by the timef Focedure of FIG, 9) with aD âcllal cl¡ck Dulti-click. &ag, click-aûd-d¡ag. ¿Dd mulri-click-ardis EÂde whelhe¡ the timÊr p¡ocedu¡e of FIG. FIG. E tratrsit¡oos ûoE stp E30 to 840 a¡d sets Ihe Fi¡gerDotr D variable to Tlùe. At st4p &l), å detrrDiDÂrioo tz the Timea ProcedD¡e ¡esets the time¡ procss aDd the process exits. fcr aDothe¡ pass 25 ll. i¡ 5.7&,218 13 It will be ¡ecognized t¡at the above-dscibÕd i[ventiotr EÂy be eDHied in oúer specific fofms withoùt departiDg from the spirit ot the essê¡tial chdactcistics of the iDven- 14 ¡ot follow said ñrst coDr¿ct iDtcrval iD less tha¡ saìd seaoDd predetetui¡ed lDaximù¡ time i¡tcrvali g) determinhg if said secoDd cotrtact i¡terval lasts loogfr tbaD a third ¡edÉtemiDed ¡Dâximl¡m tir¡e itrte¡val if said secoDd co¡tåct iDüerval does follow said nrst cobtecÍ i¡lerv¿l itr less tha¡r sâid secotrdprcdete¡EiDed EaxiEum time iDkr,/al; h) sudyitrg positio¡al dâta relali¡g to the scoDd c!¡tact intíval to said col¡p¡tef system to cause the curso¡ to move aøoss said display sc¡een if said seco¡d confact tio¡. F6 example. elthoùgh rhe above-me¡tiooed embodi- b uDdarstood by oue skilled iD rfie a¡t lhat alter¡ative embodime¡ls of the preseDt i¡ve¡tiotr geærate a buüo¡ dowo sigDal at differe0t tibes. For example. a butto¡ dow¡ ¡trents genrate a ButtoDDowD value attheteûDinatioD ofthe user's co¡tåct with üre ¡oucå-se¡sitive itrII¡t device. it will 5 contact with the louc¡-seûsitive itrIxtt device. or (3) a p¡edeterhiæd ùDoùtrr of dln åffe¡ tbe use¡ t@i¡ates his coÃtåct ¡tith lhe toùch-seDsitive iq)¡¡t device. HoweveÍ. it sig¡al can b ge¡rated (1) when tfie usridtiates a coÀtact. t0 (2) ¿ predete¡mi¡ed a¡¡ouDl of ti¡ûe añef Ére ùsq hitiâtes a inttrval las¡s lotrger thaD said thi¡d predt<mined secoDd contåct i) maximum time inûerval; dereating whether â ûùd a¡d acccleratio¡ of the co act it¡ o¡der !o funhe¡ discem betwee¡ ope¡atioùs. Zaxis sensitiút)¡ ¡D.ay also be used ûo 20 discEo @cratio¡s by indicariDg hor{, fâr lhe fngù wâs lified of the touc¡pad duri¡g the q)eratioÀ. Thus. while ctft¿i! exemplary embodiments bave bccD described aDd sbo{¿n iD the accoEtpa¡ying dr¿wi¡gs. it is to be u¡dr¡stood that tle itrvetrtiotr is Bor limired by the foregoiog illustsat¡ve details. t5 but râtùer is def¡ed by the ÂppeDded cl¡iDs. Whåt is clairDed is: 1. A method of opsati¡g a ùouc{¡- seEsitive .iDput devicÊ a cohputer system cotqprisi¡g the stel s of: should be notd tl¡at sele.tiotr upotr liftbg h¿s the advahtage t5 of âllowiÀg the ùser to move of of a mistakebly selccl¿d object withoùt activâtiüg it I¡ âddirion. âlterøtive embodime¡ß of thepresetrt i¡veùtio¡ detff¡Ehe tùe z-axis vlocify cottrct interval follows said i¡terval in less than a foùfh p¡edeterthe j) miDed loaxi¡ûùm time iDtervali seeing tle velue of the BuüoDstate va¡iable to se¿o¡d button valùe if så¡d thi¡d coÞtact iDtêrvs.l does ¡ot follow said secoDd coDlaat interval i.o less tha¡ said lhe cursoi movemenß iDitiated by suplrlyhg positioDål dat¿ relÂtiùg lo the secoDd contâct intcfvål to the compuier system a) detedi¡g contad hterval¡ wheD a user contacts lhe 30 said third co ¿ct iDterv¡l lasls touch-sensitive i¡put device; IoDger tha¡ said ñfth predetemioed D,aximum dme iùtcrval. b) detecti¡g gap iDte¡vals bctlve¡ subseque¡t contact 3, The mthod of clÂilî 2 ñ.8ûìe¡ cÐrúpfisi¡g the srp of itrterva¡s; aDd seEitrg the value of the Butto¡SÞ¡e vå¡i¿ble to lhe secotrd c) disti Dguishi¡g betwee¡ s first at¡¡sor co¡tol operatio¡. ". buüo¡ value if said third coÞtad iûtervâl dos not låst loEgû a secood o¡rsor conEol opereliotr a¡d a thi¡d cu¡so¡ lhá! said ûfrh Fcdetfrmi¡ed l!¡xirEum time interva.l. coûlrol opemtioD based oÍ the dù¡atiotr of said coDtad 4. A rDÊthod of using a toùch-selrsitive input device a¡d gap iDte¡yals; âEd coùpled to â coqputer system to move a cu¡so¡ oD a displÂy d) rponi¡g o¡e of said frst. seco¡d or rhid cursor scree¡ of the compr¡t¿r system ¡¡d 1o chaDge Ihe value of â control opefations iD accddance with said stcp of aO ButtoDs¡ate variable to otre of a first bùttotr valüe ahd ¿ disti¡guishì¡9, secoDd buttoÀ våIue. sâid Bi¡fio0state variable sírÁulatiDg ¿ 2. A hethod of usiDg a toudt-sensitive iûput device buüon $ale of a n¡¿hatric¿l br¡ttotr swiæh, said meú;d coupled to_a comF¡tE¡ system to ¡DorÞ a cursor oD a display cohprisitrg lhc sr¿ps of: scree¡ of fhe computff system and to cbaoge the value-of ã a) detecting a ñfst coDtacl erval whe¡ a use¡ fust Butto¡State vå¡iable to oDe of a fusÎ bùttoÀ value a¡d a 45 coDtåcts said touch-setrsitive input devioe; secotrd bùtto¡ vålue. såid ßuüo¡State vr.iable simulating a b) de¡fmitriry if said frst coDtÂct iÃte¡val lasts lodgfr. bùdoD state of a lbedtan¡cal bùtton switch, said Eethod th¡¡ a first prgdetenDined ¡Þ¡ximum time iûtcrval; corryrisi¡g the slcps of: c) supplyitrg positioÀal d.ata relati¡g to the frst contâct a) dete4ting a first coDtact hterval whe¡ a use¡ first ibterval to said coDp.¡tf systemto c¡ùse the corso¡ to contacts said touch.seisitive i¡put 50 rnove across said display sseetr said fust coDtact b) dctelmini¡g if said tust coEtact íltervâl lastl louger i[tcrv¿l laitr lo¡ger thaD said fi¡st FedeterrEiùed rDa.xi¿hetr a first predelerrDined m¡ximum tiDe ínte¡vat; mum tiEe iDterval; c) supplying positional da¡a rêlÂtitrg to the fi¡6t coDt¿ct d) sctiDg the value of thc BùroDs(ate variable to the fiJst ibterval to said computcr system to ceuse the cu¡sor to butoD v¡lue if said first cootact itrterval dos trot last rrrove across said displÂy scretn if said fust o act 55 lotrer d¡an said fust predetí¡dúed of foùrtlÌ predetermioed maximùû tiÞe inteaval; deùefmitribg if said third contad iftervål lasts longe¡ tha¡ a ffdr predetsmiûed DaximùD time iftervål if said third coDtact intsval does follow the scotrd conlâct i¡trval in less ttìaÀ said fot¡¡th predefeínined D¡rimùl¡t time itrtedali a¡d l) supplying positioÐal dafâ retatiDg to the third c!Àtact itrtrval !o said corÞpt¡ter sys¿eû i¡ o¡dcr to Eairtai¡ k) if -' i dcvicel if i¡rôrval låsts lorge! tha¡ said fÃt Fedete¡mined rDÂximum ti¡¡e intcrvå.I; d) settitrg the valùe of the BuroDsrå[e va¡iable 10 the fu.st bl¡loD value if said nrst coDtâc{ itrtcrval doês not lâsl longer rhan said first predetemi¡e¡ m¡xiroum timr ibtervâl; e) ddÊcting whetheÌ a sccond coÀtacl itrtrval follows said Írsr coltåct i¡terval itr less th¡n a sco¡d predgtermiûed ÌDarimud tiltre iDterval; Ð settiÃg the va-lue of thc BuBoDStat variable to the secûnd bûtto! value if sÀid saotrd coDtad iDterval does lDarimù¡n tfuûe intrval; c) detectibg whethr å secoDd cotrtact i¡¡erval follows said fust coùtact iDûe¡val i¡ less than a scoûd prede- d tûiDed trl¡ximum tihe iÀtrva.l; f¡ 6s setthg tl¡e value of the BùttoDstat variable to the scold br¡üotr value if said secotrd coDtact itrt¡rval dos Dot follow said flst conlact interval i¡ less thâr sâid seco¡d predeterEiÀed r[âxillurE tirûe i¡tcÍval; g) detfmitriDg if sâid seco¡d contacl iotÉrval las¿s lotrgr thatr a third predf¡er¡ûiDed måximuû time itrte¡'val if said secoDd coDtact ioterval does follow said firsr 5.7&.218 15 rÞ¡xir¡uE time inte¡val co¡tåct futerval iÞ legs úaù sajd scoDd Fedetermi¡ed ; 16 Ð circuity for settibg ü¡e va.lue of óe Buttonstate vãiable to the secoDd bùÉotr v¿Iùe if said s.o¡d co¡tact iÍerval does not follow saíd fust co¡tåct i!ûervål iD less thaD said scord prEdeteÍtri¡ed l¡,axirtruJtr time iDtr- h) sùpplyiEg positioEal alal¡ rdati¡g ro the secord coDt¿cr hterval to said coûtx¡ter syst¡tr to cause the cr¡¡sor io ¡ûoye acfosr said display scree¡¡ if said second mtrlact 5 val; g) circuitry f6 dete¡miDitg if said secoDd cortact irterval lasts longer tha¡ a tìi¡d predteítrihed rEaximum time intefval. if said secoDd coDtact itrtw¿l does follow sâíd fust coDt¿ct intrval in less lhatr said scoDd p¡edeter- interval lasts longq. than said third predetÍ¡tri¡ed mâxiúùm time i¡terval; i) selthg the value of the Buttolstate valiable to tåe seco¡d buttotr valu e if said secotrd co¡tact i¡terval does ¡ot last loDger th¡ såid third predetermined j) setti¡g the value of rl¡e Búto¡State Ìa¡iable to the frst butto! value; k) derectiog whethet a thùd coDtact i[te¡vâl follows såid seco¡d contact i¡¡ùeryal i¡ less tha¡ a fouth predetermiDcd mâxiltrum tiÌtre ibterval; lo mítred tD¿ximum time i¡trval: h) ci¡cuitry for supplyitrg posirioûal datã ¡elathg to the seco¡d contaa! intqval to said com[N¡têr systeE to r) . I) seújag tfie velue of the Buttolstate variable to the secood òuEoù value if said rhird co¡tåct i¡t¿rval doei Dot follop said se4o¡d colt4ct i¡trval itr less thatr said foû1b p¡edetffmi¡cd ¡tr¡txi¡¡um lime hterval; m) detfmid[g if said third cont¡d i0te¡val lasts lo¡ger ¡h¡¡ â fifth predetúmi¡ed m.a¡fu¡uJ¡r tùne interval if said tlrird cÐûtact iDtrval does follo'r raid seaoDd cobtûct hte¡val itr less tha.n sÂid foütb FedetermiDed maximum time i¡tefvål; a¡d i) cirolitry for dtecti¡g whethe¡ fourù prcdeterrÈiDed predetømincd maximûD time itrrrval; a third cotrtact iDterval follows saíd se@¡d coDtact ihterval iD less täa¡ a rhe value cause the curso! to move across said displ¿y scree¡r. if said secoDd cobt¿cl itrtcrval lasrs lo¡ge¡ rbtu sÂid third 20 j) circuitry for scttilg iÀtffval; âble to the sccoDd buttoD vålue if sâid üird coÃtact iDterval docs not follow s¿id secobd co¡tact iDtcrval itr less tha[ said fo¡.¡¡th Fedctemi¡ed r¡arimum time Drxirû¡m tirDe hte¡vali of the BuüotrState vári- r) 25 sùpplyiDg po6itional d¿ta relatibg to the third coÃtact iûtervål to said co¡¡putr syste[! to cause the cü¡so¡ !o move acloss said display s.Tee¡ if said tåjrd cD act ùterval lasts lotrge¡ thaD said frnh p¡edetcr¡ûined maximum time iDterváI, 5- À appã¡at¡s for op<fatiDg â toucb-setrsitive iùpr¡t device of a corDpúer system coEg¡isi¡g: a) mears for detEctiDg co¡t¡ct iûte¡vals wheD a user 30 co¡tacls the tolÌch-seositive iDIrut device; val to the coûPo¡er sysþtD" if said third confact i¡t(val låsù lotrgrthâ! said ffth p(edete¡miDed EåxiEì¡m ti¡ne b) lne¿trs for de¡e.li¡g gE ìDtefvals betweetr subseque¡t iÀterv¿I. co¡tæt i¡tervals; â0d 7. Tbe appâfatus of c¡Âim ó ñ¡dìcr coDp¡isirg ci¡cuitry c) meaDs for distiDguìshiDg betweer a ñrst cursor c!¡tol for seüùg the value of the ButtoDst¡te varieble to the secoDd opffatiotr. a scco¡d cùrsor colt¡ol ope¡atio¡ a¡d a third buftoù vElue if said ¿hiad cont¿ct i¡tÊf,val doer noa lås! lotrgq crùso¡ contsol operation based on ü¡e du¡atioD of sâid cotrtâct atrd gap iDtervals and for reporti¡g oDe of said a0 tha¡ said û.fth predeiernitred ¡úåxiDùm time i¡¡erval. E. A¡ âppa¡aü¡s for usi[g a toud¡-sens¡tive iÃput dovice first seco¡d o¡ thi¡d cù¡sor coDtrol qpemtio¡rs itr accorcoupld to a compùter rystcm to Eove a d¡¡sor oo a display daDcc the¡ewith. screen of tbe cor¡pute¡ syste¡û aod fo dlaDge the vâlue of a ó. An app4arus for usiÀg a tou(ü-seDsitive i¡put device ButtotrSt¡Îe vå¡iable to oÀe of a 6rst buttoÀ value âtrd a coupled to a computer system to move â d¡rso¡ oo a displây screer of the coûlPutcr system aod to cüaDge the value of a 45 seco¡d buttotr vâlue, sâid Buttorstate vå¡iable sirnulating a buüoÐ rtate of a mechanicel buüon switdt. said apparans Bl¡üonståte variable to orc of a ñrst bùttoÀ valuc a¡d a coryfisitrg: seaond bulo! va.lue. såid BuüoÀSrate våriÂbte sihpt,ting a a) circlritry fo¡ detediEg a fi¡st co[t¿ct interval when a bùtton state of a mechåEical buEotr switch. said appå¡atùs usff fust coDtacti said ¡ouch-seDsitive iD[ut dcvice; comprising: a) circuity fø detÊcti¡g a first coña(t interv3.Ì whe¡ a b¡ a"krmidDg if said ñ¡st co¡tact ib¡rval "ít-iu'y ùser f¡st cofiacls said touch-seositive ì¡tr,t¡t device; la¡ts lo¡q tha¡ a first predetermiDed lDaximum time iotrval; b) circuiFy fo! detrmiú¡g if såid ñ¡st cobtåct i¡terr'âl lasls loDger lhaû a fust predctqmhed ¡lariDum time c) cirqritry for supplyiDg positiou¿l dá¿ ¡elatiÃg to rle iDlerval; first cotrtact itrterval ¡o said compuler sys¡em to cause tbe cursor to move aøosr said display sc¡eet if said c) circr¡itry fo¡ supf,lyi¡g positiodal dåta ¡elâtibg ro the fust cootâct idc{'val lasts longe¡ thao said flst prÊdefust coDtacf iùtarval to said corEF¡t6 system to c¿use tcfmiDed ¡!¡ximu¡n time iDtervali the cursor to move a6oss said display screeD if said first co act i¡tf,vaì lasts lotrge¡ thaÞ said f¡st preded) cirq¡itry for selting tlìe value of the BuBoDstate termi¡ed rDâximum tiEe iDterval; vari.able to the fust bùtton value if said fust coDtact d) circr¡iù-y for setriîg the vãlue of tbe Bu[oÀState iDtcrval docs not lâst lotgcr thaÀ said frst predete¡miDed ma¡imum intervâl; variåble to the first bu¡totr valuc if said fust co[tact itrtervsl does Dot last lo¡ge¡ lhatr said f¡st prr/etere) ci¡cuitry for dtectiDg whether a secoDd cþltact iDtFval mi¡ed m time i¡terval; follows said ûrst coÀtac{ íûterval itr less thâ! a secotrd e) ci¡c¡¡iFy fo! detecting whether a scoDd cotrtad ì¡terval p¡edtermiæd lÞaxi¡nùm time irtøvål; follows said fi¡st c!¡tad iDterval i¡ less tha¡ a second Ð ci¡cuify for settibg the value of tàe ButtoDstde varipredeterrDined rDaximurD time iût6eal; able to the second buüon value if said seco¡d co¡tad k) circùirfy for deteûEitri¡g if said third contact iûtf,val laJts loÀger tháD a ñffh fEedltmfued maxiDr¡m rime iDteÍ_val. if said thi¡d coDt¿d irterval dos follov lhe second contact iù!rv¿.l iD less tla! 6a¡d fol¡nh predetermiDed l¡¡tdEl¡m time iDteryal: l) circuitry fo¡ suPplyi¡g positio¡al d¿ra relatiog !o the Ihird cotrtact itrtervat lo såid corDpùtef system iß crdcr to mai¡Îâi¡ the cursgr moyemeÀts iÀitiâted by sulplyihg positio¡ål dâta relati¡g to the sccotrd co

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?