亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于多指針間接觸摸輸入設(shè)備的應(yīng)用編程接口的制作方法

文檔序號:6382690閱讀:215來源:國知局
專利名稱:用于多指針間接觸摸輸入設(shè)備的應(yīng)用編程接口的制作方法
用于多指針間接觸摸輸入設(shè)備的應(yīng)用編程接口
背景技術(shù)
用于計算機(jī)系統(tǒng)的導(dǎo)航和空間控制的手動輸入設(shè)備對計算機(jī)系統(tǒng)的能力和用戶的總體體驗(yàn)具有顯著影響。存在若干種手動輸入設(shè)備。這些用于個人計算機(jī)的最常見的手動輸入設(shè)備包括單指針、間接交互設(shè)備(比如鼠標(biāo)或觸控板)和直接交互設(shè)備(比如觸摸屏)。單指針、間接交互設(shè)備傳感器檢測用戶與該傳感器的交互并將該交互映射到顯示器上的某個位置。將輸入的點(diǎn)映射到顯示器的一種方法涉及傳感器范圍到顯示器的范圍的一一映射,這被稱為絕對映射。采用絕對映射的設(shè)備的示例是筆和觸摸數(shù)字化儀。另一種方法涉及將設(shè)備傳感器坐標(biāo)映射到顯示器的可移動子部分,這被稱為相對映射。采用相對映射的設(shè)備的示例是鼠標(biāo)和諸如軌跡板之類的模仿鼠標(biāo)的設(shè)備。鼠標(biāo)感測移動,該移動基于所感測的與設(shè)備的交互而將假設(shè)的開始位置移位一定距離。軌跡板通常以與鼠標(biāo)相似的方式使用。感測接觸在軌跡板上的運(yùn)動,并且以與鼠標(biāo)輸入相似的方式處理所感測的運(yùn)動。直接交互設(shè)備允許與在視覺上與顯示器對準(zhǔn)的設(shè)備交互。直接交互設(shè)備使用絕對映射在觸敏表面上的位置與在相同尺寸的顯示器上的位置之間進(jìn)行映射。例如,當(dāng)用戶觸摸觸摸屏上的點(diǎn)時,輸入事件可以在對應(yīng)于由用戶觸摸的顯示器上的點(diǎn)的位置處觸發(fā)在用戶接口中的諸如命令致動之類的應(yīng)用響應(yīng)。來自多指針輸入設(shè)備的空間輸入到顯示器的絕對和相對映射具有選擇性的優(yōu)點(diǎn)和缺點(diǎn),這取決于輸入和顯示設(shè)備的物理屬性、系統(tǒng)的能力、應(yīng)用用戶接口的性質(zhì)和布局、用戶正在執(zhí)行的任務(wù)的類型以及各種人體工程學(xué)因素。大多數(shù)輸入設(shè)備除了它們的位置信息之外具有按鈕。例如,雙狀態(tài)機(jī)械按鈕在鼠標(biāo)上是普遍的。筆數(shù)字化儀典型地在尖端也具有一些壓力響應(yīng)設(shè)備。用于筆數(shù)字化儀的大多數(shù)軟件驅(qū)動器在處理尖端相關(guān)數(shù)據(jù)的過程中實(shí)現(xiàn)了鼠標(biāo)模仿的形式。同樣,按鈕和其他機(jī)構(gòu)一般地被作為輸入設(shè)備的獨(dú)立輸入來處理。輸入設(shè)備可以被制作成各種形狀和尺寸,可以具有相互不同的分辨率,并且可以提供各種數(shù)據(jù)作為計算機(jī)的輸入。

發(fā)明內(nèi)容
本發(fā)明內(nèi)容被提供以通過簡化形式介紹下面在具體實(shí)施方式
中進(jìn)一步描述的概念的選擇。本發(fā)明內(nèi)容不旨在標(biāo)識要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限制要求保護(hù)的主題的范圍。為了允許計算機(jī)平臺為應(yīng)用提供一致的接口以使用來自多點(diǎn)間接觸摸輸入設(shè)備的信息,將應(yīng)用編程接口提供給軟件接口層,該軟件接口層管理系統(tǒng)與各種多指針間接觸摸輸入設(shè)備的例示的交互。這種主機(jī)設(shè)備可以提供多個能力,比如在該主機(jī)系統(tǒng)的物理附件上觸摸控制器類設(shè)備的發(fā)現(xiàn)和綁定;用于在控制器與主機(jī)系統(tǒng)之間傳達(dá)設(shè)備能力、觸摸數(shù)據(jù)和設(shè)備模式變化的軟件驅(qū)動器和僅硬件接口 ;由觸摸控制器發(fā)射的無狀態(tài)輸入事件變換成一個或多 個用戶或應(yīng)用-可選擇的觸摸交互模型;對觸摸控制器設(shè)備、設(shè)備連接和用戶交互狀態(tài)的 全局管理;用于觸摸設(shè)備控制器的基礎(chǔ)系統(tǒng)要求的實(shí)施;用于用戶設(shè)備配置設(shè)定的公共接 口 ;對特定于設(shè)備的、增值交互模型的支持;對主機(jī)和設(shè)備安全環(huán)境的管理;用于觸摸控制 器主機(jī)的部署和服務(wù)模型。
在下面的描述中,參照形成其一部分的附圖,并且在附圖中通過圖解說明示出該 技術(shù)的特定的示例實(shí)現(xiàn)方式。應(yīng)當(dāng)理解,可以利用其他實(shí)施例,并且可以進(jìn)行結(jié)構(gòu)改變而不 脫離本公開的范圍。


