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)
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
' tcrtrMÂ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
tcztlt¡¡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 ttttnpurx
UP
BUTTON
DOWN
--t_____I
tsrriKMñ
tlttl¡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¡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
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?