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