專利名稱:利用單指點(diǎn)設(shè)備模擬多點(diǎn)手勢(shì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及多觸摸手勢(shì),尤其涉及利用單指點(diǎn)輸入設(shè)備模擬 多觸摸手勢(shì)。
背景技術(shù):
多點(diǎn)傳感器面板是能夠同時(shí)感測(cè)多點(diǎn)事件的面板。因此,多點(diǎn)傳 感器面板可以例如感測(cè)在兩個(gè)不同位置處同時(shí)發(fā)生并且由按在面板
上的兩個(gè)手指或其他物體引起的兩個(gè)觸摸事件。在2007年1月3日提交 的、名為"PROXIMITY AND MULTI-TOUCH SENSOR DETECTION AND DEMODULATION"的美國專利申請(qǐng)No. 11/649,998中討論了多點(diǎn)傳感器面板的例子,該申請(qǐng)全部包括在此以 供參考。如同在后面的申請(qǐng)中所討論的那樣,多點(diǎn)傳感器面板可包括 多觸摸傳感器面板以及其他類型的傳感器面板(諸如多接近 (multi-proximity)傳感器面板)。多點(diǎn)傳感器面板可用來為各種電 子設(shè)備提供改進(jìn)的用戶界面。
一種利用多點(diǎn)傳感器面板以提供改進(jìn)的用戶體驗(yàn)的方法是允許 用戶使用多點(diǎn)手勢(shì)與設(shè)備通信。手勢(shì)是用戶輸入,其不僅指定位置(例 如,與使用普通鼠標(biāo)點(diǎn)擊的情況相同),還指定一個(gè)或多個(gè)物體的某 種運(yùn)動(dòng),所述運(yùn)動(dòng)可選地具有一定的方向和速度。例如,基于傳統(tǒng)鼠
鼠標(biāo)以執(zhí)行手勢(shì)。多觸摸功能可允許使用更復(fù)雜的手勢(shì)。例如,用戶 可通過在面板表面上同時(shí)移動(dòng)兩個(gè)或更多手指來執(zhí)行手勢(shì)。在2004年 7月30日提交的、名為"GESTURES FOR TOUCH SENSITIVE INPUT DEVICES"的美國專利申請(qǐng)No. 10/卯3,964中更詳細(xì)地討論了多點(diǎn)手 勢(shì)(尤其是多觸摸手勢(shì)),該申請(qǐng)全文包括在此以供參考。為了獲得多觸摸手勢(shì)的全部好處,運(yùn)行在有多觸摸能力的
(multi-touch capable)設(shè)備上的軟件可能也需要有多觸摸能力。但 是,開發(fā)這樣的軟件可能是困難的。現(xiàn)有的用于開發(fā)軟件的計(jì)算平臺(tái), 諸如普通的個(gè)人計(jì)算機(jī)和/或工作站計(jì)算機(jī),通常不具有多觸摸能力。 在缺乏這種能力的情況下,現(xiàn)有的軟件開發(fā)計(jì)算機(jī)通常不能測(cè)試正在 其上開發(fā)的有多觸摸能力的軟件。
開發(fā)者可將正在開發(fā)的軟件加載到有多觸摸能力的設(shè)備上,然后 在那里測(cè)試該軟件。但是,在實(shí)踐中,開發(fā)者可能需要對(duì)軟件的不同 版本執(zhí)行許多重復(fù)測(cè)試,并且,可以證明不得不把要測(cè)試的軟件的 每個(gè)版本加載到單獨(dú)的設(shè)備上是非常耗時(shí)的,而且可顯著減慢開發(fā)過 程。
發(fā)明內(nèi)容
本發(fā)明涉及允許計(jì)算機(jī)系統(tǒng)使用單指點(diǎn)設(shè)備來模擬多點(diǎn)手勢(shì)輸 入。模擬軟件可接收單指點(diǎn)輸入(諸如,例如來自鼠標(biāo)的輸入)并將 它們轉(zhuǎn)換成模擬的多點(diǎn)手勢(shì)輸入,諸如手指收縮(pinch)、擴(kuò)展 (reverse pinch)、平移、旋轉(zhuǎn),等等。模擬軟件還可允許用戶使用 鍵盤鍵,以便在生成多點(diǎn)手勢(shì)輸入時(shí)給用戶以額外控制。
可通過各種預(yù)定義的方法來將接收到的單點(diǎn)手勢(shì)輸入轉(zhuǎn)換成多 點(diǎn)手勢(shì)輸入。例如,接收到的單點(diǎn)手勢(shì)輸入可用作第一手勢(shì)輸入,而 第二手勢(shì)輸入可通過將第一手勢(shì)輸入移位預(yù)定義的向量而生成??蛇x 地,或者除此之外,第二手勢(shì)輸入也可被定義為與第一手勢(shì)輸入關(guān)于 預(yù)定義的點(diǎn)對(duì)稱的手勢(shì)。在另一種備選方案(alternative)中,可從 單指點(diǎn)設(shè)備連續(xù)接收多個(gè)單點(diǎn)手勢(shì)輸入并將其轉(zhuǎn)換成多點(diǎn)手勢(shì)輸入, 其中所述多點(diǎn)手勢(shì)輸入定義的是所述連續(xù)接收到的多個(gè)單點(diǎn)輸入的 至少部分同時(shí)執(zhí)行。
圖1是根據(jù)本發(fā)明的 一 個(gè)實(shí)施例的有多觸摸手勢(shì)能力的示例性設(shè)備和用來為該設(shè)備開發(fā)軟件的示例性設(shè)備的圖。
圖2是示出根據(jù)本發(fā)明的 一個(gè)實(shí)施例的可運(yùn)行在測(cè)試設(shè)備上的示 例性軟件的圖。
圖3A和3B是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于定義觸摸的起 始位置的示例性方案的圖。
圖4A和4B是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于定義觸摸的手 勢(shì)運(yùn)動(dòng)的示例性方案的圖。
圖5是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于定義手勢(shì)的示例性方 案的圖。
圖6是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于定義手勢(shì)的示例性方 案的圖。
圖7是示出可利用根據(jù)本發(fā)明的一個(gè)實(shí)施例的設(shè)備而輸入的幾個(gè) 示例性的模擬的多觸摸手勢(shì)的圖。
具體實(shí)施例方式
在下面對(duì)優(yōu)選實(shí)施例的描述中將參考附圖,其中附圖是作為本說 明書的一部分,并且在附圖中以說明可實(shí)踐本發(fā)明的特定實(shí)施例的方 式示出本方面。應(yīng)當(dāng)理解,可使用其它實(shí)施例并且可作出結(jié)構(gòu)變化, 而不背離本發(fā)明的優(yōu)選實(shí)施例的范圍。
本發(fā)明涉及允許計(jì)算機(jī)系統(tǒng)使用單指點(diǎn)設(shè)備來模擬多點(diǎn)手勢(shì)輸 入。模擬軟件可接收單指點(diǎn)輸入(諸如,例如來自鼠標(biāo)的輸入)并將 它們轉(zhuǎn)換成模擬的多點(diǎn)手勢(shì)輸入,諸如手指收縮、擴(kuò)展、平移、旋轉(zhuǎn), 等等。模擬軟件還可允許用戶使用鍵盤鍵,以便在生成多點(diǎn)手勢(shì)輸入 時(shí)給予用戶額外的控制。
當(dāng)用戶輸入模擬的多點(diǎn)手勢(shì)輸入時(shí),設(shè)備模擬器可使得在所模擬 的目標(biāo)i殳備(subject device )屏幕上出現(xiàn)標(biāo)記并移動(dòng)標(biāo)記,以指示正 在利用鼠標(biāo)和鍵盤(或其他輸入設(shè)備)執(zhí)行的觸摸事件的類型。這些 標(biāo)記可以是例如小圓形或其他形狀,用于代表在多觸摸面板上或其附 近檢測(cè)到的指尖。然后在測(cè)試多點(diǎn)軟件時(shí),可將標(biāo)記解釋為實(shí)際的點(diǎn)輸入,諸如圓形的質(zhì)心。
雖然在這里可通過模擬對(duì)便攜式設(shè)備、個(gè)人計(jì)算機(jī)和/或工作站 的多點(diǎn)能力來描述本發(fā)明的實(shí)施例,但是應(yīng)當(dāng)理解,本發(fā)明的實(shí)施例 不限于這些設(shè)備,而是普遍適用于在任何其它設(shè)備上對(duì)任何具有多點(diǎn) 能力的設(shè)備的能力進(jìn)行模擬。雖然下面的詳細(xì)描述集中在模擬多觸摸 傳感器面板上,但是其教導(dǎo)可普遍應(yīng)用于多點(diǎn)傳感器面板。
圖l是根據(jù)本發(fā)明的一個(gè)實(shí)施例的示例性設(shè)備(110)和設(shè)備(100) 的圖,其中設(shè)備110可接收多觸摸手勢(shì)輸入,而設(shè)備100可用于開發(fā)用 于設(shè)備110的軟件。設(shè)備110可以是手持式設(shè)備、或筆記本電腦等。在 某些實(shí)施例中,設(shè)備110可包括顯示器和多觸摸傳感器面板111的組 合。但是,在其它實(shí)施例中,設(shè)備110可包括多觸摸傳感器面板而沒 有顯示器,例如軌跡板(trackpad)。在后一種情況的某些實(shí)施例中, 設(shè)備110還可包括單獨(dú)的顯示器。例如,設(shè)備110可以是包括有多觸摸 能力的軌跡板和監(jiān)視器的筆記本電腦。
設(shè)備100可包括監(jiān)視器101、鍵盤102和鼠標(biāo)103,以便與用戶通信。 可選地,該設(shè)備可包括用于與用戶通信的其它接口設(shè)備。應(yīng)當(dāng)注意, 在本例子中,設(shè)備100包括單指點(diǎn)設(shè)備(即鼠標(biāo)103)。由于鼠標(biāo)只允 許一次選擇一個(gè)空間點(diǎn),鼠標(biāo)可以被認(rèn)為是單指點(diǎn)設(shè)備。相反,多觸 摸傳感器面板可被認(rèn)為是多指點(diǎn)設(shè)備,這是由于它允許一次選擇多個(gè) 空間點(diǎn)(例如,通過將兩個(gè)或更多手指放在面板上的或面板附近的兩 個(gè)或更多不同點(diǎn)處)。本發(fā)明的實(shí)施例不要求設(shè)備100只包括單指點(diǎn) 設(shè)備,而是可包括多指點(diǎn)設(shè)備。設(shè)備100可包括CPU和一個(gè)或多個(gè)存 儲(chǔ)器。 一個(gè)或多個(gè)存儲(chǔ)器可存儲(chǔ)指令和數(shù)據(jù),并且CPU可執(zhí)行由存儲(chǔ) 器所存儲(chǔ)的指令。因而,設(shè)備100可執(zhí)行各種軟件,包括但不限于軟 件開發(fā)工具包(SDK)軟件。
如上面提到的,設(shè)備100可用于開發(fā)或測(cè)試用于設(shè)備110的軟件。 因此,i殳備100可凈皮稱為測(cè)試設(shè)備,而i殳備110可4皮稱為目標(biāo)i殳備。
圖2是示出根據(jù)本發(fā)明的 一個(gè)實(shí)施例的可在測(cè)試設(shè)備上運(yùn)行的示 例性軟件的圖。該軟件可包括操作系統(tǒng)(OS 200)。該軟件還可包括
18用戶接口應(yīng)用編程接口 (API) 201。 API 201可以是允許運(yùn)行在目標(biāo) 設(shè)備(即設(shè)備IIO)上的程序與用戶通信的應(yīng)用編程接口。這些API 通常運(yùn)行在目標(biāo)設(shè)備110上,但是可在設(shè)備100處執(zhí)行,以便在設(shè)備IOO 處測(cè)試為設(shè)備110設(shè)計(jì)的軟件。API 201可以與要在目標(biāo)設(shè)備(110) 上執(zhí)行的對(duì)應(yīng)API相同??蛇x地,可基于在設(shè)備110上執(zhí)行的那些API 而修改API201,以便允許在不同的設(shè)備(設(shè)備IOO)上執(zhí)行。但是, 即使在后一種備選方案中,API 201也可向使用它們的軟件(例如, 本例中的軟件202)提供相同或類似的接口。因此,例如,API201可
同的頭部。
在本發(fā)明的某些實(shí)施例中,仿真軟件205可用來允許UI API 201 在OS 200和設(shè)備100上運(yùn)行。而在其它實(shí)施例中,OS 200和運(yùn)行在目 標(biāo)設(shè)備(110)上的OS可以相同或者基本相似,從而仿真軟件是不必 要的。
測(cè)試設(shè)備100也可運(yùn)行要測(cè)試的軟件202。該軟件可以是最終要在 設(shè)備110上運(yùn)行、但是目前還在設(shè)備100上開發(fā)和測(cè)試的軟件。要測(cè)試 的軟件可使用UI API 201來與用戶通信。UI API可提供在要測(cè)試的軟 件和其上運(yùn)行該軟件的設(shè)備之間的所有通信。如上面所提到的,在測(cè)
試設(shè)備上運(yùn)行的UI API 201可以與在目標(biāo)設(shè)備110上運(yùn)行的類似API 相同或非常相似。從而,UIAPI可使得要測(cè)試的軟件就像實(shí)際上在設(shè) 備110上執(zhí)行一樣。或者,換而言之,UI API可允許要測(cè)試的軟件使
世界通信的方法相同的方法。
通常情況下(即,當(dāng)在目標(biāo)設(shè)備110上執(zhí)行時(shí)),UI API 201可 與設(shè)備110的較低層軟件和/或硬件通信,所述較低層軟件和/或硬件可 執(zhí)行各種用戶接口功能。因而,UI API可與設(shè)備110的顯示器/多觸摸 面板lll (或控制顯示器/多觸摸面板的較低層軟件)通信,以顯示信 息或圖形,和/或接收指示用戶輸入的觸摸事件。但是,如果UI API 正在設(shè)備100上執(zhí)行,則它們可能不能與顯示器/多觸摸面板lll通信,這是由于設(shè)備100可能不包括這樣的元件。雖然測(cè)試設(shè)備100可包括顯 示器IOI,但是它可能具有跟目標(biāo)設(shè)備110的顯示器不同的類型。而且, 設(shè)備100不需要包括任何多觸摸傳感器面板。
因此,設(shè)備模擬器203可用來在設(shè)備100處模擬設(shè)備110的顯示器 和/或多觸摸傳感器面板。設(shè)備模擬器可為UI API 201提供這些API在 目標(biāo)設(shè)備110中為了連接到顯示器/多觸摸面板111而與之通信的接口 相同類型的一個(gè)或多個(gè)接口。設(shè)備模擬器203可使得在設(shè)備100的顯示 器101上顯示窗口104 (參見圖l)。設(shè)備模擬器可在窗口104中輸出本 該由設(shè)備110輸出的圖形——如果設(shè)備110運(yùn)行了要測(cè)試的軟件202和 UIAPI201的話——^目同或相似的圖形。因此,窗口104可以是對(duì)設(shè)備 IIO的顯示器的模擬。
類似地,設(shè)備才莫擬器203可接收來自設(shè)備100的用戶的用戶輸入并 將其轉(zhuǎn)換為本該從設(shè)備110的用戶接收到的類型。因此,設(shè)備模擬器 可接收通過設(shè)備100的接口設(shè)備(例如鍵盤102和鼠標(biāo)103)提供的輸 入并將其轉(zhuǎn)換為本該由多觸摸傳感器面板產(chǎn)生的輸入。下面提供關(guān)于 設(shè)備模擬器如何完成該轉(zhuǎn)換的更多細(xì)節(jié)。
在某些實(shí)施例中,設(shè)備模擬器也可模擬設(shè)備110的其它輸入/輸出 功能,諸如聲音、傳聲器、電源或其它按鈕、光傳感器、加速度傳感 器,等等。
在某些實(shí)施例中,測(cè)試設(shè)備100和目標(biāo)設(shè)備110可使用具有不同指 令集的不同類型的處理器。在這樣的情況下,要測(cè)試的軟件202和UI API可分別包括兩個(gè)不同版本, 一個(gè)要在設(shè)備100上執(zhí)行,而另一個(gè)要 在設(shè)備110上執(zhí)行。兩個(gè)版本可以作為將相同或相似的高層代碼編譯 成與設(shè)備100和110相關(guān)聯(lián)的兩個(gè)不同指令集的結(jié)果(出于這個(gè)例子的 目的,高層代碼可包括任何級(jí)別比匯編和機(jī)器代碼更高的代碼)。因 此,設(shè)備100可用來測(cè)試要測(cè)試的軟件202的高層代碼。如果用于設(shè)備 100和110的編譯器不引入任何錯(cuò)誤或不一致性的話,這可能已經(jīng)足夠 了。
軟件開發(fā)工具包(SDK) 204也可在設(shè)備100上執(zhí)行。SDK可用來開發(fā)要測(cè)試的軟件202。而且,UI API (201)和設(shè)備模擬器(203) 可被認(rèn)為是SDK中用于測(cè)試?yán)肧DK開發(fā)的軟件的一部分。在可選的 實(shí)施例中,不需要在設(shè)備100上運(yùn)行SDK。在這些實(shí)施例中,設(shè)備IOO 可用于測(cè)試目的,而不必用于軟件開發(fā)。
在某些實(shí)施例中,設(shè)備100根本不需要用于測(cè)試或軟件開發(fā)。相 反,它可僅僅用于執(zhí)行要用于設(shè)備110的軟件并提供對(duì)設(shè)備110的模 擬。例如,本發(fā)明的一個(gè)實(shí)施例可用來提供對(duì)多觸摸使能設(shè)備的操作 的演示,從而用戶可決定是否購買該設(shè)備。
如上面所提到的,模擬軟件可接收從用戶發(fā)出的單指點(diǎn)輸入或單 指點(diǎn)手勢(shì)(諸如,例如通過鼠標(biāo)進(jìn)行的手勢(shì)輸入),并將其轉(zhuǎn)換成多 觸摸手勢(shì)輸入。模擬軟件還可允許用戶使用鍵盤鍵從而在所得到的多 觸摸手勢(shì)輸入之外給予用戶以額外的控制。從用戶輸入到多觸摸手勢(shì) 輸入的轉(zhuǎn)換可根據(jù)預(yù)定義的規(guī)則進(jìn)行。
通常情況下,多觸摸手勢(shì)可通過在多觸摸傳感器面板上或附近放 置手指、手掌、人體的各種其它部位或物體(例如指示筆或鋼筆)來 執(zhí)行。本發(fā)明的某些實(shí)施例可允許用戶輸入所有上述類型的模擬手 勢(shì)。 一種容易執(zhí)行的手勢(shì)集包括在觸摸傳感器面板的表面上或附近放 置和移動(dòng)兩個(gè)或更多個(gè)指尖。
當(dāng)用戶正在輸入模擬的多觸摸手勢(shì)輸入時(shí),設(shè)備模擬器203可使 得在所模擬的目標(biāo)設(shè)備屏幕(即,窗口104)上出現(xiàn)標(biāo)記并移動(dòng)標(biāo)記, 以向用戶表明他/她正在利用鼠標(biāo)和鍵盤(或設(shè)備100的其它接口 )輸 入的手勢(shì)的類型。這些標(biāo)記可以是例如小的圓形,用于表示按在多觸 摸面板上的指尖。下面將更詳細(xì)地討論這些標(biāo)記。
在某些實(shí)施例中,用戶可通過輸入起始位置(starting position ) 而開始多觸摸手勢(shì)模擬。圖3A和3B示出輸入這樣的位置的兩個(gè)例子。 圖3A和3B是關(guān)于通過移動(dòng)兩個(gè)觸摸點(diǎn)——諸如指尖——而執(zhí)行的手 勢(shì)。因此,可能需要輸入定義兩個(gè)指尖的初始位置(initial position) 的起始位置。
圖3A和3B示出要用于模擬目標(biāo)設(shè)備110的屏幕和/或多觸摸面板
21的模擬窗口300和301。在某些實(shí)施例中,屏幕和多觸摸面板是重疊的 (superimposed),因此它們可顯示在相同窗口中。因而,窗口300 和301可以類似于圖1中的窗口 104。
窗口300和301示出輸入手勢(shì)的初始放置階段??梢愿鞣N方式來初 始化初始放置階段,諸如通過按鍵盤鍵、點(diǎn)擊鼠標(biāo)按鈕(未示出), 或僅僅在才莫擬窗口 (300或301)上移動(dòng)鼠標(biāo)光標(biāo)。圓形302-305代表 觸摸輸入的位置。換而言之,它們代表正在觸摸模擬的屏幕/多觸摸面 板的虛擬指尖的位置。
在第一種備選方案中(圖3A所示),第一觸摸(302)可跟隨鼠 標(biāo)指針(308 )。第二觸摸可位于離第一觸摸固定的預(yù)定義位移處。 例如,第二觸摸303可從第一觸摸302移位預(yù)定義的向量306。向量306 可以是例如某個(gè)默認(rèn)值,或者它可以在之前由用戶定義。 一開始,用 戶可在窗口300中四處移動(dòng)光標(biāo)308并隨之引起觸摸302和303的運(yùn)動(dòng)。 從而用戶可找到所期望的這些觸摸的位置,并指示他/她所期望的觸摸 的初始位置(這可通過例如點(diǎn)擊鼠標(biāo)按鈕來完成)。因此,用戶可在 僅僅使用單指點(diǎn)輸入設(shè)備(例如,鼠標(biāo))的同時(shí),指定期望的起始位 置,該起始位置包括兩個(gè)觸摸。
在第二種備選方案中,代替預(yù)定義的向量306,可使用預(yù)定義的 中間點(diǎn)(middle point) 307。用戶仍然可以利用鼠標(biāo)指針(309)定 位第一觸摸(304)。在這種備選方案中,第二觸摸(305)可以位于 跟第一觸摸關(guān)于中間點(diǎn)307鏡像或?qū)ΨQ的位置處。換而言之,如果從 中間點(diǎn)到第一觸摸的位移定義了向量310,則第二觸摸305的位置使得 在中間點(diǎn)和第二觸摸之間的位移定義了相同的向量(310)。同樣, 用戶可四處移動(dòng)光標(biāo)以確定期望的位置并指示該期望的起始位置(例 如通過點(diǎn)擊鼠標(biāo)按鈕)。同樣,中間點(diǎn)307可由用戶輸入,或者可使 用默認(rèn)值(例如窗口的中央)。
各種實(shí)施例可利用任一種上面討論的備選方案來輸入起始位置。 某些實(shí)施例可實(shí)施兩種備選方案并允許用戶在它們之間進(jìn)行選擇(例 如通過按壓或點(diǎn)擊按鈕)。在某些實(shí)施例中,用戶在操縱觸摸時(shí)可以在這兩種備選方案之間
切換。例如,用戶可開始于圖3A的備選方案,并且將觸摸302和303 的位置移動(dòng)到所期望的第一組位置。用戶然后可切換到第二種備選方 案(例如通過按壓鍵盤鍵)。 一旦激活第二種備選方案,可利用第一 組位置來定義中間點(diǎn)。例如,中間點(diǎn)可被定義為在第一組位置的觸摸 302和303的位置之間的點(diǎn)。因此,用戶可以很容易地定義所期望的中 間點(diǎn),并繼續(xù)利用圖3B的備選方案來選擇起始位置。
此外,用戶也可開始于圖3B的備選方案,以便為觸摸304和305 定義第一組位置。用戶然后可切換到圖3A的備選方案。可利用第一組 位置來定義用于圖3A的備選方案的向量306。然后用戶可利用圖3A的 備選方案來定義實(shí)際的初始位置。
在兩種備選方案中,設(shè)備模擬器可通過例如顯示用于指示觸摸位 置的小的半透明圓形,來指示觸摸302-304在模擬窗口中的定位。也 可在模擬窗口中指示中間點(diǎn)的位置。圖3A所示的定位方法可被稱為平 4亍定4立(parallel positioning),而圖3B的方法可坤皮稱為鏡《象定位 (mirrored positioning )。
本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,上面討論的關(guān)于圖3A和3B的教導(dǎo)可 用于定義多于兩個(gè)觸摸的位置。例如,可將多觸摸定義為根據(jù)不同的 預(yù)定義的向量從觸摸302位移的觸摸。除此之外,或可選地,多觸摸 可被布置在其半徑等于觸摸304和中間點(diǎn)(307)之間的距離的圓形的 周圍。然后,通過擴(kuò)展、收縮或旋轉(zhuǎn)該圓形,觸摸304的運(yùn)動(dòng)可移動(dòng) 這些觸4莫。
圖3A和3B以及上面的討論描述了定義兩個(gè)或更多觸摸的初始位 置。但是,手勢(shì)不必僅僅通過其初始位置來定義。手勢(shì)可能還需要從 初始位置開始的某些運(yùn)動(dòng)。因此,多觸摸手勢(shì)可能需要觸摸的運(yùn)動(dòng)。 圖4A和4B示出用于在已經(jīng)定義了觸摸的初始位置之后定義觸摸的運(yùn) 動(dòng)的方案。
如上面提到的,所期望的初始位置可由用戶通過點(diǎn)擊鼠標(biāo)按鈕來 指示。在某些實(shí)施例中,可通過在移動(dòng)鼠標(biāo)的同時(shí)保持鼠標(biāo)按鈕被點(diǎn)擊(或按下)來定義運(yùn)動(dòng)。
可以通過類似于定義初始位置的方式來定義運(yùn)動(dòng)。因此,圖4A 示出用于定義運(yùn)動(dòng)的方案,其類似于圖3A中示出的用于定義初始位置 的方案。相應(yīng)地,圖4A的方案可被稱為平行運(yùn)動(dòng)定義。位置402和403 可代表用戶定義的兩個(gè)觸摸的初始位置。如上面提到的,可利用根據(jù) 圖3A和3B所討論的任一種方法或兩種方法來輸入這些初始位置??蛇x 地,可使用用于輸入初始位置的其它方法。在設(shè)置初始位置之后,用 戶在保持鼠標(biāo)按鈕被按下的同時(shí)可沿著路徑410引導(dǎo)鼠標(biāo)。結(jié)果,設(shè) 備模擬器也可沿著路徑410引導(dǎo)從位置402開始的觸摸的圖形表示,直 到它到達(dá)位置402,。設(shè)備模擬器還可沿著相似的路徑411移動(dòng)另一個(gè)觸 摸(從位置403開始的觸摸),直到它到達(dá)位置403,。因此,如同圖3A 所示的情況,當(dāng)用鼠標(biāo)光標(biāo)正在移動(dòng)一個(gè)觸摸的同時(shí),模擬器移動(dòng)另 一個(gè)觸摸,以使其位于距離鼠標(biāo)光標(biāo)正在移動(dòng)的觸摸預(yù)定義的位移 處。位移向量可由觸摸的初始定位來定義(即,它可以是在位置402 和403之間的向量)。
圖3A和4A的方案之間的一個(gè)區(qū)別是,在圖4A的運(yùn)動(dòng)期間,設(shè)備 模擬器可跟蹤兩個(gè)觸摸的運(yùn)動(dòng),將其轉(zhuǎn)換成合適的數(shù)據(jù)格式并發(fā)送到 UI API201作為手勢(shì)。另一方面,在圖3A的過程期間的運(yùn)動(dòng)(例如, 在按下鼠標(biāo)按鈕之前)不需要被跟蹤,這是由于該過程可僅僅被用來 定義初始位置而不是特定運(yùn)動(dòng)路徑。
圖4B示出用于定義運(yùn)動(dòng)的方案,其類似于圖3B中所示的用于定 義初始位置的方案。換而言之,圖4B可表示鏡像運(yùn)動(dòng)定義。在圖4B 中,兩個(gè)觸摸分別開始于位置404和405。在位置404處的觸摸(第一 觸摸)可通過光標(biāo)409的運(yùn)動(dòng)而沿路徑414移動(dòng)到位置404'。在某些實(shí) 施例中,當(dāng)按壓鼠標(biāo)按鈕的同時(shí)移動(dòng)光標(biāo)。
設(shè)備模擬器可以如下方式將從位置405開始的觸摸(第二觸摸) 從位置405移動(dòng)到位置405,使得第二觸摸的位置與第一觸摸的位置相 對(duì)于中間點(diǎn)407被鏡像。因此,第二觸摸可沿路徑415前進(jìn)。中間點(diǎn)407 可根據(jù)兩個(gè)觸摸的初始位置來定義。因此,它可以是初始位置404和
24405之間的中間點(diǎn)(如圖所示)。再次,設(shè)備模擬器可跟蹤兩個(gè)觸摸 的運(yùn)動(dòng),將其轉(zhuǎn)換成合適的數(shù)據(jù)格式并將其發(fā)送到UI API 201。
某些實(shí)施例可提4^圖4A和4B這兩種用于定義運(yùn)動(dòng)的方法,并允 許用戶通過按壓鍵盤鍵而在它們之間切換。在某些實(shí)施例中,無論初 始位置是怎么定義的,都可以使用圖4A和4B的運(yùn)動(dòng)定義方案。因此, 例如,可根據(jù)圖3A的方案來定義兩個(gè)觸摸的初始位置,而根據(jù)圖4B 的方案來定義觸摸的運(yùn)動(dòng)。
在某些實(shí)施例中,用戶在定義手勢(shì)期間可在圖4A的方案和4B的 方案之間切換。因此,手勢(shì)的一部分可根據(jù)圖4A的方案來定義,而另 一部分可根據(jù)圖4B的方案來定義。圖4A和4B的方法可用于以上面參 考圖3A和3B所討論的方式來定義具有多于兩個(gè)觸摸的手勢(shì)。
上面討論的方法對(duì)于容易地定義在某些多觸摸使能設(shè)備中使用 的某些類型的手勢(shì)是有用的。這些手勢(shì)可包括例如平行地拖動(dòng)兩個(gè)手 指、收縮和擴(kuò)展兩個(gè)手指、轉(zhuǎn)動(dòng)兩個(gè)手指(就像轉(zhuǎn)動(dòng)看不見的旋鈕似 的),等等。但是,這些方法可能不能定義利用兩個(gè)或更多手指的所 有可能的手勢(shì)。由于可能不需要所有可能手勢(shì)的定義,這不一定是個(gè) 障礙。只有被所模擬的設(shè)備(即,目標(biāo)設(shè)備110)和/或要測(cè)試的軟件
認(rèn)為是有意義的手勢(shì)的定義才可能需要被模擬。
不過,圖5還是示出了另一種用于模擬手勢(shì)的方法,其允許更大 的靈活性。圖5的方法可通過各種實(shí)施例來提供以作為手勢(shì)輸入的唯 一方法,或者作為上面所討論的一個(gè)或多個(gè)方法的備選方法。圖5包 括可顯示定義多觸摸手勢(shì)的不同階段的屏幕501 、 502和503。
根據(jù)圖5的方案,可通過分別定義多個(gè)單觸摸手勢(shì)分量來定義多 觸摸手勢(shì)。 一開始,可通過移動(dòng)單觸摸來定義第一分量。更特別地, 單觸摸的初始位置505可通過例如將鼠標(biāo)光標(biāo)504放在該位置并按壓 鼠標(biāo)按鈕而選擇。然后可通過例如在鼠標(biāo)被按下的同時(shí)移動(dòng)鼠標(biāo)并在 手勢(shì)結(jié)束時(shí)松開鼠標(biāo)按鈕來定義手勢(shì)。因而,手勢(shì)可包括在位置505 開始觸摸,沿路徑506移動(dòng)觸摸,和在位置505,結(jié)束觸摸。
從而,可定義多觸摸手勢(shì)的一個(gè)作為分量的單觸摸手勢(shì)。隨后可以類似的方式定義一個(gè)或多個(gè)另外的分量。例如,參考屏幕502,可 以在第一手勢(shì)分量之后,通過一開始在位置506處點(diǎn)擊鼠標(biāo)然后將其 沿路徑507移動(dòng)到位置506,來定義第二手勢(shì)分量。在某些實(shí)施例中,當(dāng) 正在定義第二或隨后的手勢(shì)分量時(shí),在定義隨后的分量的同時(shí)可"回 放"一個(gè)或多個(gè)之前定義的手勢(shì)分量。這可幫助用戶定義相關(guān)的分量, 因?yàn)檎诙x的手勢(shì)假定至少部分同時(shí)地執(zhí)行所有分量。因此,當(dāng)用 戶正在通過將光標(biāo)從位置506移動(dòng)到位置506,而定義第二分量時(shí),可由 設(shè)備模擬器同時(shí)顯示從位置505移動(dòng)到位置505,的另一個(gè)觸摸的動(dòng)畫 508。
在輸入了第二手勢(shì)分量之后,可輸入第三手勢(shì)分量。第三手勢(shì)分 量可包括將光標(biāo)從位置509沿路徑510移動(dòng)到位置509,。類似地,在輸 入第三手勢(shì)分量的同時(shí),可"回放,,兩個(gè)之前輸入的手勢(shì)分量的動(dòng)畫 511和512。
本發(fā)明的實(shí)施例可允許如此輸入任意數(shù)量的手勢(shì)分量。在某些實(shí) 施例中,可輸入的手勢(shì)分量的數(shù)量可能是有限的,這與可以預(yù)計(jì)目標(biāo) 設(shè)備110的用戶輸入手勢(shì)所使用的手指的數(shù)量有關(guān)。各種實(shí)施例也可 允許重新輸入或刪除一個(gè)或多個(gè)錯(cuò)誤輸入的手勢(shì)分量。
一旦用戶已經(jīng)輸入了所期望數(shù)量的手勢(shì)分量,用戶可表明這一點(diǎn) (例如通過點(diǎn)擊指定的按鈕)。這時(shí),設(shè)備模擬器可通過疊加所有的 手勢(shì)分量(即,同時(shí)執(zhí)行它們)而組成單個(gè)多觸摸手勢(shì)。因而,基于 上面參考圖5所討論的分量,設(shè)備模擬器可創(chuàng)建多觸摸手勢(shì),其包括 在向下拖動(dòng)兩個(gè)右邊的手指的同時(shí)向上拖動(dòng)最左邊的手指。
在某些實(shí)施例中,設(shè)備模擬器可規(guī)范化(normalize)各種手指 分量。更特別地,設(shè)備模擬器可調(diào)節(jié)各種分量的速度以使得所有手勢(shì) 分量可以同時(shí)開始和結(jié)束。在可選的實(shí)施例中,可以不調(diào)節(jié)該速度, 使得某些分量可在另一些分量之前結(jié)束。在有些實(shí)施例中,可允許用 戶輸入在其它手勢(shì)分量開始之后開始的手勢(shì)分量。
圖6是根據(jù)本發(fā)明的某些實(shí)施例的用于定義手勢(shì)的另 一 個(gè)示例性 方法的圖。類似于圖5,單元601和602顯示在定義手勢(shì)時(shí)模擬窗口104的不同階段。 一開始,用戶通過將鼠標(biāo)光標(biāo)605^t在位置603并點(diǎn)擊按 鈕,可定義靜態(tài)觸摸。用戶隨后可通過例如在位置604點(diǎn)擊鼠標(biāo)光標(biāo) 并將鼠標(biāo)光標(biāo)沿路徑606移動(dòng)到位置604,,而定義移動(dòng)觸摸。所得到的 手勢(shì)可表示保持一個(gè)手指按在位置603不移動(dòng),同時(shí)將另 一個(gè)手指從 位置604沿路徑605移動(dòng)到位置604'??蛇x地,可在定義動(dòng)態(tài)觸摸之后 定義靜態(tài)觸摸,或者可定義多個(gè)靜態(tài)和/或動(dòng)態(tài)觸摸。圖6的方法可被 提供作為輸入多觸摸手勢(shì)的另一種模式,并且可通過相應(yīng)的控制鍵或 可點(diǎn)擊的鼠標(biāo)按鈕來激活。可選地,圖6的方法可作為上面參考圖5所 討論的方法的一種特定情況來執(zhí)行。
圖7是示出根據(jù)本發(fā)明的 一 些實(shí)施例的可利用單指點(diǎn)設(shè)備輸入的 幾個(gè)示例性的模擬的多觸摸手勢(shì)的圖。例子701顯示的是收縮。例子 702顯示的是擴(kuò)展。例子703顯示的是旋轉(zhuǎn)。例子704顯示的是旋轉(zhuǎn)的 中心705被選擇在不同于所模擬的面板中心的位置處的情況。本領(lǐng)域 技術(shù)人員將認(rèn)識(shí)到,圖7的所有例子可利用上面討論的方法來實(shí)施。
本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,除了上面的方法之外,還可使用用于 輸入多觸摸手勢(shì)的其它方法。例如,通過例如用鼠標(biāo)來描繪或者從預(yù) 定義的選擇中選擇,可輸入觸摸輪廓的形狀。該形狀可表示比僅僅用 指尖觸摸屏幕更復(fù)雜的觸摸事件。它可以例如表示用手掌觸摸屏幕, 或在屏幕上放置物體。 一旦輸入了該形狀,就可以通過移動(dòng)鼠標(biāo)光標(biāo) 來將其四處移動(dòng)以定義多觸摸手勢(shì)。
雖然上述討論集中在測(cè)試設(shè)備僅僅包括單指點(diǎn)設(shè)備(例如鼠標(biāo)) 的情況,在某些實(shí)施例中,測(cè)試設(shè)備也可以包括多觸摸面板。例如, 測(cè)試設(shè)備可以是具有多觸摸使能軌跡板的膝上型電腦。目標(biāo)設(shè)備可包 括與顯示器組合的多觸摸面板(從而允許用戶通過與顯示器表面交互 而輸入多觸摸輸入)。測(cè)試設(shè)備可通過在允許測(cè)試設(shè)備的用戶利用測(cè) 試設(shè)備的軌跡板輸入多觸摸輸入的同時(shí)在測(cè)試設(shè)備的監(jiān)視器101的模 擬窗口104中提供對(duì)目標(biāo)設(shè)備的顯示器的模擬,來模擬目標(biāo)設(shè)備。當(dāng) 用戶正在通過觸摸板輸入觸摸時(shí),測(cè)試設(shè)備可在模擬窗口中指示所模 擬的觸摸的位置(例如通過在模擬窗口中顯示小圓形)。雖然上面討論的實(shí)施例中的某些實(shí)施例是關(guān)于將單點(diǎn)手勢(shì)輸入 轉(zhuǎn)換成多觸摸手勢(shì)輸入,但是本發(fā)明不必限制于此。更一般地,本發(fā) 明的實(shí)施例可關(guān)于將單點(diǎn)輸入轉(zhuǎn)換成多點(diǎn)輸入。多點(diǎn)輸入可包括多觸
摸輸入,但是也可包括其他類型的輸入,例如美國專利申請(qǐng)No. 11/649,998中所討論的多接近輸入。
雖然結(jié)合本發(fā)明的實(shí)施例參考附圖而完全描述了本發(fā)明,但是要 注意的是,對(duì)于本領(lǐng)域技術(shù)人員而言,各種變化和修改將是顯而易見 的。這樣的變化和修改將被理解為被包括在由所附權(quán)利要求所定義的 本發(fā)明的范圍內(nèi)。
權(quán)利要求
1. 一種用于模擬在多點(diǎn)傳感器面板上的多點(diǎn)輸入的系統(tǒng),所述系統(tǒng)包括顯示器,用于顯示所述多點(diǎn)傳感器面板的表示;單指點(diǎn)用戶輸入設(shè)備;以及設(shè)備模擬器,所述設(shè)備模擬器被配置成從所述單指點(diǎn)用戶輸入設(shè)備接收輸入并根據(jù)預(yù)定義的轉(zhuǎn)換規(guī)則將所述輸入轉(zhuǎn)換成多點(diǎn)輸入。
2. 如權(quán)利要求l所述的系統(tǒng),其中所述單指點(diǎn)用戶輸入設(shè)備是鼠標(biāo)o
3. 如權(quán)利要求l所述的系統(tǒng),其中所述系統(tǒng)還包括處理器,所 述處理器被配置成執(zhí)行要在包括所述傳感器面板的多點(diǎn)使能設(shè)備上 執(zhí)行的軟件,所述設(shè)備模擬器還被配置成以 一格式將轉(zhuǎn)換后的多點(diǎn)輸 入發(fā)送給所述軟件,其中所述格式與在所述軟件正在所述多點(diǎn)使能設(shè) 備上執(zhí)行時(shí)所述軟件已經(jīng)以其接收到所述多點(diǎn)輸入的格式相同。
4. 如權(quán)利要求l所述的系統(tǒng),其中來自所述單指點(diǎn)用戶輸入設(shè)備 的所述輸入由所述單指點(diǎn)用戶輸入設(shè)備控制的光標(biāo)的位置來定義。
5. 如權(quán)利要求4所述的系統(tǒng),其中所述轉(zhuǎn)換后的多點(diǎn)輸入由至少 兩個(gè)不同的點(diǎn)輸入來定義,第 一 點(diǎn)輸入由所述單指點(diǎn)設(shè)備控制的所述 光標(biāo)的位置來定義,而至少一個(gè)另外的點(diǎn)輸入由從所述單指點(diǎn)設(shè)備控 制的所述光標(biāo)的所述位置導(dǎo)出的位置來定義。
6. 如權(quán)利要求5所述的系統(tǒng),其中所述至少一個(gè)另外的點(diǎn)輸入由 從所述單指點(diǎn)設(shè)備控制的所述光標(biāo)移位預(yù)定義向量的點(diǎn)所經(jīng)過的路 徑來定義。
7. 如權(quán)利要求5所述的系統(tǒng),其中所述至少一個(gè)另外的點(diǎn)輸入由 與所述單指點(diǎn)設(shè)備控制的所述光標(biāo)的所述位置關(guān)于預(yù)定義點(diǎn)對(duì)稱的 位置來定義。
8. 如權(quán)利要求l所述的系統(tǒng),其中所述設(shè)備模擬器被配置成接收 通過所述單指點(diǎn)設(shè)備連續(xù)輸入的多個(gè)單點(diǎn)輸入作為輸入,并且通過以 下操作將所述多個(gè)單點(diǎn)輸入轉(zhuǎn)換成所述多點(diǎn)輸入將多個(gè)接收到的單點(diǎn)輸入組合成所述多點(diǎn)輸入,以使得所述多點(diǎn) 輸入表示所述多個(gè)單點(diǎn)手勢(shì)輸入的至少部分同時(shí)執(zhí)行。
9. 如權(quán)利要求l所述的系統(tǒng),還包括CPU和計(jì)算機(jī)可讀存儲(chǔ)器, 其中所述設(shè)備模擬器是存儲(chǔ)在所述計(jì)算機(jī)可讀存儲(chǔ)器上并由所述 CPU執(zhí)行的軟件。
10. 如權(quán)利要求9所述的系統(tǒng),還包括軟件開發(fā)工具包,所述軟 件開發(fā)工具包被配置成開發(fā)用于包括所述多點(diǎn)傳感器面板的多點(diǎn)使 能設(shè)備的軟件,所述軟件開發(fā)工具包存儲(chǔ)在所述計(jì)算機(jī)可讀存儲(chǔ)器上 并由所述CPU執(zhí)行,所述設(shè)備模擬器是所述軟件開發(fā)工具包的 一部 分。
11. 如權(quán)利要求l所述的系統(tǒng),其中所述多點(diǎn)輸入是多觸摸輸入, 并且所述多點(diǎn)傳感器面板是多觸摸傳感器面板。
12. —種用于模擬多點(diǎn)輸入的方法,包括 接收來自單指點(diǎn)設(shè)備的單軌跡輸入;以及響應(yīng)于接收到的單軌跡輸入,顯示所模擬的多點(diǎn)輸入的可視表 示,其中所述所模擬的多點(diǎn)輸入包括兩個(gè)或更多所模擬的觸摸點(diǎn)并且 至少部分地基于所述單軌跡輸入。
13. 如權(quán)利要求12所述的方法,其中所述所模擬的多點(diǎn)輸入通過 將預(yù)定義的規(guī)則應(yīng)用到所述軌跡輸入來確定。
14. 如權(quán)利要求12所述的方法,其中所述單指點(diǎn)設(shè)備是鼠標(biāo)。
15. 如權(quán)利要求12所述的方法,其中所述單指點(diǎn)設(shè)備是單觸摸軌跡板。
16. —種計(jì)算機(jī)可讀介質(zhì),包括凈皮配置用于在第一設(shè)備處執(zhí)行的 軟件,所述第一設(shè)備包括單指點(diǎn)用戶輸入設(shè)備,所述軟件被配置成通 過執(zhí)行以下操作來模擬在多點(diǎn)傳感器面板上的多點(diǎn)輸入通過所述單指點(diǎn)用戶輸入設(shè)備接收單指點(diǎn)輸入; 根據(jù)預(yù)定義的轉(zhuǎn)換規(guī)則,基于所述單指點(diǎn)輸入而生成多點(diǎn)輸入;以及顯示所述多點(diǎn)輸入。
17. 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其中所述生成多點(diǎn)輸 入的步驟和所述顯示所述多點(diǎn)輸入的步驟是在正在接收所述單指點(diǎn) 輸入的同時(shí)實(shí)時(shí)地執(zhí)行的。
18. 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其中所述軟件還被配置成接收控制信號(hào);以及基于所述控制信號(hào),選擇多個(gè)預(yù)定義的轉(zhuǎn)換規(guī)則之一作為生成所 述多點(diǎn)輸入所根據(jù)的轉(zhuǎn)換規(guī)則。
19. 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其中所述單指點(diǎn)用戶 輸入設(shè)備是鼠標(biāo)。
20. 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其中在所述第一設(shè)備 處正在執(zhí)行第二軟件,所述第二軟件要在包括所述多點(diǎn)傳感器面板的 多點(diǎn)使能設(shè)備上執(zhí)行,所述軟件還被配置成以一格式將所生成的多點(diǎn)輸入發(fā)送給所述第二軟件,其中所述格 式與在所述第二軟件正在所述多點(diǎn)使能設(shè)備上執(zhí)行時(shí)所述第二軟件 已經(jīng)以其接收到多點(diǎn)輸入的格式相同。
21. 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其中所述單指點(diǎn)輸入 由所述單指點(diǎn)設(shè)備控制的光標(biāo)的位置來定義。
22. 如權(quán)利要求19所述的計(jì)算機(jī)可讀介質(zhì),其中所生成的多點(diǎn)輸 入由至少兩個(gè)不同的點(diǎn)輸入來定義,第 一點(diǎn)輸入由所述單指點(diǎn)設(shè)備控 制的所述光標(biāo)的位置來定義,并且至少一個(gè)另外的點(diǎn)輸入由從所述單 指點(diǎn)設(shè)備控制的所述光標(biāo)所經(jīng)過的位置導(dǎo)出的位置來定義。
23. 如權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),其中所述至少一個(gè)另 外的點(diǎn)輸入由從所述單指點(diǎn)設(shè)備控制的所述光標(biāo)移位預(yù)定義的向量 的位置來定義。
24. 如權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),其中所述至少一個(gè)另 外的點(diǎn)輸入由與所述單指點(diǎn)設(shè)備控制的所述光標(biāo)的所述位置關(guān)于預(yù) 定義的點(diǎn)對(duì)稱的位置來定義。
25. 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其中所述軟件是軟件 開發(fā)工具包的一部分。
26. 如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其中所述多點(diǎn)輸入是 多觸摸輸入,并且所述多點(diǎn)傳感器面板是多觸摸傳感器面板。
27. —種用于模擬多點(diǎn)傳感器面板上的多點(diǎn)手勢(shì)的系統(tǒng),所述系 統(tǒng)包括顯示器,用于顯示所述多點(diǎn)傳感器面板的表示; 單指點(diǎn)用戶輸入設(shè)備;以及設(shè)備模擬器,所述設(shè)備模擬器被配置成從所述單指點(diǎn)用戶輸入設(shè) 備接收輸入并根據(jù)預(yù)定義的轉(zhuǎn)換規(guī)則將所述輸入轉(zhuǎn)換成多點(diǎn)手勢(shì)輸 入。
28. 如權(quán)利要求27所述的系統(tǒng),其中所述單指點(diǎn)用戶輸入設(shè)備是鼠標(biāo)。
29. 如權(quán)利要求27所述的系統(tǒng),其中所述系統(tǒng)還包括處理器, 所述處理器被配置成執(zhí)行要在包括所述傳感器面板的多點(diǎn)使能設(shè)備 上執(zhí)行的軟件,所述設(shè)備模擬器還被配置成以一格式將轉(zhuǎn)換后的多點(diǎn) 手勢(shì)輸入發(fā)送給所述軟件,其中所述格式與在所述軟件正在所述多點(diǎn) 使能設(shè)備上執(zhí)行時(shí)所述軟件已經(jīng)以其接收到所述多點(diǎn)手勢(shì)輸入的格 式相同。
30. 如權(quán)利要求27所述的系統(tǒng),其中來自所述單指點(diǎn)用戶輸入設(shè) 備的所述輸入由所述單指點(diǎn)用戶輸入設(shè)備控制的光標(biāo)所經(jīng)過的路徑 來定義。
31. 如權(quán)利要求30所述的系統(tǒng),其中所述轉(zhuǎn)換后的多點(diǎn)手勢(shì)輸入 由至少兩個(gè)不同的點(diǎn)手勢(shì)輸入來定義,第一點(diǎn)手勢(shì)輸入由所述單指點(diǎn) 設(shè)備控制的所述光標(biāo)所經(jīng)過的路徑來定義,而至少一個(gè)另外的點(diǎn)手勢(shì) 輸入由從所述單指點(diǎn)設(shè)備控制的所述光標(biāo)所經(jīng)過的所述路徑導(dǎo)出的 路徑來定義。
32. 如權(quán)利要求31所述的系統(tǒng),其中所述至少一個(gè)另外的點(diǎn)手勢(shì) 輸入由從所述單指點(diǎn)設(shè)備控制的所述光標(biāo)移位預(yù)定義向量的點(diǎn)所經(jīng) 過的路徑來定義。
33. 如權(quán)利要求31所述的系統(tǒng),其中所述至少一個(gè)另外的點(diǎn)手勢(shì) 輸入由與所述單指點(diǎn)設(shè)備控制的所述光標(biāo)的所述位置關(guān)于預(yù)定義的 點(diǎn)對(duì)稱的位置上的點(diǎn)所經(jīng)過的路徑來定義。
34. 如權(quán)利要求27所述的系統(tǒng),其中所述設(shè)備模擬器被配置成接 收通過所述單指點(diǎn)設(shè)備連續(xù)輸入的多個(gè)單點(diǎn)手勢(shì)輸入作為輸入,并且 通過以下操作將所述多個(gè)單點(diǎn)手勢(shì)輸入轉(zhuǎn)換成所述多點(diǎn)手勢(shì)輸入將多個(gè)接收到的單點(diǎn)手勢(shì)輸入組合成所述多點(diǎn)手勢(shì)輸入,以使得 所述多點(diǎn)手勢(shì)輸入表示由所述多個(gè)單點(diǎn)手勢(shì)輸入定義的多個(gè)單點(diǎn)手 勢(shì)的至少部分同時(shí)執(zhí)行。
35. 如權(quán)利要求27所述的系統(tǒng),還包括CPU和計(jì)算機(jī)可讀存儲(chǔ)器, 其中所述設(shè)備模擬器是存儲(chǔ)在所述計(jì)算機(jī)可讀存儲(chǔ)器上并由所述 CPU執(zhí)行的軟件。
36. 如權(quán)利要求35所述的系統(tǒng),還包括軟件開發(fā)工具包,所述軟 件開發(fā)工具包被配置成開發(fā)用于包括所述多點(diǎn)傳感器面板的多點(diǎn)使 能設(shè)備的軟件,所述軟件開發(fā)工具包存儲(chǔ)在所述計(jì)算機(jī)可讀存儲(chǔ)器上 并由所述CPU執(zhí)行,所述設(shè)備模擬器是所述軟件開發(fā)工具包的一部
37.如權(quán)利要求27所述的系統(tǒng),其中所述多點(diǎn)手勢(shì)是多觸摸手勢(shì), 所述多點(diǎn)傳感器面板是多觸摸傳感器面板,并且所述多點(diǎn)手勢(shì)輸入是 多觸摸手勢(shì)輸入。
38. —種用于模擬多點(diǎn)手勢(shì)的方法,包括 接收來自單指點(diǎn)設(shè)備的單軌跡輸入;以及 響應(yīng)于接收到的單軌跡輸入,顯示所模擬的多點(diǎn)手勢(shì)的可視表示,其中所述所模擬的多點(diǎn)手勢(shì)包括兩個(gè)或更多所模擬的觸摸點(diǎn)并且 至少部分地基于所述單軌跡輸入。
39. 如^5L利要求38所述的方法,還包括 接收來自所述單指點(diǎn)設(shè)備的初始定位命令;以及 在接收到所述單軌跡輸入之前,顯示兩個(gè)或更多所模擬的觸摸點(diǎn)的初始位置。
40. 如權(quán)利要求38所述的方法,其中所述所模擬的多點(diǎn)手勢(shì)通過 將預(yù)定義的規(guī)則應(yīng)用到所述軌跡輸入來確定。
41. 如權(quán)利要求38所述的方法,其中所述單指點(diǎn)設(shè)備是鼠標(biāo)。
42. 如權(quán)利要求38所述的方法,其中所述單指點(diǎn)設(shè)備是單觸摸軌跡板。
43. —種計(jì)算機(jī)可讀介質(zhì),包括被配置用于在第一設(shè)備處執(zhí)行的 軟件,所述第一設(shè)備包括單指點(diǎn)用戶輸入設(shè)備,所述軟件被配置成通 過執(zhí)行以下操作來模擬在多點(diǎn)傳感器面板上的多點(diǎn)手勢(shì)通過所述單指點(diǎn)用戶輸入設(shè)備接收單指點(diǎn)手勢(shì); 根據(jù)預(yù)定義的轉(zhuǎn)換規(guī)則,基于所述單指點(diǎn)手勢(shì)而生成多點(diǎn)手勢(shì);以及顯示所述多點(diǎn)手勢(shì)。
44. 如權(quán)利要求43所述的計(jì)算機(jī)可讀介質(zhì),其中所述生成多點(diǎn)手 勢(shì)的步驟和所述顯示所述多點(diǎn)手勢(shì)的步驟是在正在接收所述單指點(diǎn)手勢(shì)的同時(shí)實(shí)時(shí)地執(zhí)行的。
45. 如權(quán)利要求43所述的計(jì)算機(jī)可讀介質(zhì),其中所述軟件還被配置成接收控制信號(hào);以及基于所述控制信號(hào),選擇多個(gè)預(yù)定義的轉(zhuǎn)換規(guī)則之一作為生成所 述多點(diǎn)手勢(shì)所根據(jù)的轉(zhuǎn)換規(guī)則。
46. 如權(quán)利要求43所述的計(jì)算機(jī)可讀介質(zhì),其中所述單指點(diǎn)用戶 輸入設(shè)備是鼠標(biāo)。
47,如權(quán)利要求43所述的計(jì)算機(jī)可讀介質(zhì),其中在所述第一設(shè)備 處正在執(zhí)行第二軟件,所述第二軟件要在包括所述多點(diǎn)傳感器面板的 多點(diǎn)使能設(shè)備上執(zhí)行,所述軟件還被配置成以 一格式將所生成的多點(diǎn)手勢(shì)發(fā)送給所述第二軟件,其中所述格 式與在所述第二軟件正在所述多點(diǎn)使能設(shè)備上執(zhí)行時(shí)所述第二軟件 已經(jīng)以其接收到多點(diǎn)手勢(shì)的格式相同。
48. 如權(quán)利要求43所述的計(jì)算機(jī)可讀介質(zhì),其中所述單指點(diǎn)手勢(shì) 由所述單指點(diǎn)設(shè)備控制的光標(biāo)所經(jīng)過的路徑來定義。
49. 如權(quán)利要求44所述的計(jì)算機(jī)可讀介質(zhì),其中所生成的多點(diǎn)手 勢(shì)由至少兩個(gè)不同的點(diǎn)手勢(shì)來定義,第 一點(diǎn)手勢(shì)由所述單指點(diǎn)設(shè)備控 制的所述光標(biāo)所經(jīng)過的路徑來定義,并且至少一個(gè)另外的點(diǎn)手勢(shì)由從 所述單指點(diǎn)設(shè)備控制的所述光標(biāo)所經(jīng)過的所述路徑導(dǎo)出的路徑來定 義。
50. 如權(quán)利要求49所述的計(jì)算機(jī)可讀介質(zhì),其中所述至少一個(gè)另 外的點(diǎn)手勢(shì)由從所述單指點(diǎn)設(shè)備控制的所述光標(biāo)移位預(yù)定義向量的點(diǎn)所經(jīng)過的路徑來定義。
51. 如權(quán)利要求49所述的計(jì)算機(jī)可讀介質(zhì),其中所述至少一個(gè)另 外的點(diǎn)手勢(shì)由與所述單指點(diǎn)設(shè)備控制的所述光標(biāo)的所述位置關(guān)于預(yù) 定義的點(diǎn)對(duì)稱的位置上的點(diǎn)所經(jīng)過的路徑來定義。
52. 如權(quán)利要求43所述的計(jì)算機(jī)可讀介質(zhì),其中所述軟件是軟件 開發(fā)工具包的一部分。
53. 如權(quán)利要求43所述的計(jì)算機(jī)可讀介質(zhì),其中所述多點(diǎn)手勢(shì)是 多觸摸手勢(shì),所述多點(diǎn)傳感器面板是多觸摸傳感器面板,并且所述多 點(diǎn)手勢(shì)輸入是多觸摸手勢(shì)輸入。
54. —種用于模擬多點(diǎn)輸入的設(shè)備,包括 用于接收來自單指點(diǎn)設(shè)備的單軌跡輸入的裝置;以及用于響應(yīng)于接收到的單軌跡輸入而顯示所模擬的多點(diǎn)輸入的可 視表示的裝置,其中所述所模擬的多點(diǎn)輸入包括兩個(gè)或更多所模擬的 觸摸點(diǎn)并且至少部分地基于所述單軌跡輸入。
55. 如權(quán)利要求54所述的設(shè)備,其中所述所模擬的多點(diǎn)輸入通過 將預(yù)定義的規(guī)則應(yīng)用到所述軌跡輸入來確定。
56. 如權(quán)利要求54所述的設(shè)備,其中所述單指點(diǎn)設(shè)備是鼠標(biāo)。
57. 如權(quán)利要求54所述的設(shè)備,其中所述單指點(diǎn)設(shè)備是單觸摸軌跡板。
58. —種在第一設(shè)備處的用于模擬在多點(diǎn)傳感器面板上的多點(diǎn)輸 入的模擬設(shè)備,所述第一設(shè)備包括單指點(diǎn)用戶輸入設(shè)備,所述模擬設(shè)備包括用于通過所述單指點(diǎn)用戶輸入設(shè)備接收單指點(diǎn)輸入的裝置; 用于根據(jù)預(yù)定義的轉(zhuǎn)換規(guī)則,基于所述單指點(diǎn)輸入而生成多點(diǎn)輸 入的裝置;以及用于顯示所述多點(diǎn)輸入的裝置。
59. 如權(quán)利要求58所述的模擬設(shè)備,其中所述生成多點(diǎn)輸入的裝 置和所述顯示所述多點(diǎn)輸入的裝置在正在接收所述單指點(diǎn)輸入的同 時(shí)實(shí)時(shí)地工作。
60. 如權(quán)利要求58所述的模擬設(shè)備,其中所述模擬設(shè)備還包括 用于接收控制信號(hào)的裝置;以及用于基于所述控制信號(hào)而選擇多個(gè)預(yù)定義的轉(zhuǎn)換規(guī)則之一作為 生成所述多點(diǎn)輸入所根據(jù)的轉(zhuǎn)換規(guī)則的裝置。
61. 如權(quán)利要求58所述的模擬設(shè)備,其中所述單指點(diǎn)用戶輸入設(shè) 備是鼠標(biāo)。
62. 如權(quán)利要求58所述的模擬設(shè)備,其中在所述第一設(shè)備處還具 有要工作在包括所述多點(diǎn)傳感器面板的多點(diǎn)使能設(shè)備上的第二設(shè)備,所述模擬設(shè)備還包括用于以一格式將所生成的多點(diǎn)輸入發(fā)送給所述第二設(shè)備的裝置, 其中所述格式與在所述第二設(shè)備正在所述多點(diǎn)使能設(shè)備上工作時(shí)所 述第二設(shè)備已經(jīng)以其接收到多點(diǎn)輸入的格式相同。
63. 如權(quán)利要求58所述的模擬設(shè)備,其中所述單指點(diǎn)輸入由所述 單指點(diǎn)設(shè)備控制的光標(biāo)的位置來定義。
64. 如權(quán)利要求61所述的模擬設(shè)備,其中所生成的多點(diǎn)輸入由至少兩個(gè)不同的點(diǎn)輸入來定義,第 一點(diǎn)輸入由所述單指點(diǎn)設(shè)備控制的所 述光標(biāo)的位置來定義,并且至少一個(gè)另外的點(diǎn)輸入由從所述單指點(diǎn)設(shè) 備控制的所述光標(biāo)所經(jīng)過的位置導(dǎo)出的位置來定義。
65. 如權(quán)利要求64所述的模擬設(shè)備,其中所述至少一個(gè)另外的點(diǎn) 輸入由從所述單指點(diǎn)設(shè)備控制的所述光標(biāo)移位預(yù)定義的向量的位置 來定義。
66. 如權(quán)利要求64所述的模擬設(shè)備,其中所述至少一個(gè)另外的點(diǎn) 輸入由與所述單指點(diǎn)設(shè)備控制的所述光標(biāo)的所述位置關(guān)于預(yù)定義的 點(diǎn)對(duì)稱的位置來定義。
67. 如權(quán)利要求58所述的模擬設(shè)備,其中所述模擬設(shè)備是由軟件 開發(fā)工具包的一部分來實(shí)現(xiàn)的。
68. 如權(quán)利要求58所述的模擬設(shè)備,其中所述多點(diǎn)輸入是多觸摸 輸入,并且所述多點(diǎn)傳感器面板是多觸摸傳感器面板。
69. —種用于模擬多點(diǎn)手勢(shì)的設(shè)備,包括 用于接收來自單指點(diǎn)設(shè)備的單軌跡輸入的裝置;以及 用于響應(yīng)于接收到的單軌跡輸入而顯示所模擬的多點(diǎn)手勢(shì)的可視表示的裝置,其中所述所模擬的多點(diǎn)手勢(shì)包括兩個(gè)或更多所模擬的 觸摸點(diǎn)并且至少部分地基于所述單軌跡輸入。
70. 如權(quán)利要求69所述的設(shè)備,還包括用于接收來自所述單指點(diǎn)設(shè)備的初始定位命令的裝置;以及 用于在接收到所述單軌跡輸入之前顯示兩個(gè)或更多所模擬的觸 摸點(diǎn)的初始位置的裝置。
71. 如權(quán)利要求69所述的設(shè)備,其中所述所模擬的多點(diǎn)手勢(shì)通過 將預(yù)定義的規(guī)則應(yīng)用到所述軌跡輸入來確定。
72. 如權(quán)利要求69所述的設(shè)備,其中所述單指點(diǎn)設(shè)備是鼠標(biāo)。
73. 如權(quán)利要求69所述的設(shè)備,其中所述單指點(diǎn)設(shè)備是單觸摸軌跡板。
74. —種在第 一設(shè)備處的用于模擬在多點(diǎn)傳感器面板上的多點(diǎn)手 勢(shì)的模擬設(shè)備,所述第一設(shè)備包括單指點(diǎn)用戶輸入設(shè)備,所述模擬設(shè) 備包括用于通過所述單指點(diǎn)用戶輸入設(shè)備接收單指點(diǎn)手勢(shì)的裝置; 用于根據(jù)預(yù)定義的轉(zhuǎn)換規(guī)則基于所述單指點(diǎn)手勢(shì)而生成多點(diǎn)手 勢(shì)的裝置;以及用于顯示所述多點(diǎn)手勢(shì)的裝置。
75. 如權(quán)利要求74所述的模擬設(shè)備,其中所述生成多點(diǎn)手勢(shì)的裝 置和所述顯示所述多點(diǎn)手勢(shì)的裝置在正在接收所述單指點(diǎn)手勢(shì)的同 時(shí)實(shí)時(shí)地工作。
76. 如權(quán)利要求74所述的模擬設(shè)備,所述模擬設(shè)備還包括 用于接收控制信號(hào)的裝置;以及用于基于所述控制信號(hào)而選擇多個(gè)預(yù)定義的轉(zhuǎn)換規(guī)則之一作為 生成所述多點(diǎn)手勢(shì)所根據(jù)的轉(zhuǎn)換規(guī)則的裝置。
77. 如權(quán)利要求74所述的模擬設(shè)備,其中所述單指點(diǎn)用戶輸入設(shè) 備是鼠標(biāo)。
78. 如權(quán)利要求74所述的模擬設(shè)備,其中在所述第一設(shè)備處還具有要工作在包括所述多點(diǎn)傳感器面板的多點(diǎn)使能設(shè)備上的第二設(shè)備,所述模擬設(shè)備還包括用于以一格式將所生成的多點(diǎn)手勢(shì)發(fā)送給所述第二設(shè)備的裝置, 其中所述格式與在所述第二設(shè)備正在所述多點(diǎn)使能設(shè)備上工作時(shí)所 述第二設(shè)備已經(jīng)以其接收到多點(diǎn)手勢(shì)的格式相同。
79. 如權(quán)利要求74所述的模擬設(shè)備,其中所述單指點(diǎn)手勢(shì)由所述 單指點(diǎn)設(shè)備控制的光標(biāo)所經(jīng)過的路徑來定義。
80. 如權(quán)利要求75所述的模擬設(shè)備,其中所生成的多點(diǎn)手勢(shì)由至 少兩個(gè)不同的點(diǎn)手勢(shì)來定義,第一點(diǎn)手勢(shì)由所述單指點(diǎn)設(shè)備控制的所 述光標(biāo)所經(jīng)過的路徑來定義,并且至少一個(gè)另外的點(diǎn)手勢(shì)由從所述單 指點(diǎn)設(shè)備控制的所述光標(biāo)所經(jīng)過的所述路徑導(dǎo)出的路徑來定義。
81. 如權(quán)利要求80所述的模擬設(shè)備,其中所述至少一個(gè)另外的點(diǎn) 手勢(shì)由從所述單指點(diǎn)設(shè)備控制的所述光標(biāo)移位預(yù)定義向量的點(diǎn)所經(jīng) 過的路徑來定義。
82. 如權(quán)利要求80所述的模擬設(shè)備,其中所述至少一個(gè)另外的點(diǎn) 手勢(shì)由與所述單指點(diǎn)設(shè)備控制的所述光標(biāo)的所述位置關(guān)于預(yù)定義的 點(diǎn)對(duì)稱的位置上的點(diǎn)所經(jīng)過的路徑來定義。
83. 如權(quán)利要求74所述的模擬設(shè)備,其中所述模擬設(shè)備是由軟件 開發(fā)工具包的一部分來實(shí)現(xiàn)的。
84. 如權(quán)利要求74所述的模擬設(shè)備,其中所述多點(diǎn)手勢(shì)是多觸摸 手勢(shì),所述多點(diǎn)傳感器面板是多觸摸傳感器面板,并且所述多點(diǎn)手勢(shì) 輸入是多觸摸手勢(shì)輸入。
全文摘要
本發(fā)明涉及允許計(jì)算機(jī)系統(tǒng)使用單指點(diǎn)設(shè)備來模擬多點(diǎn)手勢(shì)輸入。模擬軟件可接收單指點(diǎn)輸入(諸如,例如來自鼠標(biāo)的輸入)并將它們轉(zhuǎn)換成模擬的多點(diǎn)手勢(shì)輸入,諸如手指收縮、擴(kuò)展、平移、旋轉(zhuǎn),等等。模擬軟件還可允許用戶使用鍵盤鍵,以便在生成多點(diǎn)手勢(shì)輸入時(shí)給用戶以額外的控制。
文檔編號(hào)G06F3/038GK101520702SQ20091000834
公開日2009年9月2日 申請(qǐng)日期2009年2月26日 優(yōu)先權(quán)日2008年2月26日
發(fā)明者C·布盧門博格, G·R·迪克爾, M·萬歐斯, R·威廉姆森 申請(qǐng)人:蘋果公司