專利名稱:觸摸數(shù)據(jù)的模式敏感處理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用戶界面,更具體地說,涉及用于擁有多點觸摸顯示器的裝置的用戶界面。
背景技術(shù):
鼠標是在許多計算裝置中使用的眾所周知并且相對簡單的用戶接口工具。由鼠標提供的輸入可以是相對簡單的一鼠標具有的各個按鈕或滾輪的位置和狀態(tài)。許多現(xiàn)有的觸 摸屏裝置通過允許用戶將觸筆(stylus)或手指按壓在其上來指定單個特定位置,提供與鼠標的功能類似的功能。現(xiàn)有的操作系統(tǒng)(OS)可以為其上運行的軟件應(yīng)用提供各種工具,這些工具用于使得通過圖形用戶界面和鼠標或類似鼠標的用戶輸入進行的用戶交互更容易。例如,OS實用程序可允許軟件應(yīng)用定義并注冊窗口小部件(Widget)(例如,按鈕或滾動條)。OS實用程序可在用戶用鼠標點擊窗口小部件時進行跟蹤,并且可以向軟件應(yīng)用發(fā)送告警。這使得軟件應(yīng)用的開發(fā)變得容易和簡化,因為各應(yīng)用不需要保持對鼠標運動的跟蹤。用戶界面技術(shù)的最新進展提出了多點觸控面板(multi-touch panel)。在2007 年 I 月 3 日提交的名稱為 “Proximity and Multi-Touch Sensor Detection andDemodulation”的美國專利申請第11/649,998號中描述了示例性多點觸控面板(通過引用將其全部內(nèi)容并入于此)。多點觸控面板的優(yōu)點之一在于,它同時檢測面板上的多個位置處的多個觸摸事件。因此,多點觸控面板不僅可提供單個交互位置(如許多現(xiàn)有的觸控面板那樣),而且提供該面板的當前正在被觸摸的所有部分的映射。這使得可以提供比先前的輸入裝置豐富得多的用戶交互。然而,多點觸控面板也要求利用它的各種應(yīng)用處理多得多的數(shù)據(jù)。具體來說,利用多點觸控面板的應(yīng)用可能需要處理指定當前被觸摸的位置的整個映射,而不是單個鼠標點擊位置。這會導致對在多點觸摸使能裝置(multi-touch enabled device,或稱多重觸摸使能裝置)上運行應(yīng)用提出高得多的處理要求。
發(fā)明內(nèi)容
本發(fā)明涉及一種多點觸摸使能裝置,該多點觸摸使能裝置包含可以對觸摸數(shù)據(jù)執(zhí)行應(yīng)用知道的處理的硬件或軟件實用程序?qū)?。具體而言,在裝置上執(zhí)行的各種應(yīng)用可向?qū)嵱贸绦驅(qū)影l(fā)送它們從多點觸摸使能顯示器需要的觸摸數(shù)據(jù)的類型的定義。實用程序?qū)尤缓罂膳c這些定義相關(guān)聯(lián)地處理進入的觸摸數(shù)據(jù),并將結(jié)果數(shù)據(jù)以應(yīng)用請求的格式發(fā)送回應(yīng)用。由此,可減少與觸摸數(shù)據(jù)的處理相關(guān)的計算負荷。并且,在某些情況下,應(yīng)用可獲得比現(xiàn)有系統(tǒng)中提供的數(shù)據(jù)更精確的數(shù)據(jù)。在多點觸摸使能裝置上執(zhí)行的應(yīng)用可在控件實例(control instance)方面定義這些應(yīng)用需要的觸摸數(shù)據(jù)的類型。控件實例可定義用戶可與在多點觸摸使能裝置上運行的應(yīng)用通信或控制這些應(yīng)用的各種方式??丶嵗梢詾槔绨粹o、滑塊、旋鈕、導航板等。每個控件實例與相關(guān)的控件類型一起可定義對于該控件實例需要的結(jié)果的類型以及要如何計算這些結(jié)果。由此,應(yīng)用可將一個或更多個控件實例傳遞給實用程序?qū)?,然后實用程序?qū)涌砂凑湛丶嵗齺硖幚碛|摸數(shù)據(jù),并將根據(jù)控件實例計算的結(jié)果提供給應(yīng)用。由此,例如,應(yīng)用可接收按鈕是否被觸摸或者滑塊是否移動以及移動多遠的簡單的指示,而不必處理幾何觸摸數(shù)據(jù)以獲得該信息。
圖I是根據(jù)本發(fā)明的一個實施例的示例性多點觸摸使能裝置的示意圖。圖2是示出根據(jù)本發(fā)明的一個實施例的應(yīng)用和MTL解析器(parser)層的操作的示例性方法的流程圖。圖3是示出根據(jù)本發(fā)明的一個實施例的在屏幕上顯示的不同控件類型的各種示例性控件實例的示意圖。圖4是示出根據(jù)本發(fā)明的一個實施例的示例性控件的透明度和/或不透明度的示意圖。圖5例示了根據(jù)本發(fā)明的一個實施例的示例性多DOF控件類型(Multi-DOFControl Type)的示例性控件的觸摸數(shù)據(jù)的處理。圖6例示了稍后對圖5的觸摸數(shù)據(jù)的處理,用于根據(jù)本發(fā)明的一個實施例的示例性增量控件。圖7是示出根據(jù)本發(fā)明的一個實施例的示例性增量變化的示意圖,在該示例性增量變化中,觸摸區(qū)域可移動并且可出現(xiàn)新的接觸塊。圖8是根據(jù)本發(fā)明的一個實施例的示例性多點觸摸使能裝置的示意圖。
具體實施例方式在以下對優(yōu)選實施例的描述中,參照了附圖,這些附圖構(gòu)成其一部分,并且,在這些附圖中,以例示的方式示出了可實踐本發(fā)明的特定實施例。應(yīng)當理解,在不脫離本發(fā)明的優(yōu)選實施例的范圍的情況下,可以利用其他實施例并且可提出結(jié)構(gòu)變化。這與多點觸摸使能裝置的下層上的(例如OS上的)觸摸數(shù)據(jù)的處理有關(guān),以形成相對簡單的觸摸事件,使得可減少應(yīng)用層上的處理和通信帶寬需求。圖I是根據(jù)本發(fā)明的實施例的示例性多點觸摸使能裝置的示意圖。更具體來說,圖I是多點觸摸裝置的觸摸數(shù)據(jù)處理模塊的層圖。最下層可以是物理多點觸摸傳感器100。物理傳感器可以是例如基于互電容的測量感測觸摸事件的多點觸控面板(例如,以上討論的美國專利申請第11/649,998號的多點觸控面板)。多點觸控面板可被疊放到顯示器上,甚至被集成到顯示器內(nèi),使得用戶可通過觸摸顯示器與裝置進行交互。在2007年I月3日提交的名稱為“Proximity and Multi-Touch Sensor Detection and Demodulation,,的美國專利申請第11/649,998號(通過引用將其全部內(nèi)容并入于此)教導將多點觸控面板與顯示器組合起來。物理傳感器還可包括用于對由多點觸控面板獲得的數(shù)據(jù)進行處理和/或數(shù)字化的電路。在一些實施例中,物理傳感器可被配置為感測是否正在觸摸某些預(yù)定義的觸摸像素。在其他的實施例中,物理傳感器還可感測觸摸各像素所使用的壓力或強度。誤差去除和活動檢測模塊101可從物理傳感器接收數(shù)據(jù),并對其執(zhí)行各種誤差去除操作。誤差去除可包括去除一般不是由有意的觸摸事件導致的數(shù)據(jù)。此外,模塊101還可執(zhí)行活動檢測。因此,它可檢測是否正在發(fā)生任何觸摸活動,并且,如果情況不是這樣,那么去除進入的觸摸數(shù)據(jù)(即,不傳遞到下一層)。因此,通過避免對觸摸數(shù)據(jù)的不必要的處理,可節(jié)省電力。層100和101可以是硬件層的多個部分。層102和106可以是硬件抽象層(hardware abstraction layer)的多個部分。硬件抽象層可被提供來給予較高層更有用的多點觸摸數(shù)據(jù)。層102和106可以是硬件或軟件。多點觸摸語言處理層102可用于將表示感測到的電壓(其本身表示各觸摸像素上的互電容)的原始數(shù)據(jù)處理成處理后的觸摸數(shù)據(jù)。處理后的觸摸數(shù)據(jù)可基于觸摸像素的坐標,并可包 括指示像素是否正在被觸摸的二元值。在其他的實施例中,處理后的觸摸數(shù)據(jù)可包括其他或附加的數(shù)據(jù),諸如對于各個像素指示觸摸像素所使用的力量的值。處理后的觸摸數(shù)據(jù)可被看作圖像,其中,圖像的每個像素都可指示相應(yīng)的像素是否正在被觸摸(或者,它被觸摸的強烈程度)。顯示圖形/輸入表面坐標轉(zhuǎn)換器層106可用于將處理后的觸摸數(shù)據(jù)從觸控面板坐標轉(zhuǎn)換成顯示器坐標。出于實際的原因,可感測到觸摸事件的最小區(qū)域(例如,觸摸像素)可比顯示像素大。通常,由于人的手指的尺寸,因此觸摸分辨率不需要如顯示分辨率那樣高。但是,為了使觸摸事件與屏幕上顯示的元素(例如,按鈕等)相關(guān)聯(lián),使得觸摸數(shù)據(jù)基于與顯示數(shù)據(jù)相同的坐標系統(tǒng)是有用的。出于這種原因,顯示圖形/輸入表面坐標轉(zhuǎn)換器可用于將觸摸數(shù)據(jù)轉(zhuǎn)換成顯示器坐標。顯示圖形/輸入表面坐標轉(zhuǎn)換器可將轉(zhuǎn)換后的觸摸數(shù)據(jù)發(fā)送給MTL解析器(parSer)103。MTL解析器接收的數(shù)據(jù)可以是光柵數(shù)據(jù)。換句話說,它可包括與各個觸摸像素相關(guān)的觸摸值的一個或更多個數(shù)組。多點觸摸語言(MTL)解析器層103可顯示基于坐標的觸摸數(shù)據(jù),并利用它以向應(yīng)用層105提供基于高級控件的界面。應(yīng)用層105可包含一個或更多個應(yīng)用,諸如電話薄、電子郵件、地圖應(yīng)用、視頻或圖片查看器等。在圖2中更詳細地描述應(yīng)用和MTL解析器層的操作。在步驟200中,一個或更多個應(yīng)用可定義一個或更多個控件實例并將它們發(fā)送到MTL解析器??丶嵗梢允怯脩艚换サ脑?。它可以是按鈕、旋鈕、滑塊等??丶嵗砂曈X表示并用其承載觸摸功能,即,為了與創(chuàng)建控件實例的應(yīng)用相通信,用戶可觸摸顯示器上出現(xiàn)的控件實例。因此,用戶可觸摸按鈕以按壓它、拖動滑塊以移動它,或者將他/她的手指放在旋鈕的上方然后旋轉(zhuǎn)它們,以旋轉(zhuǎn)旋鈕。由應(yīng)用創(chuàng)建的控件實例可以是一種或更多種數(shù)據(jù)類型的實例。這些類型可與諸如旋鈕、按鈕、滑塊等的各種類型的控件相對應(yīng)。這些實例可包含對控件的尺寸/形狀、控件的位置等進行標識的數(shù)據(jù)。在一些實施例中,這些實例還可包含定義控件的視覺外觀的數(shù)據(jù)。在其他的實施例中,為了定義控件的視覺外觀,應(yīng)用可與其他的模塊(諸如,例如,核心圖形(core graphics)104)通信。應(yīng)用可連續(xù)地定義新的控件實例,并且/或者通過與MTL解析器通信來移動或刪除較舊的控件實例。在步驟202中,MTL解析器可存儲所有當前的控件實例。在步驟204中,MTL解析器可從下層(諸如顯示圖形/輸入表面轉(zhuǎn)換器)接收處理后的觸摸數(shù)據(jù)。在步驟206中,為了確定與實例的交互(即,按鈕是否被按壓、旋鈕是否被旋轉(zhuǎn)等),MTL解析器可將接收的數(shù)據(jù)應(yīng)用于所存儲的控件實例。例如,MTL解析器可檢查由按鈕實例限定的區(qū)域,并檢查處理后的觸摸數(shù)據(jù)是否表明該區(qū)域內(nèi)的任何觸摸事件。在一些實例中,為了確定用戶如何與該實例交互,MTL解析器可能需要將控件實例應(yīng)用于歷史觸摸數(shù)據(jù)以及當前觸摸數(shù)據(jù)。例如,對于旋鈕,MTL解析器可能需要檢查旋鈕上和周圍的觸摸的以前位置以及它們的當前位置,以確定旋鈕是否正在被旋轉(zhuǎn)。MTL解析器可通過存儲歷史處理后的觸摸數(shù)據(jù)并在步驟206中對其進行處理來實現(xiàn)這一點。作為替代方案,MTL解析器可存儲各控件類型特有的中間數(shù)據(jù)。例如,如果存在旋鈕類型的單個控件實例,那么MTL解析器可僅保持用于由該實例限定的區(qū)域的歷史觸摸數(shù)據(jù),并且僅保持用于確定旋鈕旋轉(zhuǎn)必需的特定的過去時期的歷史數(shù)據(jù)(例如,它可僅保持 數(shù)據(jù)的一個先前的幀)。使用歷史數(shù)據(jù)的一些控件常常僅使用來自先前的幀的歷史數(shù)據(jù)并由此測量增量變化,因此它們還可被稱為增量控件。在步驟208中,MTL解析器可將在步驟206中獲得的各種結(jié)果數(shù)據(jù)發(fā)送到各種應(yīng)用。結(jié)果數(shù)據(jù)可與應(yīng)用發(fā)送給解析器的控件實例有關(guān)。具體而言,結(jié)果數(shù)據(jù)可與定義控件實例的控件類型相關(guān)。因此,例如,簡單的按鈕類型可將指示按鈕是否正在被按壓的二元值定義為其結(jié)果數(shù)據(jù)。旋鈕控件類型可將指示旋鈕的旋轉(zhuǎn)角度的整數(shù)定義為其結(jié)果數(shù)據(jù)。因此,通過提供向應(yīng)用發(fā)送簡要并且易于使用的結(jié)果數(shù)據(jù)的較低級MTL解析器層,本發(fā)明的實施例可大大簡化應(yīng)用編程并減少應(yīng)用必須處理的數(shù)據(jù)量。此外,由于MTL解析器可知道所有控件實例,因此,它可跟蹤顯示器的其中觸摸數(shù)據(jù)與應(yīng)用相關(guān)的區(qū)域(即,在該區(qū)域中存在控件實例)以及不相關(guān)的區(qū)域。因此,通過不對無關(guān)區(qū)域處理觸摸數(shù)據(jù),MTL解析器可提高效率。此外,MTL解析器可通過指示低于它的各層不處理無關(guān)數(shù)據(jù)來提高它們的效率。在一些實施例中,MTL解析器甚至可指示觸控面板本身不處理來自該面板的無關(guān)區(qū)域的觸摸數(shù)據(jù)。這樣可節(jié)省電力,因為觸控面板可關(guān)閉激勵信號(根據(jù)一些實施例,激勵信號對于觸摸感測來說是必需的)。在以前的系統(tǒng)中,MTL解析器在不知道正在由不同應(yīng)用顯示的各種控件元素的情況下處理觸摸數(shù)據(jù)。因此,解析器可以處理標準格式的觸摸數(shù)據(jù)。例如,解析器可將已被觸摸的像素分組成觸摸區(qū)域,將觸摸區(qū)域擬合成橢圓(和/或其他容易限定的形狀),并將限定各種橢圓或其他形狀的數(shù)據(jù)發(fā)送給應(yīng)用。然后應(yīng)用必須處理這些形狀并將它們與應(yīng)用正在屏幕上顯示的控件相比較,以確定用戶是否以及如何與這些控件相交互。為了支持傳統(tǒng)的應(yīng)用并且/或者支持基于控件類型的功能可能不是最佳的一些實例,本發(fā)明的一些實施例可包含后述功能以及上面討論的先進的基于控件類型的功能。雖然乍看起來傳統(tǒng)的系統(tǒng)可由于將實際的觸摸數(shù)據(jù)傳遞給應(yīng)用而允許更高的精度水平,但情況并不總是如此。例如,在一些情況下,本發(fā)明的基于控件實例的系統(tǒng)可比傳統(tǒng)的系統(tǒng)更精確地確定用戶的意圖。為了變得實用,傳統(tǒng)的系統(tǒng)在將觸摸數(shù)據(jù)傳遞給應(yīng)用之前通常對其進行壓縮(例如,通過將其轉(zhuǎn)換成如上所述的橢圓和其他形狀)。但是,壓縮數(shù)據(jù)可能不正確地傳達用戶的意圖。另一方面,根據(jù)本發(fā)明的實施例,MTL解析器可不同地處理各控件類型的控件實例。因此,可以對控件類型進行預(yù)定義,以最正確地解釋用戶的意圖。因此,即使本發(fā)明的實施例可能實際上未將觸摸數(shù)據(jù)傳遞給應(yīng)用,它們也使得應(yīng)用可以更精確地解釋用戶意圖。此外,本領(lǐng)域技術(shù)人員將認識到,本發(fā)明的實施例可需要比傳統(tǒng)的系統(tǒng)少得多的處理。在傳統(tǒng)的系統(tǒng)中,由于解析器不知道應(yīng)用需要什么類型的數(shù)據(jù),因此它可能需要處理并向應(yīng)用發(fā)送所有或大部分進入的觸摸數(shù)據(jù)。另外,應(yīng)用必須再次處理由解析器接收的數(shù)據(jù),以確定它如何應(yīng)用于由應(yīng)用使用的特定控件。在本發(fā)明的實施例中,解析器知道應(yīng)用需要什么觸摸數(shù)據(jù)并且可僅進行與應(yīng)用相關(guān)的那些處理。此外,解析器向應(yīng)用發(fā)送已與應(yīng)用的控件相關(guān)的數(shù)據(jù),從而使應(yīng)用需要對進入的觸摸數(shù)據(jù)進行的處理最少化或完全消除這種處理。圖3示出了在屏幕上顯示的不同控件類型的各種控件實例。例如,可以使用一個或更多個按鈕類型實例(諸如按鈕300)。按鈕可用于檢測用戶是否按壓或壓下按鈕。也可
以使用滑塊控件301和302?;瑝K可檢測用戶什么時候沿控件滑動他/她的手指。也可以使用旋轉(zhuǎn)或旋鈕控件(諸如旋鈕303)。旋鈕控件可檢測對于旋鈕按下的手指的旋轉(zhuǎn)?;瑝K和旋鈕控件可以是需要歷史數(shù)據(jù)的控件類型。因此,MTL解析器可將滑塊或旋鈕的先前觸摸狀態(tài)與當前觸摸狀態(tài)相比較,以確定是否正在發(fā)生滑動和/或旋轉(zhuǎn)。此外,可以使用觸摸墊(touch pad)控件304。觸摸墊控件旨在仿效計算機筆記本觸摸墊,并可用于檢測觸摸墊上的各種觸摸事件。觸摸墊控件還可通過檢測諸如手指的展開等的更復(fù)雜的事件,提供普通的筆記本計算機觸摸墊的功能以外的功能。因此,例如,觸摸墊控件可以是對手的橫向移動、手對表面的壓力、手的展開和收縮、手在表面上的旋轉(zhuǎn)和表面上的接觸塊的數(shù)量進行檢測的導航表面。圖4示出了根據(jù)本發(fā)明的實施例的控件的透明度和/或不透明度選項。根據(jù)一些實施例,各種控件可被疊加或定義,使得它們可覆蓋同一區(qū)域。因此,例如,控件400和401可覆蓋相交區(qū)域403。一些實施例允許將控件限定為透明的或不透明的。在透明控件的情況下,以與不存在疊加的情況相同的方式,兩個控件均檢測共同的區(qū)域中的觸摸事件。因此,如果控件400和401均是按鈕并且手指按在區(qū)域402中,那么兩個控件均可檢測到手指的觸摸。根據(jù)一些實施例,控件可以是不透明的。當使用不透明性時,各種控件實例可包含層次參數(shù)。不透明控件實例可遮蔽處于其下方并與其區(qū)域的至少一部分相交的任何控件實例。在一些實施例中,具有最低層次參數(shù)的實例可被視為最高層次(即,所有其他實例均處于它們下方),但其他的配置是可能的。因此,假定實例400可以是不透明的并且處于比實例401高的層次,那么實例400可遮蔽實例401 (S卩,防止在實例401處注冊觸摸事件)。在一些實施例中,僅在不透明實例與其下方的實例疊加的區(qū)域中會出現(xiàn)遮蔽。因此,對于圖4的示例,在疊加區(qū)域403處會出現(xiàn)遮蔽(由此遮蔽觸摸402),但在沒有疊加的區(qū)域404處不會出現(xiàn)遮蔽。在除了觸摸事件以外還感測觸摸的力量或壓力的一些實施例中,控件的不透明度可以是部分的。部分不透明的控件可能不完全地遮蔽其下方的控件,而只是會減小觸摸事件對其下方的控件的力量。以下描述詳細討論本發(fā)明的實施例的范圍。根據(jù)這些實施例,MTL控件可使用以下的定義—控件的區(qū)域的定義“控件區(qū)域”;一控件的類型的定義,包括希望從控件得到什么類型的輸出數(shù)據(jù)“控件類型定義”(它們引用控件區(qū)域定義);一具有各控件的X、Y位置的控件實例的定義引用控件類型的“控件實例”,或者,間稱為“控件”。一旦定義了控件實例,就可由當前正經(jīng)歷用戶活動的任何控件實例產(chǎn)生控件輸出數(shù)據(jù)(或結(jié)果數(shù)據(jù))。通常,沒有被活動地使用的控件可以是“安靜的(quiet)”并且不輸出數(shù)據(jù)??丶敵鰯?shù)據(jù)可包含 一當前活動的控件的數(shù)量;一對于每個活動的控件- CTRLID 一將輸出數(shù)據(jù)與控件實例相關(guān)聯(lián)的控件ID代碼一數(shù)據(jù)集一提供與控件的狀態(tài)或自最后一次輸出數(shù)據(jù)報告以來控件的增量狀態(tài)有關(guān)的附加信息的數(shù)據(jù)集合。對于按鈕的特殊情況,數(shù)據(jù)集不是必要的,因為CTRLID的存在足以表示按鈕當前被按壓。控件實例可以是例如按鈕的實際控件??丶嵗梢每稍诳丶嵗亩x之前定義的控件類型。例如,控件類型可描述按鈕的形狀和行為。許多控件實例可引用相同的控件類型(例如,為了構(gòu)建虛擬鍵盤,許多控件實例可引用按鈕)??丶梢砸耘c顯示器上的交疊的圖形對象類似的方式相互交疊??梢岳?在控件實例中定義的)次序和(在控件類型中定義的)不透明度參數(shù)如下地確定交疊控件的行為—對于不透明控件,首先處理的控件(最低序號)根據(jù)它們的區(qū)域屏蔽(mask)從原始圖像提取信號,并減去已使用的信號,使得不可訪問稍后處理的控件(更高的序號)。一對于透明控件,它們根據(jù)區(qū)域屏蔽從原始圖像提取信號,但它們不減去已使用的信號,使得已使用的信號可以被稍后處理的控件再次使用。與顯示中的交疊對象的類比可被擴展具有最低序號的不透明控件可與最接近用戶的顯示對象類似,這些顯示對象使距用戶較遠的顯示對象的可見性變模糊。由于仍可透過透明控件看到距用戶較遠的顯示對象,因此透明控件可以與透明顯示對象類似。表I (控件實例參數(shù))
權(quán)利要求
1.一種用于操作多點觸摸使能裝置的方法,包括 通過在多點觸摸使能裝置上執(zhí)行的一個或多個應(yīng)用產(chǎn)生一個或多個控件實例; 將控件實例從所述一個或多個應(yīng)用發(fā)送到多點觸摸實用程序; 由多點觸摸實用程序接收觸摸數(shù)據(jù); 由多點觸摸實用程序僅對與至少一個控件實例有關(guān)的觸摸數(shù)據(jù)進行處理以獲得一個或多個結(jié)果組,其中,每個結(jié)果組都與相應(yīng)的控件實例相關(guān);以及將所述一個或多個結(jié)果組發(fā)送給所述一個或多個應(yīng)用。
2.根據(jù)權(quán)利要求I所述的方法,還包括 在多點觸摸使能裝置的顯示器上顯示一個或多個界面圖像,每個界面圖像都與控件實例相關(guān);以及 檢測一個或多個界面圖像上的觸摸, 其中,觸摸數(shù)據(jù)包含指示所述一個或多個界面圖像上的觸摸的數(shù)據(jù);以及其中,所述處理觸摸數(shù)據(jù)的步驟包含以與控件實例相關(guān)的方式對觸摸數(shù)據(jù)進行處理以獲得結(jié)果組。
3.根據(jù)權(quán)利要求I所述的方法,其中,所述一個或多個控件實例定義結(jié)果組的格式。
4.根據(jù)權(quán)利要求I所述的方法,其中,所述結(jié)果組不包含觸摸數(shù)據(jù)。
5.根據(jù)權(quán)利要求I所述的方法,其中,所述處理觸摸數(shù)據(jù)的步驟包含處理當前的觸摸數(shù)據(jù)以及處理歷史觸摸數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述處理觸摸數(shù)據(jù)的步驟包含將當前的觸摸數(shù)據(jù)與歷史觸摸數(shù)據(jù)相比較以獲得增量結(jié)果。
7.根據(jù)權(quán)利要求5所述的方法,還包括 由多點觸摸實用程序基于控件實例確定將來可能需要哪個接收的觸摸數(shù)據(jù)作為歷史觸摸數(shù)據(jù); 保存將來可能需要的接收的觸摸數(shù)據(jù);以及 舍棄所有其他接收的觸摸數(shù)據(jù)。
8.根據(jù)權(quán)利要求I所述的方法,其中 所述處理觸摸數(shù)據(jù)的步驟還包括導出中間觸摸數(shù)據(jù),所述中間觸摸數(shù)據(jù)采用光柵形式以外的形式; 所述方法還包括 保存中間觸摸數(shù)據(jù);以及 在將來使用中間觸摸數(shù)據(jù)獲得增量結(jié)果。
9.根據(jù)權(quán)利要求I所述的方法,其中,觸摸數(shù)據(jù)包含多個二元值,每個二元值指示特定像素是否被觸摸。
10.根據(jù)權(quán)利要求I所述的方法,其中,觸摸數(shù)據(jù)包含多個值,每個值指示對特定像素的觸摸的力量或壓力。
11.根據(jù)權(quán)利要求I所述的方法,其中,每個控件實例都限定顯示器的相關(guān)區(qū)域,并且其中,從來自顯示器的用于控件實例的相關(guān)區(qū)域的觸摸數(shù)據(jù)導出與各個控件實例相關(guān)的結(jié)果O
12.根據(jù)權(quán)利要求11所述的方法,其中一個或多個控件實例包含指示各個控件實例的虛擬層次的層次參數(shù); 一個或多個控件實例被限定為不透明的;以及 所述處理觸摸數(shù)據(jù)的步驟還包括對于每個不透明實例,去除針對被不透明實例的區(qū)域覆蓋的處于不透明實例的較低層次的實例的區(qū)域的所有觸摸事件。
13.根據(jù)權(quán)利要求12所述的方法,其中,一個或多個控件實例被限定為透明的,并且在處理觸摸數(shù)據(jù)的過程中,被透明實例覆蓋的實例不受影響。
14.根據(jù)權(quán)利要求I所述的方法,其中,每個控件實例都與一個或多個控件類型中的控件類型相關(guān)。
15.根據(jù)權(quán)利要求I所述的方法,其中,控件實例中的一個是按鈕控件實例,并且與所述按鈕控件實例相關(guān)的結(jié)果指示在顯示器上出現(xiàn)并與所述按鈕控件實例相關(guān)的按鈕是否被按壓。
16.根據(jù)權(quán)利要求I所述的方法,其中,控件實例中的一個是滑塊控件實例,并且與所述滑塊控件實例相關(guān)的結(jié)果指示一個或多個觸摸沿在顯示器上出現(xiàn)并與所述滑塊控件實例相關(guān)的滑塊的位置的增量變化。
17.根據(jù)權(quán)利要求I所述的方法,其中,控件實例中的一個是旋鈕控件實例,并且與所述旋鈕控件實例相關(guān)的結(jié)果指示一個或多個觸摸沿在顯示器上出現(xiàn)并與所述旋鈕控件實例相關(guān)的旋鈕的旋轉(zhuǎn)取向的增量變化。
18.根據(jù)權(quán)利要求I所述的方法,其中,控件實例中的一個是導航表面控件實例,并且與所述導航表面控件實例相關(guān)的結(jié)果指示幾個手指沿導航表面的相對位置的增量變化,其中所述導航表面出現(xiàn)在顯示器上并與導航表面控件實例相關(guān)。
19.一種用于操作多點觸摸使能裝置的方法,所述方法包括 從一個或多個應(yīng)用接收一個或多個控件實例; 接收觸摸數(shù)據(jù); 僅對與至少一個控件實例有關(guān)的觸摸數(shù)據(jù)進行處理,以獲得一個或多個結(jié)果組,其中,每個結(jié)果組都與相應(yīng)的控件實例相關(guān);以及 將所述一個或多個結(jié)果組發(fā)送給所述一個或多個應(yīng)用。
20.一種用于操作多點觸摸使能裝置的方法,所述方法包括 通過一個或多個應(yīng)用模塊向多點觸摸實用程序模塊發(fā)送一個或多個控件實例,所述多點觸摸實用程序模塊可操作為應(yīng)用模塊和觸摸數(shù)據(jù)之間的處理層,每個控件實例都定義用戶界面元素; 在顯示器上顯示由控件實例定義的用戶界面元素; 處理觸摸數(shù)據(jù)中捕捉的觸摸事件; 通過僅對與至少一個控件實例有關(guān)的觸摸數(shù)據(jù)進行處理來產(chǎn)生結(jié)果;以及 向所述一個或多個應(yīng)用模塊發(fā)送指示界面元素上的觸摸事件并與相應(yīng)的控件實例相關(guān)的結(jié)果。
21.根據(jù)權(quán)利要求20所述的方法,其中,每個控件實例還包含數(shù)據(jù),所述數(shù)據(jù)定義用于為該實例處理進入的觸摸數(shù)據(jù)的方法。
22.一種用于操作多點觸摸使能裝置的設(shè)備,包括 用于通過在多點觸摸使能裝置上執(zhí)行的一個或多個應(yīng)用產(chǎn)生一個或多個控件實例的裝置; 用于將控件實例從所述一個或多個應(yīng)用發(fā)送到多點觸摸實用程序的裝置; 用于由多點觸摸實用程序接收觸摸數(shù)據(jù)的裝置; 用于由多點觸摸實用程序僅對與至少一個控件實例有關(guān)的觸摸數(shù)據(jù)進行處理以獲得一個或多個結(jié)果組的裝置,其中,每個結(jié)果組都與相應(yīng)的控件實例相關(guān);以及用于將所述一個或多個結(jié)果組發(fā)送給所述一個或多個應(yīng)用的裝置。
23.根據(jù)權(quán)利要求22所述的設(shè)備,還包括 用于在多點觸摸使能裝置的顯示器上顯示一個或多個界面圖像的裝置,每個界面圖像都與控件實例相關(guān);以及 用于檢測一個或多個界面圖像上的觸摸的裝置, 其中,觸摸數(shù)據(jù)包含指示所述一個或多個界面圖像上的觸摸的數(shù)據(jù);以及其中,所述用于處理觸摸數(shù)據(jù)的裝置包含用于以與控件實例相關(guān)的方式對觸摸數(shù)據(jù)進行處理以獲得結(jié)果組的裝置。
24.根據(jù)權(quán)利要求22所述的設(shè)備,其中,所述一個或多個控件實例定義結(jié)果組的格式。
25.根據(jù)權(quán)利要求22所述的設(shè)備,其中,所述結(jié)果組不包含觸摸數(shù)據(jù)。
26.根據(jù)權(quán)利要求22所述的設(shè)備,其中,所述用于處理觸摸數(shù)據(jù)的裝置包含用于處理當前的觸摸數(shù)據(jù)以及處理歷史觸摸數(shù)據(jù)的裝置。
27.根據(jù)權(quán)利要求26所述的設(shè)備,其中,所述用于處理觸摸數(shù)據(jù)的裝置包含用于將當前的觸摸數(shù)據(jù)與歷史觸摸數(shù)據(jù)相比較以獲得增量結(jié)果的裝置。
28.根據(jù)權(quán)利要求26所述的設(shè)備,還包括 用于由多點觸摸實用程序基于控件實例確定將來可能需要哪個接收的觸摸數(shù)據(jù)作為歷史觸摸數(shù)據(jù)的裝置; 用于保存將來可能需要的接收的觸摸數(shù)據(jù)的裝置;以及 用于舍棄所有其他接收的觸摸數(shù)據(jù)的裝置。
29.根據(jù)權(quán)利要求22所述的設(shè)備,其中 所述用于處理觸摸數(shù)據(jù)的裝置還包括用于導出中間觸摸數(shù)據(jù)的裝置,所述中間觸摸數(shù)據(jù)采用光柵形式以外的形式; 所述設(shè)備還包括 用于保存中間觸摸數(shù)據(jù)的裝置;以及 用于在將來使用中間觸摸數(shù)據(jù)獲得增量結(jié)果的裝置。
30.根據(jù)權(quán)利要求22所述的設(shè)備,其中,觸摸數(shù)據(jù)包含多個二元值,每個二元值指示特定像素是否被觸摸。
31.根據(jù)權(quán)利要求22所述的設(shè)備,其中,觸摸數(shù)據(jù)包含多個值,每個值指示對特定像素的觸摸的力量或壓力。
32.根據(jù)權(quán)利要求22所述的設(shè)備,其中,每個控件實例都限定顯示器的相關(guān)區(qū)域,并且其中,從來自顯示器的用于控件實例的相關(guān)區(qū)域的觸摸數(shù)據(jù)導出與各個控件實例相關(guān)的結(jié)果O
33.根據(jù)權(quán)利要求32所述的設(shè)備,其中 一個或多個控件實例包含指示各個控件實例的虛擬層次的層次參數(shù);一個或多個控件實例被限定為不透明的;以及 所述用于處理觸摸數(shù)據(jù)的裝置還包括對于每個不透明實例,用于去除針對被不透明實例的區(qū)域覆蓋的處于不透明實例的較低層次的實例的區(qū)域的所有觸摸事件的裝置。
34.根據(jù)權(quán)利要求33所述的設(shè)備,其中,一個或多個控件實例被限定為透明的,并且在處理觸摸數(shù)據(jù)的過程中,被透明實例覆蓋的實例不受影響。
35.根據(jù)權(quán)利要求22所述的設(shè)備,其中,每個控件實例都與一個或多個控件類型中的控件類型相關(guān)。
36.根據(jù)權(quán)利要求22所述的設(shè)備,其中,控件實例中的一個是按鈕控件實例,并且與所述按鈕控件實例相關(guān)的結(jié)果指示在顯示器上出現(xiàn)并與所述按鈕控件實例相關(guān)的按鈕是否被按壓。
37.根據(jù)權(quán)利要求22所述的設(shè)備,其中,控件實例中的一個是滑塊控件實例,并且與所述滑塊控件實例相關(guān)的結(jié)果指示一個或多個觸摸沿在顯示器上出現(xiàn)并與所述滑塊控件實例相關(guān)的滑塊的位置的增量變化。
38.根據(jù)權(quán)利要求22所述的設(shè)備,其中,控件實例中的一個是旋鈕控件實例,并且與所述旋鈕控件實例相關(guān)的結(jié)果指示一個或多個觸摸沿在顯示器上出現(xiàn)并與所述旋鈕控件實例相關(guān)的旋鈕的旋轉(zhuǎn)取向的增量變化。
39.根據(jù)權(quán)利要求22所述的設(shè)備,其中,控件實例中的一個是導航表面控件實例,并且與所述導航表面控件實例相關(guān)的結(jié)果指示幾個手指沿導航表面的相對位置的增量變化,其中所述導航表面出現(xiàn)在顯示器上并與導航表面控件實例相關(guān)。
40.一種用于操作多點觸摸使能裝置的設(shè)備,所述設(shè)備包括 用于通過一個或多個應(yīng)用模塊向多點觸摸實用程序模塊發(fā)送一個或多個控件實例的裝置,所述多點觸摸實用程序模塊可操作為應(yīng)用模塊和觸摸數(shù)據(jù)之間的處理層,每個控件實例都定義用戶界面元素; 用于在顯示器上顯示由控件實例定義的用戶界面元素的裝置; 用于處理觸摸數(shù)據(jù)中捕捉的觸摸事件的裝置; 用于通過僅對與至少一個控件實例有關(guān)的觸摸數(shù)據(jù)進行處理來產(chǎn)生結(jié)果的裝置;以及 用于向所述一個或多個應(yīng)用模塊發(fā)送指示界面元素上的觸摸事件并與相應(yīng)的控件實例相關(guān)的結(jié)果的裝置。
41.根據(jù)權(quán)利要求40所述的設(shè)備,其中,每個控件實例還包含數(shù)據(jù),所述數(shù)據(jù)定義用于為該實例處理進入的觸摸數(shù)據(jù)的方法。
42.一種用于操作多點觸摸使能裝置的設(shè)備,所述設(shè)備包括 用于從一個或多個應(yīng)用接收一個或多個控件實例的裝置; 用于接收觸摸數(shù)據(jù)的裝置; 用于僅對與至少一個控件實例有關(guān)的觸摸數(shù)據(jù)進行處理,以獲得一個或多個結(jié)果組的裝置,其中,每個結(jié)果組都與相應(yīng)的控件實例相關(guān);以及 用于將所述一個或多個結(jié)果組發(fā)送給所述一個或多個應(yīng)用的裝置。
全文摘要
本發(fā)明涉及觸摸數(shù)據(jù)的模式敏感處理。本發(fā)明的實施例提供一種硬件或軟件實用程序?qū)樱湓诳梢詫τ|摸數(shù)據(jù)執(zhí)行應(yīng)用知道的處理的多點觸摸使能裝置上操作運行。具體而言,在裝置上執(zhí)行的各種應(yīng)用可從多點觸摸使能顯示器向?qū)嵱贸绦驅(qū)影l(fā)送它們需要的觸摸數(shù)據(jù)的類型的定義。實用程序?qū)尤缓罂膳c這些定義相關(guān)聯(lián)地處理進入的觸摸數(shù)據(jù),并將采用由應(yīng)用請求的格式的結(jié)果數(shù)據(jù)發(fā)送回應(yīng)用。由此,可減少與觸摸數(shù)據(jù)的處理相關(guān)的計算負荷。并且,在某些情況下,應(yīng)用可獲得比現(xiàn)有系統(tǒng)中提供的數(shù)據(jù)更精確的數(shù)據(jù)。
文檔編號G06F3/0488GK102902473SQ20121024948
公開日2013年1月30日 申請日期2008年6月13日 優(yōu)先權(quán)日2007年6月13日
發(fā)明者S·P·霍特林 申請人:蘋果公司