圖1是使用多指針間接觸摸設(shè)備的示例系統(tǒng)的框圖。
圖2是圖解說明視口安置的示例實(shí)現(xiàn)方式的流程圖。
圖3是圖解說明接觸映射的一個示例實(shí)現(xiàn)方式的流程圖。
圖4是圖解說明接觸映射的另一個示例實(shí)現(xiàn)方式的流程圖。
圖5是圖解說明接觸加速的示例實(shí)現(xiàn)方式的流程圖。
圖6是圖解說明跨度調(diào)節(jié)的示例實(shí)現(xiàn)方式的流程圖。
圖7是在其中實(shí)現(xiàn)這種系統(tǒng)的示例計算設(shè)備的框圖。
圖8是用在用于實(shí)現(xiàn)這種系統(tǒng)的這種計算設(shè)備上的示例軟件架構(gòu)的框圖。
具體實(shí)施方式
下面的部分提供示例操作環(huán)境,在該示例操作環(huán)境中可以使用間接觸摸輸入設(shè) 備。在結(jié)合圖1-6描述了多指針間接觸摸設(shè)備的使用的示例實(shí)現(xiàn)方式之后,接著將結(jié)合圖 7和圖8描述示例軟件架構(gòu)。
參照圖1,計算機(jī)系統(tǒng)100包括具有傳感器的多指針、間接輸入設(shè)備102,其連接到 計算機(jī)平臺104 (其示例的細(xì)節(jié)在下文中描述)。這種計算機(jī)系統(tǒng)可以是個人計算機(jī)、家庭 娛樂系統(tǒng)、投影儀、一體機(jī)(kiosk)應(yīng)用、緊湊的個人電子產(chǎn)品等等。計算機(jī)平臺具有操作 系統(tǒng),其管理一個或多個應(yīng)用108與計算機(jī)平臺104的諸如包括所述多指針間接輸入設(shè)備 的其外圍設(shè)備之類的資源之間的交互。
在操作系統(tǒng)內(nèi),從多指針間接輸入設(shè)備102的傳感器接收描述多個感測的輸入點(diǎn) 110的數(shù)據(jù)。這些輸入點(diǎn)被處理以將它們映射到顯示器120上的點(diǎn)。
該映射過程涉及確定設(shè)備坐標(biāo)系統(tǒng)到顯示器坐標(biāo)系統(tǒng)的初始映射(該初始映射可 以是相對或絕對的)并且于是涉及來自設(shè)備坐標(biāo)系統(tǒng)的每個點(diǎn)到顯示器坐標(biāo)系統(tǒng)的映射。 這種初始映射發(fā)生在每個輸入會話的開始。
輸入會話是從由傳感器檢測到第一個輸入的時間點(diǎn)到從傳感器移除最后一個輸 入的時間點(diǎn)。在輸入會話期間,輸入點(diǎn)有可能移動。輸入點(diǎn)被從傳感器坐標(biāo)系統(tǒng)中它們的 新地點(diǎn)映射到顯示器坐標(biāo)系統(tǒng)中對應(yīng)的新地點(diǎn)。該移動映射可以考慮到諸如定界和加速之 類的問題。
如圖1所示,在輸入會話開始處,多個點(diǎn)110被輸入到視口選擇模塊130。視口選擇 模塊提供作為其輸出的顯示器坐標(biāo)系統(tǒng)中的視口尺寸和地點(diǎn)132。視口限定了傳感器坐標(biāo)空間被映射到的顯示器坐標(biāo)空間中的區(qū)域。在其中多個設(shè)備傳感器連接到系統(tǒng)的配置中,每個傳感器具有它自己的視口。視口可以具有與輸入設(shè)備傳感器的形狀對應(yīng)的形狀。然而,在一些實(shí)現(xiàn)方式中,視口可以具有不同于傳感器的縱橫比或取向,或者甚至不同的形狀。例如,橢圓體傳感器可以被映射到矩形視口。視口的形狀典型地由主機(jī)系統(tǒng)限定,但是也可以由設(shè)備或用戶限定。當(dāng)用戶輸入被傳感器檢測到時,計算視口的尺寸和位置。當(dāng)沒有用戶輸入被傳感器檢測到時,視口的尺寸和位置是不確定的。視口典型地不被顯示給用戶。視口的形狀、尺寸和位置一起表示傳感器坐標(biāo)系統(tǒng)到顯示器坐標(biāo)系統(tǒng)的映射。設(shè)定134確定該映射如何進(jìn)行,比如通過相對還是絕對映射來進(jìn)行,下面更詳細(xì)地描述其示例。貫穿輸入會話,多個點(diǎn)110也被輸入到輸入映射模塊140。該輸入映射模塊提供顯示器坐標(biāo)系統(tǒng)中的多個點(diǎn)142作為其輸出。設(shè)定134確定每個點(diǎn)被如何映射,比如通過確定設(shè)備和顯示器參考地點(diǎn)用于解釋相對輸入位置、應(yīng)用輸入運(yùn)動加速、跨度調(diào)節(jié)和定界條件來確定,下面更詳細(xì)地描述其示例。給定映射到顯示器坐標(biāo)系統(tǒng)的多個點(diǎn),所述多個點(diǎn)142可以被顯示在顯示器上。每個點(diǎn)可以由操作系統(tǒng)106和/或應(yīng)用108以相似于任何單個點(diǎn)的方式(例如用于選擇顯示的項目)、或以相似于來自直接觸摸輸入傳感器的多個點(diǎn)的方式(例如影響主機(jī)系統(tǒng)用戶接口中元件的縮放、旋轉(zhuǎn)或移動)來處理。所述多個點(diǎn)一旦被映射到顯示器,則所述多個點(diǎn)可能的使用范圍不限制本發(fā)明。給定該環(huán)境,現(xiàn)在將結(jié)合圖2-4更詳細(xì)地描述多個點(diǎn)到顯示器的映射的示例實(shí)現(xiàn)方式。在圖2中,流程圖描述了關(guān)于由視口選擇模塊可以如何選擇視口尺寸和地點(diǎn)以及隨后如何可以映射點(diǎn)的示例實(shí)現(xiàn)方式。應(yīng)當(dāng)注意,下面的實(shí)現(xiàn)方式基于關(guān)于期望的用戶體驗(yàn)的某些設(shè)計決策。例如,假設(shè)在投影到顯示器時,每個物理輸入相對于其他物理輸入的相對位置被保持。還假設(shè)所有輸入之間的距離被對稱地縮放。用戶體驗(yàn)的另一個方面是輸入設(shè)備與顯示器之間的映射的種類。該映射可以是絕對的或相對的,并且對于每個軸而言可以是獨(dú)立的。例如,相對映射可以應(yīng)用到I軸,絕對映射應(yīng)用到X軸,或反之亦然。同樣,兩個軸可以使用不同的相對映射。映射還可以基于輸入設(shè)備和顯示器的邏輯坐標(biāo)或物理維度。如果映射基于設(shè)備的物理維度,則空間精度得到改進(jìn),從而提供更直觀和認(rèn)知高效的接口。關(guān)于映射的種類的這些決策在系統(tǒng)中可以是可選的設(shè)定。用戶體驗(yàn)的另一個方面是定界策略。特別地,設(shè)備輸入可以受到針對系統(tǒng)的顯示器定界策略的制約。例如,所有設(shè)備輸入可以被強(qiáng)迫保持在顯示器內(nèi),或者來自該組的僅一個設(shè)備輸入可以被強(qiáng)迫保持在顯示器內(nèi)。另一個實(shí)現(xiàn)方式不使用任何定界策略。關(guān)于定界策略的這些決策在該系統(tǒng)中可以是可選的設(shè)定。視口尺寸和地點(diǎn)在每個輸入會話開始處確定。例如,在沒有用戶輸入的時段之后當(dāng)一個或多個輸入點(diǎn)被傳感器檢測到時,檢測200輸入會話的開始。每個軸中的視口維度可以由輸入設(shè)備、主機(jī)系統(tǒng)或用戶來限定。維度可以被表達(dá)為目標(biāo)顯示設(shè)備的百分比或以距離的物理單位表達(dá)。對于要被使用的距離的物理單位,由例如設(shè)備、用戶輸入或其他裝置提供輸入傳感器和顯示器二者的物理的和邏輯的(坐標(biāo))范圍。然后,取回201輸出定位符在顯示器坐標(biāo)空間中的位置。在該實(shí)現(xiàn)方式中,輸出定位符位置對用戶會話(其在用戶登錄 時開始并且在用戶注銷時結(jié)束)而言是全局的。輸出定位符位置在連接到系統(tǒng)的多個單指 針輸入設(shè)備和多指針輸入設(shè)備之間被共享并且由它們更新。輸出定位符可以是從先前的輸 入會話保存的位置。如果不存在先前的輸入會話,則顯示設(shè)備的中心、鼠標(biāo)或其他設(shè)備的最 后的位置或可替代的默認(rèn)顯示器地點(diǎn)可以被用作為輸出定位符位置。
接下來,給定顯示設(shè)備和輸入設(shè)備的已知的參數(shù)(即坐標(biāo)和邊界),確定202用于每 個軸的縮放因子。這些參數(shù)典型地被存儲在存儲器中。在顯示設(shè)備的情況下,可以使用系 統(tǒng)API取回參數(shù)。在輸入設(shè)備的情況下,可以經(jīng)由設(shè)備詢問取回參數(shù)。給定顯示器和輸入 設(shè)備的坐標(biāo)和邊界,確定縮放因子。如果使用絕對映射,基于物理范圍的計算不是必需的, 并且X和y軸縮放因子基于設(shè)備和顯示器坐標(biāo)范圍的一比一的比率。如果使用相對映射, 則X和y軸縮放因子由設(shè)備維度與顯示器坐標(biāo)中的視口維度的比率確定??s放因子可以被 計算一次、存儲在存儲器中且在需要時被取回。
使用所確定的縮放因子確定203顯示器坐標(biāo)空間中的視口范圍,即其頂點(diǎn)的X和y 坐標(biāo)。在新的輸出定位符被如下計算之前,最初使用保存的輸出定位符針對輸入會話確定 視口范圍。
對于使用顯示器的像素密度的縮放的視口,縮放因子SV是介于O與I之間的非零 正值,并且視口的范圍Rv={ Lvtlx - Svx/[2* 范圍(Rdx)],Lv0x + Svx/[2* 范圍(Rdx)],Lv0y - Svy/[2* 范圍(RDy)],LVQy+SVy/[2*范圍(RDy) ] },其中Lto是初始視口定位符,典型地為目標(biāo)顯示器的中 心,Sv是縮放因子且范圍(Rd)是顯示器的X和y坐標(biāo)范圍,即其像素寬度和高度,并且下 標(biāo)X和y指示X和y軸上的那些值。
對于使用物理維度的視口,其中期望的尺+Sv是不大于目標(biāo)顯示器的物理范圍 的非零正值,且顯示器的像素密度D是經(jīng)由硬件詢問而得知的,視口的范圍Rv ={ [Lvtlx-Svx/[2* 范圍(Rdx)]] * Dx + Rdx.左,[Lv0x+[Svx/[2* 范圍(Rdx)]] * Dx + Rdx.左,[Lv0y- [Svy/[2* 范圍(RDy)]] * Dy + Rlly.上,[LV0y+SVy/[2* 范圍(RDy)]] * Dy + RDy.上}。
給定視口的初始沮圍,然后最初在設(shè)備坐標(biāo)系統(tǒng)中確定204傳感器定位符。存在 許多選擇傳感器定位符的方式,并且所選的特定方式取決于期望的用戶交互。例如,如果存 在被傳感器檢測到的單個輸入,傳感器定位符可以是該單個輸入的坐標(biāo)。如果存在多個輸 入,則傳感器定位符可以是單個“主要”輸入的位置,或具有與其他輸入的特定關(guān)系的點(diǎn),比 如所有輸入的幾何中心。當(dāng)沒有輸入點(diǎn)被檢測到且在輸入會話之間未持續(xù)時,傳感器定位 符是不確定的。
當(dāng)主要輸入的位置被用作傳感器定位符時,各種方法之一可被使用來選擇主要地 位并且將其分配給該輸入。一般地,“主要”輸入是通過任何方法從其他輸入點(diǎn)中選擇的輸 入點(diǎn)。例如,主要輸入可以是在會話中檢測到的第一個輸入或最后一個輸入。該方法具有 以下缺陷在多個輸入同時到達(dá)的情況下強(qiáng)制任意選擇。一種解決方案是通過幾何排序的形式選擇主要輸入,比如根據(jù)幾何排序公式(其可以是交互相關(guān)的)的最高次序輸入。例如,排序公式可以將由每個輸入點(diǎn)相對于在所有輸入的幾何中心處的原點(diǎn)和參考點(diǎn)形成的角度進(jìn)行排序。參考點(diǎn)可以是例如具有基于用戶的左或右利手測量的角度的垂直線。不管方法如何,傳感器定位符確定可能受到輸入的到達(dá)和離開的時間影響。為了保護(hù)免受其中用戶傾向于同時到達(dá)或離開多個輸入但卻取而代之在稍微不同的時間出到達(dá)或離開它們的條件,小時間窗(例如,10-60 ms)可以被用來延遲傳感器定位符計算。接下來,傳感器定位符位置被從設(shè)備坐標(biāo)映射205到顯示器坐標(biāo)。結(jié)果是用于該幀的新的輸出定位符位置。該位置可以通過[Ls/范圍(Rs)*范圍(Rv)] + Rto來計算,其中Ls是傳感器定位符的X或y坐標(biāo),范圍(Rs)是傳感器坐標(biāo)空間的寬度或高度,且范圍(Rv)是視口的寬度或高度,且Rto初始視口的寬度或高度。該新的輸出定位符被限制在顯示器的邊界內(nèi)。給定新的輸出定位符,視口于是通過獲得206視口定位符而被置于顯示器坐標(biāo)空 間中。針對會話的弟一巾貞,確定視口位直;在后續(xù)巾貞中,從存儲器中取回它。視口的位直在邏輯上被確定,這意味著是否顯示視口是可選的。實(shí)際上,在大多數(shù)實(shí)現(xiàn)方式中,不實(shí)際顯示視口有可能是優(yōu)選的。如上所記錄的,視口是輸入傳感器坐標(biāo)空間在顯示器上的投影,并且在顯示器坐標(biāo)中視口定位符位置是視口的幾何中心。同樣如上所記錄,不同于輸出定位符,當(dāng)沒有輸入被傳感器檢測到時,視口是不明確的。它與特定的設(shè)備實(shí)例相關(guān)聯(lián)(而不是針對用戶會話的全局),并且當(dāng)用戶最初將輸入放置在傳感器上時其位置得到更新。在輸入會話開始之后且直到輸入會話結(jié)束,視口在幀之間保持固定。如果幀表示輸入會話的持續(xù)(來自先前和當(dāng)前的幀二者的輸入點(diǎn)的列表不是空的),則從存儲器取回視口定位符。如果幀發(fā)起新的輸入會話,則通過確定傳感器定位符(步驟205中確定的)與輸出定位符位置(步驟201中確定的)之間的偏移來獲得視口定位符,如下。
A Ld — Ld _ Ldo
Lv = [Ls/范圍(Rs)* 范圍(Rv)] + Lvo +ALd
Lv于是被限制于目標(biāo)顯示器的邊界,并且使用新視口定位符重新計算上面所確定的視口的范圍。在計算傳感器定位符、視口定位符和用于幀的輸出定位符之后,用于該幀的傳感器輸入然后被以在下面更詳細(xì)描述的方式映射208到顯示器坐標(biāo)。如果如在210處確定輸入會話結(jié)束,則一些關(guān)于輸入會話的信息可以被保存212 (比如最后一個輸出定位符)。如果輸入會話尚未結(jié)束以及如果更新的傳感器輸入位置被接收(如在214處確定的),則該過程通過將這些新傳感器輸出映射208到顯示器而重復(fù)確定用于幀的傳感器定位符204。然而,在幀是連續(xù)會話的一部分的情況下,視口定位符不在步驟206中確定,而是從存儲器中被取回。圖3描述了給定視口尺寸和地點(diǎn)時,傳感器輸入如何被映射到視口中的點(diǎn),包括單個顯示器上邊界條件的實(shí)施(如果相對映射被進(jìn)行)。圖3描述了其中所有輸入被限制成在顯示器內(nèi)的情況。系統(tǒng)接收300來自設(shè)備的輸入點(diǎn)的列表,每個輸入點(diǎn)具有在設(shè)備坐標(biāo)空間中的坐標(biāo)。接下來,輸入點(diǎn)被映射302到顯示器坐標(biāo)空間中它們對應(yīng)的點(diǎn)。例如,設(shè)備坐標(biāo)空間中的點(diǎn)Cs的在顯示器坐標(biāo)空間中的坐標(biāo)Cd可以通過[Cs/范圍(Rs) *范圍(Rv)] +Rv來計算。
限定304包含輸入點(diǎn)的定界框。定界框的拐角被映射到顯示器的視覺范圍并與之比較306。如果定界框的拐角沒有一個在顯示器的視覺區(qū)域之外,則保留310輸入映射。否則,確定312用于將定界框移動到顯示器的視覺范圍內(nèi)的偏移。在計算最小補(bǔ)救偏移的過程中,輸入定界框的每個不一致的拐角的先前與當(dāng)前幀之間的位移矢量或各個輸入限定了與可見的顯示器邊界交叉的路徑和其點(diǎn)。補(bǔ)救偏移是路徑的原點(diǎn)與交叉點(diǎn)之間的位移。該偏移被應(yīng)用314到點(diǎn)以將它們重新映射到顯示器的視覺區(qū)域內(nèi)的新位置。
在另一個實(shí)現(xiàn)方式中,所述點(diǎn)被限制使得來自設(shè)備的至少一個輸入點(diǎn)保持被顯示。在圖4中,系統(tǒng)接收400來自設(shè)備的輸入點(diǎn)列表,每個輸入點(diǎn)具有在設(shè)備坐標(biāo)空間中的坐標(biāo)。接下來,輸入點(diǎn)被映射402到顯示器坐標(biāo)空間中它們的相應(yīng)的點(diǎn)。限定404包含輸入點(diǎn)的定界框。然后將定界框的拐角與顯示器的視覺范圍進(jìn)行比較406。如果定界框的拐角的至少一個保持在顯示器的視覺區(qū)域中,則保留410輸入映射。否則,確定412用于將定界框的至少一個點(diǎn)移動到顯示器的視覺范圍內(nèi)的補(bǔ)救偏移。接下來,距所包含的拐角的最近的輸入的偏移被確定并被應(yīng)用414到補(bǔ)救偏移。該更新的補(bǔ)救偏移被應(yīng)用416到點(diǎn)以將它們重新映射到顯示器的視覺區(qū)域內(nèi)的新位置。
對于多個監(jiān)視顯示器,所述過程是類似的。存在規(guī)則的顯示器拓?fù)洌渲酗@示器的可見區(qū)域的并集(union)是沒有內(nèi)部空隙的單個的、矩形的、“虛擬的”顯示器。對于規(guī)則的顯示器拓?fù)?,到虛擬顯示器表面的邊界的多個輸入的定界與針對單個顯示器的情況相同。 還可以存在不規(guī)則的顯示器拓?fù)洌渲酗@示器的可見區(qū)域的并集是具有凸或凹內(nèi)部空隙的直線的虛擬顯示器。對于這些顯示器拓?fù)?,前述方法可以用來計算和?yīng)用補(bǔ)救偏移。
然而附加的故障情況是,在點(diǎn)位于凸和凹內(nèi)部空隙之一中的情況下,僅包含顯示器的視覺區(qū)域之外的那些點(diǎn)的定界框可被計算,并且被用于計算補(bǔ)救偏移。在此情況下,定界框被計算以包含沒有映射到顯示器的可見區(qū)域的輸入點(diǎn),這里被稱為不一致的定界框。 計算最小補(bǔ)救偏移,由此來確保不一致的定界框的至少一個拐角包含在顯示器的可見部分內(nèi)。該補(bǔ)救偏移被應(yīng)用于針對所有輸入的設(shè)備-顯示器變換。
現(xiàn)在將描述用于多個監(jiān)視器的邊界條件的更具體的示例實(shí)現(xiàn)方式。
在該示例中,對于每個輸入,目標(biāo)定界顯示器(Rd,@#)以下述方式確定。首先確定輸入位置Cd是否沒有包含在虛擬顯示器表面的可見區(qū)域內(nèi)。如果它沒有包含在內(nèi),則取回用于先前幀的輸入的顯示器Rm的坐標(biāo)。對于表示新會話的幀,這些坐標(biāo)用包含輸出定位符位置Ld的顯示器的那些坐標(biāo)來代替。接下來,確定輸入Cd是否保持在X或y軸中由R1 定界。如果在任一軸中遵從正檢驗(yàn),則目標(biāo)定界顯示器是顯示器RD(i。否則,所述輸入在顯示器 Rm的邊界之外。然后,針對該輸入確定傳感器坐標(biāo)中的位移矢量Λ Ss: Λ Ss = Cs - Csoo取回傳感器的范圍,范圍(Rs)。確定位移的主導(dǎo)軸。如果,I Λ Ssx/范圍(Rsx)I >= I Λ Ssy/范圍(Rsy) I,則X軸主導(dǎo)。否則,Y軸主導(dǎo)。
輸入位移的主導(dǎo)軸然后被用于確定目標(biāo)定界顯示器。如果X軸是主導(dǎo),則目標(biāo)定界顯示器是滿足以下條件的顯示器1.輸入落在顯示器的水平距離中;2.目標(biāo)顯示器在輸入的主要移動方向上并且與最后一個顯示器共享邊界;以及3.最后一個輸入位置落入顯示器的豎直距離內(nèi)。如果Y軸是主導(dǎo),則目標(biāo)定界顯示器Rd,滿足以下條件1.輸入落在顯示器的豎直距離中;2.目標(biāo)顯示器在輸入的主要移動方向上并與最后一個顯示器共享該邊界;以及3.最后一個輸入位置落入顯示器的水平距離內(nèi)。如果目標(biāo)定界顯示器不能使用主導(dǎo)方向來確定,則在非主導(dǎo)的方向上執(zhí)行搜索。如果目標(biāo)定界顯示器仍未找到,目標(biāo)顯示器是輸入的先前顯示器。給定用于輸入的目標(biāo)定界顯示器,輸入被夾持到該顯示器,并且計算并存儲夾持偏移。該夾持偏移被應(yīng)用到所有輸入,使得它們之間的相對距離得到維持。在以此方式調(diào)節(jié)輸入之后,所有輸入被再次檢驗(yàn)以確保它們處在顯示器的可見部分上。在一些交互模式中,允許少量時間來實(shí)現(xiàn)用戶的意圖以利用傳感器同時產(chǎn)生多個輸入。當(dāng)觀察到會話的第一輸入時,激活計時器并且到達(dá)輸入被標(biāo)記不活動,并且推遲傳感器定位符確定直到計時器期滿,或者在到達(dá)輸入被移除的情況下終止。同樣地,用戶可能期望同時離開輸入。為了實(shí)現(xiàn)該意圖而不影響傳感器定位符位置,可以使用計時器。該計時器被激活,并且離開輸入持續(xù)包括在傳感器定位符計算中直到計時器期滿。在前面的描述中,在相對和絕對映射模式二者中,輸入點(diǎn)被直接映射到顯示器坐標(biāo)。然而,在相對映射模式中,輸入設(shè)備只能跨越目標(biāo)顯示器坐標(biāo)空間的子集。因此,從一個顯示器地點(diǎn)到另一個地點(diǎn)的導(dǎo)航可以涉及多個行程,除非在輸入點(diǎn)的移動被檢測時應(yīng)用點(diǎn)的一些形式的加速。相反地,為了實(shí)現(xiàn)像素-等級、點(diǎn)對點(diǎn)目標(biāo)精度,可以應(yīng)用點(diǎn)的減速的形式。這種加速和減速,有時被稱為“指針發(fā)射(pointer ballistics)”,可以以下述方式應(yīng)用于多輸入、間接輸入設(shè)備。在來自設(shè)備坐標(biāo)空間的輸入點(diǎn)到顯示器坐標(biāo)空間的映射中考慮輸入點(diǎn)在輸入設(shè)備上的位移,以根據(jù)具體情況加速或減速點(diǎn)在顯示器上的移動。一般地,確定輸入點(diǎn)的位移的度量。該位移是一種函數(shù)的輸入,該函數(shù)基于該位移確定如何改變輸入設(shè)備點(diǎn)到它們的對應(yīng)的顯示器坐標(biāo)的映射。在一個實(shí)現(xiàn)方式中,確定每個輸入點(diǎn)的位移。具有最低幅值位移矢量的輸入的傳感器像素中的物理位移通過加速度曲線變換以產(chǎn)生單個加速的顯示器位移,并且這被應(yīng)用到輸出定位符和所有點(diǎn)的顯示器位移。到加速函數(shù)的輸入可以是矢量幅值或用于每個軸的值,其可以被輸入到兩個不同的加速函數(shù)?,F(xiàn)在將結(jié)合圖5來描述該實(shí)現(xiàn)方式。首先,從第一和第二時間點(diǎn)接收500輸入傳感器上的輸入點(diǎn)。注意到,如何唯一地識別和跟蹤移動或固定輸入(在本領(lǐng)域被稱為“輸入識別和跟蹤”)是特定于設(shè)備和傳感器的。本發(fā)明不限于任何特定的輸入識別和跟蹤技術(shù)。可以使用已被發(fā)現(xiàn)在本領(lǐng)域適合的用于這種識別和跟蹤的任何技術(shù)。然后,確定502在一定的時間間隔內(nèi)每個輸入的每個維度中設(shè)備坐標(biāo)(即像素)的位移。如果已知該時間間隔是恒定的,則可以單獨(dú)使用該位移。否則,該時間間隔可以用于計算速度。對于輸入的每個時間間隔或“幀”,識別504具有最小幅值位移或速度的輸入。具有最小幅值的輸入被選擇(例如,而不是平均或最大),使得在輸入傳感器上保持固定的輸入在被映射到顯示器上時保持固定。所識別的輸入的位移可以使用傳感器的像素密度而從像素中的位移轉(zhuǎn)換成物理位移。位移值被用作到加速函數(shù)的輸入以將該值變換506成加速的位移。本發(fā)明不受所使用的特定加速公式的限制??梢允褂帽绢I(lǐng)域當(dāng)前使用的任何合理的技術(shù),比如用于鼠標(biāo)指針加速的技術(shù)。本發(fā)明一般地可以應(yīng)用于允許每個坐標(biāo)軸(x,y或z)的獨(dú)立加速的任何加速公式??梢允褂脤⑽灰浦涤成涞郊铀俚奈灰浦档姆侄尉€性函數(shù)來實(shí)現(xiàn)適當(dāng)?shù)淖儞Q。加速的位移值如果基于物理維度可以被向回轉(zhuǎn)換成像素坐標(biāo)。
然后,將加速的位移轉(zhuǎn)換508成顯示器坐標(biāo)空間中的加速的位移。例如,該轉(zhuǎn)換可以被表達(dá)如下Λ Cd = [Λ Cs/范圍(Rs)*范圍(Rv)] + Rv。然后通過加速的位移調(diào)節(jié) 510映射到顯示器坐標(biāo)的每個輸入位置。
對于絕對映射維度,可以使用被稱為跨度調(diào)節(jié)的類似過程,如結(jié)合圖6所描述。在圖6中,確定600來自傳感器定位符的每個輸入在設(shè)備坐標(biāo)空間中的像素中的位移。選擇 602最小位移。使用設(shè)備的像素密度將該最小位移值轉(zhuǎn)換604成物理維度。使用任何合適的變換將物理維度中的最小位移值變換606成跨度調(diào)節(jié)值。適當(dāng)?shù)淖儞Q可以類似于加速變換,比如將位移值映射到跨度調(diào)節(jié)值的分段線性函數(shù)。將該跨度調(diào)節(jié)值向回轉(zhuǎn)換608成像素值。類似于加速,于是將跨度調(diào)節(jié)值被變換610成顯示器像素值,并且使用該值調(diào)節(jié)612 每個輸入點(diǎn)。
應(yīng)當(dāng)注意,在應(yīng)用確保輸入點(diǎn)保持在可見顯示區(qū)域中的邊界條件之前,進(jìn)行對輸入點(diǎn)的加速和跨度調(diào)節(jié)修改。
現(xiàn)在已經(jīng)描述了示例實(shí)現(xiàn)方式,現(xiàn)在將描述這種系統(tǒng)被設(shè)計來在其中操作的計算環(huán)境。下面的描述旨在提供對該系統(tǒng)可以在其中實(shí)現(xiàn)的適當(dāng)?shù)挠嬎悱h(huán)境的簡短、一般的描述。該系統(tǒng)可以利用眾多通用或?qū)S糜嬎阌布渲脕韺?shí)現(xiàn)。可能適當(dāng)?shù)谋娝苤挠嬎阍O(shè)備的示例包括但不限于,個人計算機(jī)、服務(wù)器計算機(jī)、手持式或膝上型設(shè)備(例如,媒體播放器、筆記本計算機(jī)、蜂窩電話、個人數(shù)據(jù)助理、錄音機(jī))、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、游戲控制臺、可編程消費(fèi)型電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計算機(jī)、大型計算機(jī)、包括上述系統(tǒng)或設(shè)備中任何一個的分布式計算環(huán)境等等。
圖7圖解說明了適當(dāng)?shù)挠嬎阆到y(tǒng)環(huán)境的示例。該計算系統(tǒng)環(huán)境僅是適當(dāng)?shù)挠嬎悱h(huán)境的一個示例并且不旨在暗示關(guān)于這種計算環(huán)境的用途或功能的范圍的任何限制。所述計算環(huán)境也不應(yīng)當(dāng)被解釋為具有與在示例操作環(huán)境中圖解說明的組件的任何一個或組合有關(guān)的任何依賴性或要求。
參照圖7,示例計算環(huán)境包括計算機(jī)器,比如計算機(jī)器700。在其最基本的配置中, 計算機(jī)器7 00典型地包括至少一個處理單元702和存儲器704。該計算設(shè)備可以包括多個處理單元和/或附加的協(xié)同處理單元,比如圖形處理單元720。取決于計算設(shè)備的確切配置和類型,存儲器704可以是易失性的(比如RAM)、非易失性的(比如ROM、閃存等)或這二者的組合。該最基本的配置在圖7中用虛線706圖解說明。此外,計算機(jī)器700還可以具有附加的特征/功能。例如,計算機(jī)器700還可以包括附加的存儲裝置(可移動的和/或不可移動的),其包括但不限于磁的或光學(xué)的盤或帶。這種附加的存儲裝置在圖7中用可移動存儲裝置708和不可移動存儲裝置710來圖解說明。計算機(jī)存儲介質(zhì)包括以用于存儲諸如計算機(jī)程序指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)之類的信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。存儲器704、可移動存儲裝置708和不可移動存儲裝置710都是計算機(jī)存儲介質(zhì)的示例。計算機(jī)存儲介質(zhì)包括但不限于RAM、R0M、EEPR0M、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字通用盤(DVD)或其他光學(xué)存儲裝置、盒式磁帶、磁帶、磁盤存儲裝置或其他磁存儲設(shè)備、或可以用于存儲期望的信息并可以由計算機(jī)器700訪問的任何其他介質(zhì)。任何這樣的計算機(jī)存儲介質(zhì)可以是計算機(jī)器700的一部分。
計算機(jī)器700還可以包含允許設(shè)備與其他設(shè)備通信的(多個)通信連接712。(多個)通信連接712是通信介質(zhì)的示例。通信介質(zhì)典型地在諸如載波或其他傳輸機(jī)制之類的已調(diào)制數(shù)據(jù)信號中攜帶計算機(jī)程序指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并且包括任何信息遞送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”意指這樣的信號,該信號已經(jīng)將其特性中的一個或多個以這樣的方式設(shè)置或改變以使得在該信號中編碼信息,從而改變信號的接收設(shè)備的配置或狀態(tài)。通過舉例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接布線連接之類的有線介質(zhì)和諸如聲學(xué)、RF、紅外和其他無線介質(zhì)之類的無線介質(zhì)。計算機(jī)器700可以具有(多個)各種輸入設(shè)備714,比如鍵盤、鼠標(biāo)、筆、相機(jī)、觸摸輸入設(shè)備等等。諸如顯示器、揚(yáng)聲器、打印機(jī)等等之類的(多個)輸出設(shè)備716也包括在其中。所有這些設(shè)備在本領(lǐng)域是眾所周知的并且不需要在這里詳細(xì)討論。系統(tǒng)可以在軟件的一般環(huán)境中實(shí)現(xiàn),包括由計算機(jī)器處理的計算機(jī)可執(zhí)行指令和/或計算機(jī)解釋的指令,比如程序模塊。一般地,程序模塊包括在被處理單元處理時命令處理單元執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。該系統(tǒng)可以在其中由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)的分布式計算環(huán)境中實(shí)踐。在分布式計算環(huán)境中,程序模塊可以位于包括存儲器存儲設(shè)備的本地的和遠(yuǎn)程的計算機(jī)存儲介質(zhì)中。現(xiàn)在將結(jié)合圖8描述特定示例軟件架構(gòu)。一個或多個間接觸摸設(shè)備800可以通過USB/HID接口 802而連接到計算機(jī)平臺。這些間接觸摸設(shè)備中的每一個具有與其相關(guān)聯(lián)的觸摸控制器接口對象804,其可以被實(shí)現(xiàn)為由操作系統(tǒng)作為用戶-級服務(wù)安裝的動態(tài)鏈接庫。接觸識別模塊806可以被提供以提供用于對來自輸入設(shè)備的傳感器數(shù)據(jù)進(jìn)行低級處理,以便針對每個幀提供接觸的列表和這些接觸的屬性。該模塊可以是軟件庫806或固件實(shí)現(xiàn)的庫806a。觸摸控制器接口對象804具有以下方法。一種開放方法允許呼叫者打開并初始化設(shè)備以用于跟隨設(shè)備附件的數(shù)據(jù)傳送。一種關(guān)閉方法允許呼叫者關(guān)閉設(shè)備,其涉及清理跟隨的物理移除。一種查詢方法取回設(shè)備數(shù)據(jù)。該設(shè)備數(shù)據(jù)由觸摸控制器接口對象存儲為一個或多個數(shù)據(jù)結(jié)構(gòu)。該設(shè)備數(shù)據(jù)可以包括諸如支持的設(shè)備模式、傳感器維度和分辨率、接觸的最大數(shù)量、壓力進(jìn)入/退出閾值之類的信息。一種得到方法使得對象傳送無狀態(tài)接觸描述符的陣列、狀態(tài)信息(比如鎖定的狀態(tài)地位)和幀時間信息。一種設(shè)置方法使得對象進(jìn)入一組模式的其中之一。例如,該方法可以實(shí)現(xiàn)或禁止在觸摸交互期間的硬件事件報告模式(例如HID鼠標(biāo)),告知設(shè)備交互模式改變,或分配功率狀態(tài)。用于每個連接的設(shè)備的觸摸控制器接口由觸摸控制器系統(tǒng)(TCS)運(yùn)行時間模塊810訪問。每個設(shè)備連接具有設(shè)備輸入/輸出(i/o)線程830,其將觸摸控制器設(shè)備結(jié)合到系統(tǒng)、查詢并管理觸摸控制器設(shè)備能力、以及根據(jù)主機(jī)條件和用戶配置設(shè)定分配設(shè)備模式和設(shè)備的屬性。輸入/輸出(i/o)緩沖器線程832從設(shè)備提取觸摸數(shù)據(jù)。每個設(shè)備連接還具有注入線程834,其將來自觸摸設(shè)備的信息注入到由應(yīng)用814訪問的核心輸入棧812,以實(shí)現(xiàn)對觸摸控制器設(shè)備的一致的且優(yōu)質(zhì)的最終用戶體驗(yàn)。TCS運(yùn)行時間模塊可以被實(shí)現(xiàn)為由操作系統(tǒng)作為用戶-級的服務(wù)安裝的動態(tài)鏈接庫,或者可以是內(nèi)核-級的實(shí)現(xiàn)方式。運(yùn)行時間模塊執(zhí)行各種功能,上面描述了這些功能的示例實(shí)現(xiàn)方式,比如間接觸摸特定交互、用戶交互模型、基于Z-信息的狀態(tài)轉(zhuǎn)變、映射模式、加速/減速、跨度調(diào)節(jié)、跨越各設(shè)備的數(shù)據(jù)的標(biāo)準(zhǔn)化以及功率管理??刂泼姘?10是允許運(yùn)行時間模塊810的各種設(shè)定由用戶來操縱的用戶接口。
本文描述的上述可替代實(shí)施例中的任意一個或所有可以以期望的任何組合的形式用來形成附加的混合實(shí)施例。應(yīng)當(dāng)理解,在所附權(quán)利要求中限定的主題不必限于上面所描述的特定實(shí)現(xiàn)方式。上面描述的特定實(shí)現(xiàn)方式僅作為示例而被公開。所附權(quán)利要求的導(dǎo)言中的術(shù)語“ 制品”、“過程”、“機(jī)器”和“組合物”不旨在將權(quán)利要求限制于被認(rèn)為落在由在 35 U.S.C. §101中這些術(shù)語的用途而限定的可授予專利權(quán)的主題的范圍內(nèi)的主題。
權(quán)利要求
1.一種計算機(jī)系統(tǒng),包括一個或多個輸入(802),其用于連接到一個或多個多點(diǎn)間接觸摸輸入設(shè)備;運(yùn)行時間模塊(810),其將來自所述間接觸摸輸入設(shè)備的信息提供給可由計算機(jī)系統(tǒng)上的應(yīng)用訪問的輸入棧,其中該運(yùn)行時間模塊提供在所述間接觸摸輸入設(shè)備上的接觸到顯示器的映射。
2.權(quán)利要求1的計算機(jī)系統(tǒng),進(jìn)一步包括針對每個輸入設(shè)備的觸摸控制器模塊,其具有接口 ;以及其中所述運(yùn)行時間模塊通過所述接口訪問每個觸摸控制器模塊以訪問關(guān)于所述輸入設(shè)備上的接觸的信息。
3.權(quán)利要求1的計算機(jī)系統(tǒng),其中所述運(yùn)行時間模塊進(jìn)一步將加速應(yīng)用到接觸。
4.權(quán)利要求1的計算機(jī)系統(tǒng),其中所述運(yùn)行時間模塊進(jìn)一步將跨度調(diào)節(jié)應(yīng)用到接觸。
5.權(quán)利要求1的計算機(jī)系統(tǒng),其中所述運(yùn)行時間模塊進(jìn)一步提供與接觸相關(guān)聯(lián)的Z-信肩、O
6.權(quán)利要求5的計算機(jī)系統(tǒng),其中所述Z-信息跨越多個輸入設(shè)備而被標(biāo)準(zhǔn)化。
7.權(quán)利要求1的計算機(jī)系統(tǒng),其中所述運(yùn)行時間模塊進(jìn)一步基于Z-信息提供狀態(tài)信肩、O
8.權(quán)利要求1的計算機(jī)系統(tǒng),其中所述映射包括應(yīng)用邊界條件。
9.權(quán)利要求3的計算機(jī)系統(tǒng),其中所述運(yùn)行時間模塊包括用于設(shè)置加速函數(shù)的接口。
10.權(quán)利要求4的計算機(jī)系統(tǒng),其中所述運(yùn)行時間模塊包括用于設(shè)置跨度調(diào)節(jié)函數(shù)的接口。
全文摘要
為了允許計算機(jī)平臺為應(yīng)用提供一致的接口以使用來自多點(diǎn)間接觸摸輸入設(shè)備的信息,一種應(yīng)用編程接口被提供給軟件接口層,該軟件接口層管理系統(tǒng)與多指針間接觸摸輸入設(shè)備的各種例示的交互。
文檔編號G06F3/041GK102999218SQ201210501550
公開日2013年3月27日 申請日期2012年11月30日 優(yōu)先權(quán)日2011年11月30日
發(fā)明者S.洪吉, P.米爾薩普, 金子雅彥, E.赫本斯特雷特, M.德斯坎普 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1