專利名稱:多指針間接輸入設備的顯示映射模式的制作方法
多指針間接輸入設備的顯示映射模式
背景技術(shù):
用于計算系統(tǒng)的導航和空間控制的人工輸入設備對計算機系統(tǒng)性能和用戶的整體體驗具有重要的影響。存在多種人工輸入設備。對于個人計算機最常見的人工輸入設備包括諸如鼠標或觸控板之類的單指針間接交互設備以及諸如觸摸屏之類的直接交互設備。單指針間接交互設備傳感器檢測與傳感器的用戶交互并將此交互映射到顯示器上的位置。一種將輸入點映射到顯示器的方法牽涉到傳感器范圍到顯示器范圍的一對一映射,這稱為絕對映射。采用絕對映射的設備的例子是手寫筆和觸摸數(shù)字轉(zhuǎn)化器。另一方法牽涉到將設備傳感器坐標映射到顯示器的活動子部分,這稱為相對映射。采用相對映射的設備例子是鼠標和諸如觸控板之類的模擬鼠標的設備。鼠標感應移動,所述移動根據(jù)感應的與設備的交互將假設的起始位置位移一段距離。觸控板通常以類似于鼠標的方式使用。感應觸控板上的接觸的動作,所感應動作的以與鼠標輸入類似的方式對待。直接交互設備允許與在外觀上和顯示器一致的設備進行交互。直接交互設備使用絕對映射在觸摸感應表面上的位置和相同大小的顯示器上的位置之間進行映射。例如,當用戶觸摸觸摸屏上的一點時,輸入事件將在對應于用戶觸摸的顯示器上的點的位置處的用戶界面中觸發(fā)應用響應,例如命令驅(qū)動。從多指針輸入設備的空間輸入到顯示器的絕對和相對映射具有選擇性的優(yōu)點和缺點,具體取決于輸入和顯示設備的物理屬性、系統(tǒng)的性能、應用用戶界面的特性和布局、用戶正在執(zhí)行的任務類型以及各種人體工學因素。
發(fā)明內(nèi)容
本發(fā)明內(nèi)容被提供來以簡化的形式介紹概念的選擇,這些概念在下面的具體實施方式
中進一步描述。本發(fā)明內(nèi)容既不打算識別所要求保護的主題的關(guān)鍵特征或必要特征,也不打算被使用來限制所要求保護主題的范圍。間接交互輸入設備可以具有一個或多個輸入傳感器,其中每個傳感器可以檢測和提供多個輸入點。各種各樣的多點輸入感應技術(shù)在本領(lǐng)域中是公知的,包括但不限于電容、電阻和基于壓力的觸摸傳感器、光傳感器和動作視頻骨骼跟蹤系統(tǒng)。在映射傳感器輸入點中應用到諸如顯示器之類的輸出的計算與傳感器定義輸入點(并非二維坐標空間中的離散位置)的方式以及輸入點被感應方式無關(guān)。例如,觸摸感應傳感器可以提供指示其中用戶正在觸摸傳感器的坐標空間中的兩個或更多個位置的數(shù)據(jù)。這樣的傳感器的形狀可以是矩形,但是也可以具有其他形狀。所述傳感器的外觀可以類似于觸控板,但是,不是跟蹤單點動作,而是它檢測用戶觸摸的多個點。這些多個點繼而被映射到諸如顯示器之類的輸出設備上的多個位置。來自間接傳感器的多個點到顯示器上的點的相對映射和絕對映射很重要。例如,通過多點相對映射,可以牽涉更多計算來確定和管理傳感器上的多個點將被映射到的顯示器的適當?shù)臋z視區(qū)(viewport)或子部分。要做的其他設計決策包括單個或多個顯示器的邊界條件。作為另一例子,將小型傳感器上物理接近的多個輸入點絕對映射到非常大的顯示器表面可能導致顯示器上的對應位置相隔非常遠。因此,在一個方面,計算機實施的過程包括將描述多指針間接輸入設備上的輸入點的信息接收到存儲器中。所述輸入點被映射到顯示器的顯示坐標空間中的位置。如果一個或多個映射的輸入點位于顯示器的可視區(qū)域之外,則邊界條件被應用來矯正映射。一種計算機實施的過程包括將描述來自多指針間接輸入設備的輸入點的信息接收到存儲器中。所選擇的映射選項的指示被接收,所述所選擇的映射選項是從至少相對映射和絕對映射中選擇的。所述輸入點按照所選擇的映射選項被映射到輸出設備的顯示坐標空間中的位置。映射模式可以針對顯示坐標空間的每個軸被獨立地選擇。在下面的描述中,參考構(gòu)成本文一部分的附圖,所述附圖作為說明示出本技術(shù)的特定的示例性實施方案。應當理解,在不偏離本公開范圍的情況下,可以使用其他實施例并且可以做出結(jié)構(gòu)性改變。
圖I是使用多指針間接輸入設備的系統(tǒng)的框圖。圖2是示出檢視區(qū)布置的示例性實施方案的流程圖。圖3是示出輸入映射的示例性實施方案的流程圖。圖4是示出輸入映射的另一示例性實施方案的流程圖。圖5是示出輸入加速的示例性實施方案的流程圖。圖6是示出范圍調(diào)整的示例性實施方案的流程圖。圖7是其中可以實施此類系統(tǒng)的示例性計算設備的框圖。
具體實施例方式下面的部分提供了其中可以使用多指針間接輸入設備的示例性操作環(huán)境。參考圖1,計算機系統(tǒng)100包括多指針間接輸入設備102,所述設備具有連接到計算機平臺104 (下面描述其例子的詳細信息)的傳感器。這樣的計算機系統(tǒng)可以是個人計算機、家庭娛樂系統(tǒng)、投影儀、kiosk應用、緊湊型個人電子設備等。所述計算機平臺具有管理一個或多個應用108和計算機平臺104的資源(例如其周邊設備,包括多指針間接輸入設備)之間的交互的操作系統(tǒng)。在所述操作系統(tǒng)中,從多指針間接輸入設備102的傳感器接收描述多個感應輸入點110的數(shù)據(jù)。這些輸入點被處理以便將它們映射到顯示器120上的點。該映射過程牽涉到確定設備坐標系到顯示坐標系的初始映射,所述映射可以是相對映射或絕對映射,以及然后確定設備坐標系中的每個點到顯示坐標系的映射。這樣的初始映射在每個輸入會話開始時發(fā)生。輸入會話從傳感器檢測到第一個輸入的時間點開始,到從傳感器刪除最后一個輸入的時間點結(jié)束。在輸入會話期間,輸入點可能移動。所述輸入點從它們位于傳感器坐標系的新位置映射到顯示坐標系中對應的新位置。該移動映射可以考慮諸如邊界和加速之類的問題。如圖I所示,多個點110在所述輸入會話開始時被輸入到檢視區(qū)選擇模塊130。所述檢視區(qū)選擇模塊提供顯示坐標系中的檢視區(qū)大小和位置132作為其輸出。所述檢視區(qū)在顯示坐標空間中定義傳感器坐標空間被映射到的區(qū)域。在其中多個設備傳感器連接到系統(tǒng)的配置中,每個傳感器具有自己的檢視區(qū)。所述檢視區(qū)可以具有與輸入設備傳感器的形狀對應的形狀。然而在某些實施方案中,所述檢視區(qū)可能具有不同于傳感器的高寬比或方位,甚至不同的形狀。例如,橢圓體傳感器可以映射到矩形檢視區(qū)。檢視區(qū)的形狀典型地由主機系統(tǒng)定義,但是也可以由設備或用戶定義。當傳感器檢測到用戶輸入時,計算檢視區(qū)的大小和位置。當傳感器未檢測到用戶輸入時,不定義檢視區(qū)的大小和位置。檢視區(qū)典型地不顯示給用戶。檢視區(qū)的形狀、大小和位置共同表示傳感器坐標系到顯示坐標系的映射。設置134確定該映射如何完成,例如通過相對映射或絕對映射,其例子將在下面更詳細地描述。多個輸入點110在整個輸入會話期間也被輸入到輸入映射模塊140。所述輸入映射模塊在顯示坐標系中提供多個點142作為其輸出。設置134例如通過確定設備和顯示器參考位置來確定每個點如何映射,所述設備和顯示器參考位置用于解釋相對輸入位置、應用輸入動作加速、范圍調(diào)整和邊界條件,它們的例子將在下面更詳細地描述。給定被映射到顯示坐標系的多個點,多個點142可以在顯示器上顯示。操作系統(tǒng)106和/或應用108對待每個點的方式可以類似于對任何單個點的對待方式,例如用于選擇顯示項,或者可以類似于對來自直接觸摸輸入傳感器的多個點的對待方式,例如在主機系統(tǒng)用戶界面中實現(xiàn)元素縮放、旋轉(zhuǎn)或移動。一旦映射到顯示器,多個點的可能的使用范圍便不限于本發(fā)明。給定本上下文,現(xiàn)在結(jié)合圖2-4更詳細地描述將多個點映射到顯示器的示例性實施方案。在圖2中,流程圖描述檢視區(qū)大小和位置可以如何由檢視區(qū)選擇模塊選擇,以及接下來可以如何映射點的示例性實施方案。應當指出,下面的實施方案基于有關(guān)期望的用戶體驗的某些設計決策。例如,假設每個物理輸入相對于其他物理輸入的相對位置在投影到顯示器時保持不變。還假設所有輸入之間的距離對稱地縮放。用戶體驗的另一方面是輸入設備和顯示器之間的映射種類。所述映射可以是相對映射或絕對映射,并且針對每個軸可以是獨立的。例如,相對映射可以應用到I軸,絕對映射應用到X軸,或者恰恰相反。同樣,這兩個軸可以使用不同的相對映射。所述映射還可以基于輸入設備和顯示器的邏輯坐標或物理尺寸。如果所述映射基于設備的物理尺寸,則提聞了空間精確度,從而提供更直觀的和聞效認知的界面。這些有關(guān)映射種類的決策可以是系統(tǒng)中的可選設置。用戶體驗的另一方面是邊界策略。具體而言,設備輸入可能受制于系統(tǒng)的顯示器邊界策略。例如,所有設備輸入可以被強制保留在顯示器內(nèi),或者只強制來自輸入集中的一個設備輸入保留在顯示器內(nèi)。另一實施方案并不使用任何邊界策略。這些有關(guān)邊界策略的決策可以是系統(tǒng)中的可選設置。檢視區(qū)大小和位置在每個輸入會話的開始確定。例如,當傳感器在沒有用戶輸入的一段時間之后檢測到一個或多個輸入點,則檢測到200輸入會話開始。每個軸上的檢視區(qū)尺寸可以由輸入設備、主機系統(tǒng)或用戶定義。所述尺寸可以表示為目標顯示設備的百分比或者以距離的物理單位表示。對于要使用的距離的物理單位,輸入傳感器和顯示器的物理和邏輯(坐標)范圍例如由設備、用戶輸入或其他裝置提供。然后輸出定位器在顯示坐標空間中的位置被檢索201。在此實施方案中,所述輸出定位器位置對于用戶會話(在用戶登入時開始,在用戶注銷時結(jié)束)是全局性的。所述輸出定位器位置由連接到系統(tǒng)的多個單指針和多指針輸入設備共享并由它們更新。所述輸出定位器可以是從上一輸入會話保存的位置。如果沒有上一輸入會話,則可以使用顯示設備的中心、鼠標或其他設備的最后一個位置或替換的默認顯示位置作為輸出定位器位置。接下來,給定顯示設備和輸入設備的已知的參數(shù)(B卩,坐標和邊界),確定202針對每個軸的比例參數(shù)。這些參數(shù)典型地被存儲在存儲器中。在顯示設備的情形中,所述參數(shù)可以使用系統(tǒng)API被檢索。在輸入設備的情形中,所述參數(shù)可以經(jīng)由設備詢問被檢索。給定顯示設備和輸入設備的坐標和邊界,確定比例參數(shù)。如果使用絕對映射,則基于物理范圍的計算不是必須的,X軸和y軸縮放因子基于設備和顯示坐標范圍的一對一比率。如果使用相對映射,則通過設備尺寸與顯示坐標中的檢視區(qū)尺寸的比率來確定X軸和I軸縮放因子。所述縮放因子可以計算一次,存儲在存儲器中并在需要時檢索。顯示坐標空間中的檢視區(qū)范圍(B卩,其頂點的X和y坐標)通過使用確定的縮放因子被確定203。在像下面那樣計算新的輸出定位器之前,首先使用已保存的輸出定位器確定對于輸入會話的所述檢視區(qū)范圍。對于使用顯示器的像素密度的縮放檢視區(qū)而言,縮放因子SV是介于O至I之間的非零正值,檢視區(qū)的范圍(extent) Rv=
{ Lv0x - Svx/ [2*extent (RDx)],
Lv0x + Svx/ [2*extent (RDx)],
Lv0y - Svy/ [2*extent (RDy)],
Lv0y+ SVy/[2*eXtent(RDy)]},其中Lvtl是初始檢視區(qū)定位器,典型地是目標顯示器的中心,Sv是縮放因子,extent (Rd)是顯示器的x和y坐標范圍,即,它的像素寬度和高度,下角標X和y指示X和y軸上的那些值。對于使用物理尺寸的檢視區(qū),其中期望的大小Sv是不大于目標顯示器的物理范圍的非零正值,顯示器的像素密度D經(jīng)由硬件詢問獲知,檢視區(qū)的范圍Rv=
{ [Lv0x - Svx/[2*extent (Rdx) ] ] * Dx + RDx.left,] * Dx + RDx.left,] * Dy + RDy.top, ] * Dy + RDy.top},
給定檢視區(qū)的初始沮圍,然后首先在設備坐標系中確定204傳感器定位器。有許多方式選擇傳感器定位器,所選擇的特別的方式是取決于期望的用戶交互的。例如,如果傳感器檢測到單個輸入,則傳感器定位器可以是該單個輸入的坐標。如果有多個輸入,則傳感器定位器可以是單個“主”輸入的位置,或者是與其他輸入具有特殊關(guān)系的點,例如所有輸入的幾何中心。當未檢測到任何輸入點時,則不定義傳感器定位器,并且不被保存在輸入會話之間。當主輸入的位置被用作傳感器定位器時,各種各樣的方法之一可以被使用來選擇主狀態(tài)并將其分配給輸入。通常,所述“主”輸入是通過任何方法從其他輸入點中選出的輸入點。例如,所述主輸入可以是在會話中檢測到的第一個輸入或最后一個輸入。此方法攜帶的缺點是在多個輸入同時到達時執(zhí)行任意的選擇。解決方法通過一種幾何排序的形式選擇主輸入,例如按照幾何排序公式(可能是交互相關(guān)的)的最高次序輸入。例如,排序公式可以對每個輸入點相對于所有輸入的幾何中心處的原點和參考點形成的角度進行排序。所述參考點例如可以是具有基于用戶的左或右偏手性測量的角度的垂線。無論何種方法,傳感器定位器確定都受輸入的到達和離開時間的影響。為了防止其中用戶打算同時到達或離開多個輸入,而非在稍微不同的時間到達或離開的情況,可以使用小時間窗口(例如,10-60ms)延遲傳感器定位器計算。接下來,傳感器定位器位置從設備坐標被映射205到顯示坐標。結(jié)果是對于幀的新的輸出定位器位置。該位置可以通過[Ls / extent (Rs) * extent (Rv) ] + Rvtl來計算,其中Ls是傳感器定位器的X或y坐標,extent (Rs)是傳感器坐標空間的寬度或高度,extent (Rv)是檢視區(qū)的寬度或高度,Rto是初始檢視區(qū)的寬度或高度。該新的輸出定位器被約束在顯示器的邊界內(nèi)。給定新的輸出定位器,檢視區(qū)然后通過獲取206檢視區(qū)定位器被置于顯示坐標空間內(nèi)。對于會話中的第一幀,檢視區(qū)位置被確定;在接下來的幀中,從存儲器檢索檢視區(qū)位置。檢視區(qū)的位置被邏輯地確定,意味著是否顯示檢視區(qū)是可選的。實際上,在多數(shù)實施方案中,不實際顯示檢視區(qū)可能是優(yōu)選的。如上所述,檢視區(qū)是輸入傳感器坐標空間在顯示器上的投影,檢視區(qū)定位器位置是檢視區(qū)在顯示坐標中的幾何中心。另外如上所述,與輸出定位器不同,當傳感器未檢測到任何輸出時,不定義檢視區(qū)。這與特定的設備實例關(guān)聯(lián)(而非對于用戶會話是全局性的),當用戶首先將輸入置于傳感器上時,檢視區(qū)位置被更新。在輸入會話開始之后,直到輸入會話結(jié)束,檢視區(qū)都在幀之間保持靜止。如果幀表示連續(xù)的輸入會話(來自上一幀和當前幀的輸入點列表均不為空),則從存儲器檢索檢視區(qū)定位器。如果幀發(fā)起新的輸入會話,則檢視區(qū)定位器通過確定傳感器定位器(在步驟205確定)和輸出定位器位置(在步驟201確定)之間的偏移來獲取,如下所示。
ALd _ Ld _ Ldo
Lv = [Ls / extent (Rs) * extent (Rv) ] + Lvo + ALd
然后將Lv約束于目標顯示器的邊界內(nèi),以及使用新的檢視區(qū)定位器重新計算上面確定的檢視區(qū)范圍。計算傳感器定位器之后,然后將檢視區(qū)定位器、對于幀的輸出定位器、該幀的傳感器輸入映射208到顯示坐標,其方式將在下面更詳細地描述。如果輸入會話結(jié)束,如在210處確定的那樣,則可以保存212有關(guān)輸入會話的某信息(例如最后一個輸出的定位器)。如果輸入會話未結(jié)束,并且如果接收到更新的傳感器輸入位置(如在214處確定的那樣),則該過程通過將這些新的傳感器輸入映射208到顯示器來重復確定204對于幀的傳感器定位器。然而,在幀是連續(xù)會話一部分的情況下,不在步驟206確定檢視區(qū)定位器,而是從存儲器中檢索。圖3描述了給定檢視區(qū)大小和位置,如何將傳感器輸入映射到檢視區(qū)中的點,包括在單個顯示器上強制執(zhí)行邊界條件(如果相對映射被完成的話)。圖3描述其中所有輸入被約束在顯示器內(nèi)的情形。
7
系統(tǒng)從設備接收300輸入點的列表,每個輸入點在設備坐標空間中具有坐標。接下來,輸入點被映射302到其在顯示坐標空間中的對應點。例如,設備坐標空間中的點Cs在顯示坐標空間中的坐標Cd可以通過[Cs / extent (Rs) * extent (Rv) ] + Rv來計算。包含輸入點的邊界框被定義304。所述邊界框的角映射到顯示器的可視范圍并與顯示器的可視范圍進行比較306。如果所述邊界框沒有任何角位于顯示器的可視區(qū)域之外,則保持輸入映射310。否則,將邊界框移到顯示器的可視范圍內(nèi)的偏移被確定312。在計算最小矯正偏移時,輸入邊界框的每個非標準角的上一幀和當前幀之間的位移矢量或各個輸入定義一條路徑及其與可視顯示器邊界的相交點。所述矯正偏移是路徑原點和相交點之間的位移。該偏移應用314到點以便將它們重新映射到顯示器的可視區(qū)域內(nèi)的新位置。在另一實施方案中,所述點被約束以便來自設備的至少一個輸入點依然被顯示。在圖4中,系統(tǒng)從設備接收400輸入點的列表,每個輸入點在設備坐標空間中具有坐標。接下來,輸入點被映射402到其在顯示坐標空間中的對應的點。包含輸入點的邊界框被定義404。所述邊界框的角然后與顯示器的可視范圍進行比較406。如果所述邊界框的角中的至少一個依然在顯示器的可視區(qū)域內(nèi),則輸入映射被保持410。否則,將邊界框的至少一點移到顯示器的可視范圍內(nèi)的矯正偏移被確定412。接下來,距離所包含的角最近的輸入的偏移被確定并被應用414到矯正偏移。此更新的矯正偏移被應用416到點以便將它們重新映射到顯示器的可視區(qū)域內(nèi)的新位置。對于多個監(jiān)視器顯示,過程類似。存在規(guī)則的顯示拓撲,其中顯示器的可視區(qū)域的聯(lián)合為沒有內(nèi)空隙的單個矩形的“虛擬”顯示。對于規(guī)則的顯示拓撲,多個輸入到虛擬顯示表面的邊界的界限與對單個顯示器的界限完全相同。還存在不規(guī)則的顯示拓撲,其中顯示器的可視區(qū)域的聯(lián)合為具有凸形或凹形內(nèi)空隙的直線虛擬顯示。對于這些顯示拓撲,可使用前面的方法計算和應用矯正偏移。然而,另外一種失敗情形是其中點位于諸多凸形或凹形內(nèi)空隙之一中,僅包含位于顯示器的可視區(qū)域之外的那些點的邊界框可以被計算并被使用來計算矯正偏移。在這種情形下,所述邊界框被計算為包含未映射到顯示器的可視區(qū)域的輸入點,在此稱為非標準邊界框。最小矯正偏移被計算,通過此偏移確保非標準邊界框的至少一個角包含在顯示器的可視部分內(nèi)。該矯正偏移針被應用到對所有輸入的設備-顯示器變換中?,F(xiàn)在將描述用于多個監(jiān)視器的邊界條件的更具體的示例性實施方案。在該例子中,對于每個輸入,目標邊界顯示器(Rd,@#)以下面的方式被確定。首先,確定輸入位置Cd是否不包含在虛擬顯示表面的可視區(qū)域內(nèi)。如果不包含,則檢索針對上一中貞的輸入的顯不器Rdq的坐標。對于表不新會話的巾貞,這些坐標由包含輸出定位器位置Ld的顯示器的坐標替代。接下來,確定輸入Cd是否在X或y軸上依然以Rdci為界。如果在任何一個軸上觀察到正檢驗(positive test),則目標邊界顯示器為顯示器RD(I。否則,輸入在顯示器Rdci的邊界外。然后針對此輸入確定傳感器坐標中的位移矢量ASs :ASs = Cs - Csoo傳感器的范圍extent (Rs)被檢索。位移的主導軸被確定。如果|ASs/ extent (Rsx) | >=
ASsy/ extent (Rsy) |,則X軸主導。否則,Y軸主導。輸入位移的主導軸然后被使用來確定目標邊界顯示器。如果X軸為主導軸,則目標邊界顯示器Rd, 為滿足以下條件的顯示器1.輸入落在顯示器的水平范圍內(nèi);2.目標顯示器沿著輸入的主移動方向并且與最后一個顯示器共享該邊界;以及3.最后一個輸入的位置落在顯示器的垂直范圍內(nèi)。如果Y軸為主導軸,則目標邊界顯示器Rd, 滿足以下條件1.輸入落在顯示器的垂直范圍內(nèi);2.目標顯示器沿著輸入的主移動方向并且與最后一個顯示器共享該邊界;以及3.最后一個輸入的位置落在顯示器的水平范圍內(nèi)。如果無法使用主導方向確定目標邊界顯示器,則在非主導方向上執(zhí)行搜索。如果仍找不到目標邊界顯示器,則目標顯示器為輸入的上一顯示器。給定對于輸入的目標邊界顯示器,輸入夾(clamp)在該顯示器上,并且夾定偏移(clamping offset)被計算和存儲。該夾定偏移被應用到所有輸入上,以便保持它們之間的相對距離。以此方式調(diào)整輸入之后,再次全部測試所有輸入以確保它們位于顯示器的可視部分上。在某些交互模式中,允許有少量時間實現(xiàn)用戶通過傳感器同時執(zhí)行多個輸入的打算。當觀察到會話的第一個輸入時,激活計時器并且將到達的輸入標記為不活動,傳感器定位器確定被推遲直到計時器過期,或者在到達的輸入被移除時被終止。同樣,用戶可能打算同時離開輸入。為了在不影響傳感器定位器位置的情況下實現(xiàn)此打算,可以使用計時器。激活所述計時器,離開的輸入繼續(xù)被包括在傳感器定位器計算中,直到計時器過期。在前面的描述中,在相對和絕對映射模式中,輸入點被直接映射到顯示坐標。然而在相對映射模式中,輸入設備只能跨目標顯示坐標空間的子集。因此,從一個顯示器位置到另一位置的導航可能牽涉到多次敲擊操作,除非在檢測到輸入點的移動時應用某種形式的點加速。相反,為了實現(xiàn)像素級的點對點定位精確度,可以應用某種形式的點減速。此類加速和減速(有時稱為“指針彈道”)可以以下面的方式被應用到多輸入、間接輸入設備。在將來自設備坐標空間中的輸入點映射到顯示坐標空間中時給定輸入設備上的輸入點的位移以進行加速或減速,這種情況可以是顯示器上的點移動。通常,對于輸入點位移的測量被確定。該位移是對某個函數(shù)的輸入,該函數(shù)根據(jù)位移確定如何修改輸入設備點到它們對應的顯示坐標的映射。在一個實施方案中,每個輸入點的位移被確定。具有最低幅度位移矢量的輸入的傳感器像素中的物理位移通過加速曲線變換以產(chǎn)生單個加速的顯示位移,并且這被應用到輸出定位器和所有點的顯示位移。加速函數(shù)的輸入可以是矢量幅度,或者可以輸入到兩個不同的加速函數(shù)的、對于每個軸的值?,F(xiàn)在結(jié)合圖5描述該實施方案。首先,從第一和第二時間點接收500輸入傳感器上的輸入點。應當指出,如何唯一地識別和跟蹤移動的或靜止的輸入(在本領(lǐng)域中稱為“輸入識別和跟蹤”)是設備和傳感器特定的。本發(fā)明不限于任何特定的輸入識別和跟蹤技術(shù)。可以使用本領(lǐng)域中任何已被認為適當?shù)?、用于此類識別和跟蹤的技術(shù)。某個時間間隔內(nèi)每個輸入的每個尺寸中的設備坐標(即,像素)中的位移然后被確定502。如果所述時間間隔已知是恒定的,則可以單獨使用位移。否則可以使用所述時間間隔來計算速率。對于輸入的每個時間間隔或“幀”,具有最小的幅度位移或速率的輸入被識別504。具有最低幅度的輸入被選擇(例如,而非具有平均或最大幅度)以便在輸入傳感器上保持靜止的輸入在映射到顯示器時保持靜止。已識別的輸入的位移可以使用傳感器的像素密度從以像素為單位的位移轉(zhuǎn)換為物理位移。位移值被用作加速函數(shù)的輸入以便將該值變換506為加速的位移。本發(fā)明不受所用的特定加速度公式的限制??梢允褂帽绢I(lǐng)域中當前使用的任何合理的技術(shù),例如用于鼠標指針加速的技術(shù)。本發(fā)明通??蓱玫饺魏卧试S每個坐標軸(X、y或Z)的獨立加速的加速公式??梢允褂脤⑽灰浦涤成涞郊铀俚奈灰浦档姆侄尉€性函數(shù)實施適當?shù)淖儞Q。所述加速的位移值如果基于物理尺寸,則可以被轉(zhuǎn)換回以像素坐標。然后將加速的位移轉(zhuǎn)換508為顯示坐標空間中的加速的位移。例如,所述轉(zhuǎn)換由以下公式表示ACd = ACs / extent (Rs) * extent (Rv) ] + Rv。映射到顯示坐標的每個輸入位置然后通過加速位移調(diào)整510。對于絕對映射尺寸,可以使用被稱為范圍調(diào)整的類似過程,如結(jié)合圖6描述的。在圖6中,在設備坐標空間中的像素中,來自傳感器定位器的每個輸入的位移被確定600。最小位移被選擇602。該最小位移值通過使用設備的像素密度被轉(zhuǎn)換604為物理尺寸。所述以物理尺寸表示的最小位移值通過使用任何適當?shù)淖儞Q被轉(zhuǎn)換606為范圍調(diào)整值。一種適當?shù)淖儞Q可以類似于加速變換,例如將位移值映射到范圍調(diào)整值的分段線性函數(shù)。該范圍調(diào)整值被轉(zhuǎn)換608回像素值。與加速類似,所述范圍調(diào)整值然后被變換610為顯示器像素值,使用該值調(diào)整612每個輸入點。應當指出,輸入點的加速和范圍調(diào)整修改在應用確保點保留在顯示器的可視區(qū)域內(nèi)的邊界條件之前被完成。已經(jīng)描述完示例性的實施方案,現(xiàn)在將描述這樣的系統(tǒng)被設計為在其中運行的計算環(huán)境。下面的描述打算提供對其中該系統(tǒng)可以被實施的適當計算環(huán)境的簡要、概括的描述。所述系統(tǒng)可以通過多種通用或?qū)S糜嬎阌布渲脤嵤?。公知的計算設備的例子包括但不限于個人計算機、服務器計算機、手持式或膝上型設備(例如,媒體播放器、筆記本計算機、蜂窩電話、個人數(shù)字助理、錄音機)、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、游戲控制臺、可編程消費電子產(chǎn)品、網(wǎng)絡PC、微型計算機、大型計算機、包括任何上述系統(tǒng)或設備的分布式計算環(huán)境等。圖7示出適當?shù)挠嬎阆到y(tǒng)環(huán)境的例子。所述計算系統(tǒng)環(huán)境只是一個適當?shù)挠嬎悱h(huán)境的例子,并不打算暗示對這樣的計算環(huán)境的使用范圍或功能性的任何限制,不能將所述計算環(huán)境解釋為具有與示例性操作環(huán)境中所示的任一組件或組件組合相關(guān)的任何依賴關(guān)系或要求?,F(xiàn)在參考圖7,示例性計算環(huán)境包括諸如計算機700之類的計算機。在其最基本的配置中,計算機700典型地包括至少一個處理單元702和存儲器704。所述計算設備可以包括多個處理單元和/或額外的協(xié)處理單元(例如圖形處理單元720)。根據(jù)所述計算設備的精確配置和類型,存儲器704可以是易失的(例如RAM)、非易失性的(例如ROM、閃存等)或二者的某種組合。該最基本的配置在圖7中通過虛線706示出。另外,計算機700還具有另外的特征/功能性。例如,計算機700還可以包括另外的存儲裝置(可移動和/或不可移動的),其包括但不限于磁盤或光盤或磁帶。這樣的另外的存儲裝置在圖7中通過可移動存儲裝置708和不可移動存儲裝置710示出。計算機存儲媒體包括以任意方法或技術(shù)實施的易失性和非易失性、可移動和不可移動媒體,用于存儲諸如計算機程序指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)之類的信息。存儲器704、可移動存儲裝置708和不可移動存儲裝置710均為計算機存儲媒體的例子。計算機存儲媒體包括但不限于RAM、ROM、EEPR0M、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他光存儲裝置、磁帶盒、磁帶、磁盤存儲裝置或其他磁存儲設備,或可用來存儲期望的信息并且可以被計算機700訪問的任何其他介質(zhì)。任何這樣的計算機存儲媒體可以是計算機700的一部分。計算機700還可以包含允許設備與其他設備通信的(多個)通信連接712。(多個)通信連接712是通信媒體的一個例子。通信媒體典型地攜帶計算機程序指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或諸如載波或其他傳輸機制之類的調(diào)制數(shù)據(jù)信號中的其他數(shù)據(jù)并且包括任何信息傳輸媒體。術(shù)語“調(diào)制數(shù)據(jù)信號”是指使它的一個或多個特征以這樣的方式被設置或改變以便把信息編碼到信號中的信號。作為例子但不是限制,通信媒體包括諸如有線網(wǎng)絡或直線連接之類的有線媒體以及諸如聲音、RF、紅外和其他無線媒體之類的無線媒體。計算機700可以具有各種(多個)輸入設備714,例如鍵盤、鼠標、手寫筆、相機、觸摸輸入設備等。還可以包括諸如顯示器、揚聲器、打印機等之類的(多個)輸出設備716。所有這些設備在本領(lǐng)域中都是公知的,無需在此詳細討論。所述系統(tǒng)可以在軟件的一般上下文中實施,所述軟件包括計算機可執(zhí)行的指令和/或計算機解釋的指令,例如由計算機處理的程序模塊。通常,所述程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等,當它們被處理單元處理時,將引導所述處理單元執(zhí)行特定任務或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型。該系統(tǒng)可以在分布式計算環(huán)境中實現(xiàn),在所述計算環(huán)境中,任務由通過通信網(wǎng)絡鏈接在一起的遠程處理設備執(zhí)行。在分布式計算環(huán)境中,所述程序模塊可以位于包括存儲器存儲設備的本地和遠程計算機存儲媒體中。所附權(quán)利要求的前言中的術(shù)語“制品”、“過程”、“機器”和“組分”打算將所述權(quán)利要求限制為被認為落在使用35 U. S. C § 101中的這些條款定義的可取得專利的主題的范圍內(nèi)的主題。在此描述的任何或所有上述替換的實施例可以以任意期望的組合的形式被使用來形成其他混合實施例。應當理解,所附權(quán)利要求中定義的主題不一定限于以上描述的特定的實施方案。以上描述的特定的實施方案僅作為例子被公開。
權(quán)利要求
1.一種計算機實施的過程,包括 將描述來自多指針間接輸入設備的輸入點的信息(110)接收(300)到存儲器中; 將所述輸入點映射(302)到顯示器的顯示坐標空間中的位置;以及如果一個或多個映射的輸入點位于顯示器的可視區(qū)域之外,則應用(314)邊界條件以矯正所述映射。
2.根據(jù)權(quán)利要求I的計算機實施的過程,其中所述邊界條件包括 確定一個或多個映射的輸入點是否位于顯示器的可視區(qū)域內(nèi); 確定(312)將所述一個或多個映射的輸入點置于顯示器的可視區(qū)域內(nèi)的矯正偏移;以及 將所述矯正偏移應用(314)到所述映射的輸入點。
3.根據(jù)權(quán)利要求I的計算機實施的過程,其中映射還包括 在設備坐標空間中選擇輸入定位器;以及 將所述輸入定位器映射到顯示坐標空間中的輸出定位器。
4.根據(jù)權(quán)利要求3的計算機實施的過程,還包括根據(jù)所述輸出定位器確定在顯示坐標中表示設備坐標空間的檢視區(qū)的大小和位置。
5.根據(jù)權(quán)利要求4的計算機實施的過程,其中選擇輸入定位器包括將第一個到達的輸入點選為輸入定位器。
6.一種計算機實施的過程,包括 將描述來自多指針間接輸入設備的輸入點的信息接收(300)到存儲器中; 接收選擇的映射選項的指示,所述選擇的映射選項是從至少相對映射和絕對映射中選擇的; 根據(jù)所述選擇的映射選項將所述輸入點映射(302)到輸出設備的顯示坐標空間中的位置。
7.根據(jù)權(quán)利要求6的計算機實施的過程,其中所述選擇的映射為相對映射。
8.根據(jù)權(quán)利要求7的計算機實施的過程,還包括 如果映射的輸入點位于顯示器的可視區(qū)域之外,則應用邊界條件以矯正映射。
9.根據(jù)權(quán)利要求8的計算機實施的過程,其中所述邊界條件包括 確定所有映射的輸入點是否位于顯示器的可視區(qū)域內(nèi); 確定將所有映射的輸入點置于顯示器的可視區(qū)域內(nèi)的矯正偏移;以及 將所述矯正偏移應用到所述映射的輸入點。
10.根據(jù)權(quán)利要求8的計算機實施的過程,其中所述邊界條件包括 確定映射的輸入點中的至少一個是否位于顯示器的可視區(qū)域內(nèi); 確定將映射的輸入點中的至少一個置于顯示器的可視區(qū)域內(nèi)的矯正偏移;以及 將所述矯正偏移應用到所述映射的輸入點。
11.一個或多個存儲指令的計算機可讀存儲介質(zhì),當由計算設備執(zhí)行時,導致所述計算設備執(zhí)行如權(quán)利要求1-5中任一項所述的過程。
12.—個或多個存儲指令的計算機可讀存儲介質(zhì),當由計算設備執(zhí)行時,導致所述計算設備執(zhí)行如權(quán)利要求6-10中任一項所述的過程。
全文摘要
例如但不限于觸摸傳感器的間接交互輸入設備可以提供多個輸入點,例如其中用戶正在觸摸傳感器的坐標空間中的兩個或更多個位置。這些多個點繼而被映射到諸如顯示器之類的輸出設備上的多個位置。所述映射可以是相對映射或絕對映射。通過相對映射,針對單個和多個顯示的邊界條件被應用,并且如果適當?shù)脑?,將矯正偏移添加到輸入點以維護期望的用戶交互模型。
文檔編號G06F3/041GK102929430SQ20121039950
公開日2013年2月13日 申請日期2012年10月19日 優(yōu)先權(quán)日2011年10月20日
發(fā)明者S.洪吉, L.王, P.德雷頓 申請人:微軟公司