欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

利用拖拽操作來平搖內(nèi)容的制作方法

文檔序號:6593668閱讀:341來源:國知局
專利名稱:利用拖拽操作來平搖內(nèi)容的制作方法
利用拖拽操作來平搖內(nèi)容
背景
實現(xiàn)觸摸屏界面的計算設備(例如,PDA、蜂窩電話、膝上型設備、無線手持式設備 等)已經(jīng)在商業(yè)市場上越來越受歡迎。這些觸摸屏界面是計算設備區(qū)別于其他電子產(chǎn)品的 一項重要區(qū)別特征,因為它們往往通過集成在其中的軟件來提供直觀交互。最優(yōu)地,觸摸屏 界面應提供能夠操縱軟件以實現(xiàn)對于常規(guī)輸入設備可用的所有功能的完整軟件體驗。然 而,所提供的大量軟件是在沒有考慮觸摸的情況下設計的,在下文稱之為觸摸無知應用程 序。例如,在被配置成滾動通過呈現(xiàn)在用戶界面(UI)顯示器處的顯示區(qū)中的內(nèi)容的觸摸 無知應用程序的情況下,滾動功能并非完全與觸摸屏界面集成。即,通過對顯示區(qū)內(nèi)的內(nèi) 容區(qū)域施加拖拽操作來滾動通過內(nèi)容的能力對于觸摸屏界面是不可用的。相反,鼠標用戶 通常經(jīng)由施加于滾動條的常規(guī)鼠標輸入來滾動內(nèi)容,而鍵盤用戶使用上翻頁或下翻頁、如 ctrl-end之類的鍵盤快捷鍵、或者切換成使用鼠標。這些鍵盤方法不與觸摸界面協(xié)作,并且 由于用戶在施加觸摸時一般會有的精度和定標問題,以與鼠標用戶相同的方式(即,嘗試 用定點設備來準確地驅(qū)動滾動條)向觸摸界面施加觸摸是有難度的。
迄今為止,還未開發(fā)出使得觸摸屏界面的用戶能訪問觸摸無知應用程序的完整功 能的解決方案。而且,也沒有使施加于觸摸屏界面的手勢(其在移動方面可能與來自常規(guī) 輸入設備的預期移動不同)適應以經(jīng)優(yōu)化的直觀方式操縱內(nèi)容在顯示區(qū)中的顯示的命令 的方案。由此,采用手勢解釋技術(shù)來控制觸摸無知應用程序的滾動功能將增強用戶在對觸 摸屏界面施加特定手勢(例如,顯示區(qū)的內(nèi)容區(qū)域處的拖拽操作)時平搖內(nèi)容的體驗。一 般而言,若一區(qū)域包括允許垂直滾動的特征,則根據(jù)在觸摸界面上檢測到的觸摸生成平搖 消息。否則,觸摸界面上的觸摸輸入生成鼠標消息。
概述
提供本概述以便以簡化形式介紹將在以下詳細描述中進一步描述的一些概念。本 概述不旨在標識出所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要 求保護的主題的范圍。
本發(fā)明的實施例提供其上包含計算機可執(zhí)行指令的計算機可讀介質(zhì)、以及計算系 統(tǒng),用于使得觸摸屏界面的用戶能夠訪問觸摸無知應用程序的滾動功能。具體而言,提供了 用于在觸摸屏界面處接收到的特定手勢(例如,在顯示區(qū)的內(nèi)容區(qū)域處的拖拽操作)的指 示時控制觸摸無知應用程序的滾動功能的技術(shù)。
—般而言,提供了一種用于平搖(pan)計算設備的UI顯示上所呈現(xiàn)的顯示區(qū)內(nèi)的 內(nèi)容的方法。最初,檢測施加到觸摸屏界面的用戶發(fā)起的輸入,并將來自觸摸屏界面的致動 信息提供給操作系統(tǒng)。通常,觸摸屏信息包括觸摸位置和手勢。與接收到用戶發(fā)起的輸入 基本同時地、或在接收到用戶發(fā)起的輸入之前,將應用程序標識為支持滾動功能。操作系統(tǒng) 調(diào)用手勢解釋過程來確定是在顯示區(qū)內(nèi)平搖內(nèi)容、在UI顯示內(nèi)平搖顯示區(qū)、還是執(zhí)行另一 操作。在一個實施例中,手勢解釋過程包括但不限于查明觸摸位置出現(xiàn)在顯露于觸摸屏界 面的顯示區(qū)的內(nèi)容區(qū)域內(nèi),并通過基于自致動位置起的不間斷拖拽移動的距離來將拖拽操 作與輕擊類操作區(qū)分開,來該手勢識別為拖拽操作。通常,內(nèi)容區(qū)域內(nèi)的內(nèi)容是由集成在計算設備內(nèi)的觸摸無知應用程序呈現(xiàn)的,其中觸摸無知應用程序未被構(gòu)建成將內(nèi)容區(qū)域內(nèi)的 拖拽操作識別為對平搖內(nèi)容的指示。在將該手勢識別為拖拽操作并確定應用程序支持滾動 功能時,根據(jù)該拖拽操作來在顯示區(qū)的內(nèi)容區(qū)域內(nèi)平搖內(nèi)容。可在觸摸屏界面或任何其他 呈選組件上向用戶呈現(xiàn)對平搖內(nèi)容的指示。
附圖簡述
下面參考附圖詳細描述本發(fā)明,其中


圖1是適用于實現(xiàn)本發(fā)明的各實施例的示例性計算環(huán)境的框圖2是根據(jù)本發(fā)明的一實施例的適用于實現(xiàn)本發(fā)明的各實施例的示例性系統(tǒng)體 系結(jié)構(gòu)的示意圖3是根據(jù)本發(fā)明的一實施例的觸摸屏界面上的顯示區(qū)的圖示,該觸摸屏界面示 出用于平搖其中的內(nèi)容的方法;以及
圖4和5是根據(jù)本發(fā)明的各實施例的漸進式拖拽操作描繪,該描繪示出執(zhí)行從平 搖內(nèi)容切換到調(diào)用次級動作的拖拽操作的各個階段。
詳細描述
此處用具體細節(jié)描述本發(fā)明以滿足法定要求。然而,該描述本身并非旨在限制本 專利的范圍。相反,發(fā)明人設想所要求保護的主題還可結(jié)合其他當前或未來技術(shù)按照其他 方式來具體化,以包括不同的步驟或類似于本文中所描述的步驟的步驟組合。此外,盡管術(shù) 語“步驟”和/或“框”可在此處用于指示所采用的方法的不同元素,但除非而且僅當明確 描述了各個步驟的順序時,該術(shù)語不應被解釋為意味著此處公開的各個步驟之中或之間的 任何特定順序。
本發(fā)明的實施例提供其上包含計算機可執(zhí)行指令的計算機可讀介質(zhì)、計算機系 統(tǒng)、和計算機化方法以用于通過在觸摸屏界面上施加手勢(例如,拖拽操作)來平搖由支持 滾動功能的觸摸無知應用程序在顯示區(qū)的內(nèi)容區(qū)域內(nèi)呈現(xiàn)的內(nèi)容。
因此,在一方面,本發(fā)明的各實施例提供了其上包含計算機可執(zhí)行指令的一個或 多個計算機可讀介質(zhì),當指令被執(zhí)行時,執(zhí)行一種用于平搖設置在計算設備上的觸摸屏界 面處所呈現(xiàn)的顯示區(qū)內(nèi)的內(nèi)容的方法。在實施例中,該方法包括檢測施加于觸摸屏界面的 用戶發(fā)起的輸入,并接收來自觸摸屏界面的致動信息。通常,致動信息包括觸摸位置和手勢 (例如,觸摸屏界面內(nèi)的單指接觸、指示筆或筆與觸摸屏界面的交互等等)。該方法還包括 查明觸摸位置出現(xiàn)在顯露于觸摸屏界面上的顯示區(qū)的內(nèi)容區(qū)域內(nèi)。在各實施例中,顯示區(qū) 可由集成在計算設備的操作系統(tǒng)內(nèi)的應用程序呈現(xiàn)。通常,該應用程序是觸摸無知的,即不 能在試圖操縱對顯露內(nèi)容的滾動或選擇時解釋施加在觸摸屏界面上的手勢。在一示例性實 施例中,系統(tǒng)通過基于自用戶發(fā)起的輸入在觸摸屏界面上的致動位置起的不間斷手勢移動 的距離來將拖拽操作與輕擊類操作區(qū)分開,來將該手勢識別為拖拽操作。作為示例,不間斷 移動包括在預定義笛卡爾方向上克服閾值距離的對觸摸屏界面的掃掠。通過利用應用程序 的滾動功能,手勢可方面根據(jù)拖拽操作來在顯示區(qū)的內(nèi)容區(qū)域內(nèi)平搖內(nèi)容??稍谟|摸屏界 面上呈現(xiàn)對平搖內(nèi)容的指示。作為示例,呈現(xiàn)對平搖內(nèi)容的指示可包括揭示內(nèi)容區(qū)域內(nèi)的 內(nèi)容的平移,或者展示顯示區(qū)在UI顯示上的移動。
一般而言,本發(fā)明的實施例涉及觸摸屏界面環(huán)境內(nèi)的觸摸平搖。如本文討論的, “觸摸平搖”并不是限制性的,而是可涵蓋啟動應用程序的滾動功能的任何使用動作。在一個實例中,觸摸平搖包括以下用戶動作通過觸摸內(nèi)容區(qū)域并執(zhí)行拖拽操作以使得內(nèi)容與 拖拽操作的接觸平移基本一致地移動,來滾動通過頁面或列表。在應用程序不提供滾動功 能的情形中,觸摸平搖可調(diào)用鼠標拖拽。即,若應用程序包括可垂直或水平滾動的內(nèi)容,則 向應用程序提供平搖消息。否則,生成鼠標消息。實際上,在一個實例中,鼠標消息可觸發(fā) 在UI顯示內(nèi)移動顯示區(qū)而不是平搖內(nèi)容的拖拽操作。顯示區(qū)在屏幕上的平移可以類似于 由在檢測到常規(guī)鼠標的點擊+按住+拖拽操作時生成的鼠標消息實現(xiàn)的拖拽動作。由此, 避免干擾不滾動的應用程序。
為了方便觸摸平搖,可以實現(xiàn)手勢識別過程,該過程用于將觸摸屏顯示器或其他 觸覺輸入設備上的用戶發(fā)起的輸入所涵蓋的手勢識別為拖拽操作或輕擊類操作。如上討論 的,在一個實例中,基于不間斷移動的距離來將拖拽操作與輕擊類操作區(qū)別開。如此處使用 的,短語“不間斷移動”不意味著是限制性的,且可涵蓋重復觸摸屏界面的表面上的拖拽接 觸的任何持續(xù)掃掠、準連續(xù)輸入或遞歸輸入鏈。在一個實例中,不間斷移動可包括物理對象 (例如,指示筆、筆、手指的一部分或手指墊等)與觸摸屏界面之間的接觸。一般而言,若致 動位置出現(xiàn)在顯示區(qū)的內(nèi)容區(qū)域(例如,顯露于UI顯示的窗口)內(nèi)且識別出拖拽操作,則 調(diào)用平搖模式。如下問更詳細地討論的,在平搖模式中,操作系統(tǒng)向呈現(xiàn)內(nèi)容的應用程序提 供平搖消息,而非通常并不發(fā)起對內(nèi)容區(qū)域內(nèi)的內(nèi)容的平搖的鼠標消息。
在一示例性實施例中,若識別出垂直方向上的拖拽操作,則調(diào)用平搖模式,而不管 該應用程序是否支持垂直和/或水平滾動。水平拖拽移動將生成鼠標消息,即使該應用程 序支持水平滾動。相應地,用戶仍可通過以垂直拖拽開始并隨后改變方向來實現(xiàn)水平平搖。 換言之,垂直拖拽變成平搖,而水平拖拽變?yōu)槭髽送献?。由此,引入了對于大多?shù)應用觸發(fā) 平搖模式的一致移動體驗。
在另一實施例中,手勢識別過程被配置成執(zhí)行以下步驟查明觸摸位置是否出現(xiàn) 在顯露于觸摸屏界面的顯示區(qū)的內(nèi)容區(qū)域內(nèi),其中顯示區(qū)由應用程序呈現(xiàn),并順序或并行 地查明拖拽操作是否滿足預定義系統(tǒng)度量。若觸摸位置出現(xiàn)在內(nèi)容區(qū)域內(nèi)且拖拽操作滿足 預定義系統(tǒng)度量,則該應用程序進入平搖模式,平搖模式支持顯示區(qū)的內(nèi)容區(qū)域內(nèi)的內(nèi)容 的滾動功能。否則,應用程序保持在默認模式中。在默認模式的一方面,允許與手勢相關(guān)聯(lián) 的原始輸入從觸摸屏界面流向應用程序,就像它是鼠標輸入一樣。在另一方面,默認模式促 使應用程序以類似于觸摸無知應用程序的操作的方式進行操作??膳c平搖模式或默認模式 相一致地存儲該應用程序。
雖然已經(jīng)描述了生成不間斷移動的若干不同的方法,但本領(lǐng)域技術(shù)人員應該理解 和明白,施加于觸摸屏組件的各種其他拖拽類輸入在此處被構(gòu)想為不間斷移動,且本發(fā)明 的各實施例不限于示出和描述的這些方法。例如,在圖4-7描繪了手勢的其他不間斷移動。
在實施例中,本發(fā)明涉及解釋在觸摸屏界面上接收到的手勢并基于該解釋向應用 程序提供消息。術(shù)語“應用程序”的使用并不是限制性的,而是可包括由操作系統(tǒng)在操作上 控制的任何軟件或程序,其中操作系統(tǒng)在檢測到用戶發(fā)起的輸入時從觸摸屏界面接收輸入 信息。例如,應用程序可以是在呈現(xiàn)組件和/或觸摸屏界面上呈現(xiàn)可滾動內(nèi)容的第三方應 用程序。在此實例中,應用程序被認為支持滾動功能。并且,若在UI顯示的顯示區(qū)內(nèi)顯露 滾動條工具,則可檢測出滾動功能。
在一個實施例中,應用程序是手勢知曉的。手勢知曉應用程序是在設計時將觸摸考慮在內(nèi)的一類應用程序,它們通常在不解釋觸摸屏界面上的手勢并在特定消息中將這些 手勢傳遞給應用程序的情況下運作。由此,手勢知曉應用程序一般在考慮觸摸的情況下優(yōu) 化,并能從觸摸屏界面接收原始輸入。
在另一實施例中,應用程序是觸摸無知的,這占到了存在于當前商業(yè)市場上的應 用程序中的大多數(shù)。一般而言,觸摸無知應用程序是其中未將平搖特征(例如,通過觸摸屏 界面上內(nèi)容區(qū)域內(nèi)的輸入來訪問滾動功能)構(gòu)建、實現(xiàn)或?qū)懭氲綉贸绦蛑械膽贸绦颉?即,應用程序不知曉它正與觸摸屏輸入?yún)f(xié)作,并且具體而言不知曉在觸摸屏界面上執(zhí)行的 手勢試圖平搖由此呈現(xiàn)的內(nèi)容。僅作為示例,觸摸無知應用程序可以是其中用于平搖內(nèi)容 的滾動功能僅通過在滾動條控件處提供輸入來調(diào)用的傳統(tǒng)應用程序(例如,記事本)。
相應地,本發(fā)明的各方面方便將觸摸平搖能力結(jié)合到觸摸無知應用程序中,并且 很好地適于部署在包括觸摸無知應用程序的生態(tài)系統(tǒng)的操作系統(tǒng)中。例如,操作系統(tǒng)可充 當使觸摸屏界面與觸摸無知應用程序互連的接口,由此管理它們之間的通信。通過管理該 通信,消息(例如,鼠標消息或滾動消息)形式的適當命令可被傳遞給觸摸無知應用程序以 適當?shù)卣{(diào)整內(nèi)容的呈現(xiàn)。由此,經(jīng)由操作系統(tǒng)的管理一般允許操作系統(tǒng)使得大多數(shù)現(xiàn)有觸 摸無知應用程序是觸摸友好的。
在簡要描述了本發(fā)明的各實施例的概覽以及其中的一些窗口狀態(tài)之后,下面將描 述適于實現(xiàn)本發(fā)明的示例性操作環(huán)境。
概括地參考附圖,并首先具體參考圖1,示出了用于實現(xiàn)本發(fā)明的各實施例的示例 性操作環(huán)境,并將其概括地指定為計算設備100。計算設備100只是合適的計算環(huán)境的一個 示例,并且不旨在對本發(fā)明的使用范圍或功能提出任何限制。也不應該將計算設備100解 釋為對所示出的任一組件或其組合有任何依賴性或要求。
本發(fā)明可以在由計算機或諸如個人數(shù)據(jù)助理或其他手持式設備之類的其他機器 執(zhí)行的計算機代碼或機器可使用指令(包括諸如程序組件之類的計算機可執(zhí)行指令)的一 般上下文中描述。一般而言,包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等的程序組件指的是執(zhí) 行特定任務或?qū)崿F(xiàn)特定提取數(shù)據(jù)類型的代碼。本發(fā)明的各實施例可以在各種系統(tǒng)配置中實 施,這些系統(tǒng)配置包括手持式設備、消費電子產(chǎn)品、通用計算機、專用計算設備等等。本發(fā)明 的各實施方式也可以在其中任務由通過通信網(wǎng)絡鏈接的遠程處理設備執(zhí)行的分布式計算 環(huán)境中實施。
繼續(xù)參考圖1,計算設備100包括直接地或間接地耦合以下設備的總線110 存儲 器112、一個或多個處理器114、一個或多個呈現(xiàn)組件116、輸入/輸出(I/O)端口 118、I/O 組件120、以及說明性電源122??偩€110可以是一條或多條總線(諸如地址總線、數(shù)據(jù)總 線、或其組合)。盡管為了清楚起見用線條示出了圖1的各框,但是,實際上,描繪各組件并 不是那樣清楚,并且用比喻方法,線條更精確地將是灰色的和模糊的。例如,可以將諸如顯 示設備等的呈現(xiàn)組件認為是I/O組件。而且,處理器具有存儲器。發(fā)明人認識到,這是本領(lǐng) 域的特性,并且重申,圖1的圖示只是例示可結(jié)合本發(fā)明的一個或多個實施例來使用的示 例性計算設備。諸如“工作站”、“服務器”、“膝上型計算機”、“手持式設備”等分類之間沒有 區(qū)別,它們?nèi)慷急徽J為是在圖1的范圍之內(nèi)的并且被稱為“計算機”或“計算設備”。
計算設備100通常包括各種計算機可讀介質(zhì)。作為示例而非限制,計算機可讀 介質(zhì)可以包括隨機存取存儲器(RAM);只讀存儲器(ROM);電可擦除可編程只讀存儲器(EEPROM);閃存或其它存儲器技術(shù);CDR0M、數(shù)字多功能盤(DVD)或其它光或全息介質(zhì);磁 帶盒、磁帶、磁盤存儲或其它磁存儲設備;或可用于對所需信息進行編碼并且可由計算設備 100訪問的任何其它介質(zhì)。
存儲器112包括易失性和/或非易失性存儲器形式的計算機存儲介質(zhì)。存儲器可 以是可移動的、不可移動的、或其組合。示例性硬件設備包括固態(tài)存儲器、硬盤驅(qū)動器、光盤 驅(qū)動器等。計算設備100包括從諸如存儲器112或I/O組件120等各種實體讀取數(shù)據(jù)的一 個或多個處理器。呈現(xiàn)組件116向用戶或其他設備呈現(xiàn)數(shù)據(jù)指示。示例性呈現(xiàn)組件包括顯 示設備、揚聲器、打印組件、振蕩組件等。I/O端口 118允許計算設備100在邏輯上耦合至包 括I/O組件120在內(nèi)的其他設備,其中某些設備可以是內(nèi)置的。說明性組件包括話筒、操縱 桿、游戲板、圓盤式衛(wèi)星天線、掃描儀、打印機、無線設備等等。
現(xiàn)在轉(zhuǎn)向圖2,示出了根據(jù)本發(fā)明的一實施例的適用于實現(xiàn)本發(fā)明的各實施例的 示例性系統(tǒng)體系結(jié)構(gòu)200的示意圖。本領(lǐng)域技術(shù)人員將了解和明白,圖2所示出的示例性 系統(tǒng)體系結(jié)構(gòu)200只是一個合適的計算環(huán)境的示例,而非旨在對本發(fā)明的使用范圍或功能 提出任何限制。該示例性系統(tǒng)體系結(jié)構(gòu)200也不應被解釋成對于此處所示出的任一組件或 其組合有任何依賴或要求。
最初,提供計算設備215。計算設備215可以采取各種類型的計算設備的形式。僅 作為示例,計算設備215可以是個人計算設備(例如,圖1的計算設備100)、手持式設備(例 如,個人數(shù)字助理)、移動設備(例如,膝上型計算機、蜂窩電話、媒體播放器、板式PC)、消費 者電子設備、各種服務器等。另外,計算設備可以包括兩個或更多被配置成在它們之間共享 信息的電子設備。
在各實施例中,呈現(xiàn)組件250、輸入設備221、和處理器(例如,基于硬件的組件) 可在操作上與計算設備215耦合和/或設置在計算設備215上。通常,操作系統(tǒng)220被安 裝在該處理器上。計算設備215被配置成在呈現(xiàn)組件250上呈現(xiàn)UI顯示。可在操作上耦 合至處理組件225的呈現(xiàn)組件250可被配置為能夠向用戶呈現(xiàn)信息的任何顯示設備,諸如 監(jiān)視器、電子顯示板、觸摸屏、液晶顯示器(IXD)、等離子屏、一個或多個發(fā)光二極管(LED)、 白熾燈、激光、電熒光光源、化學燈、彎曲燈線、和/或熒光燈、或任何其它顯示類型、或可包 括可視信息在其上投射的反射表面。在一個示例性實施例中,呈現(xiàn)組件250所呈現(xiàn)的UI顯 示被配置成呈現(xiàn)具有內(nèi)容區(qū)域(未示出)的顯示區(qū)223,其中應用程序230所呈現(xiàn)的內(nèi)容顯 露在該內(nèi)容區(qū)內(nèi)。在另一示例性實施例中,UI顯示能夠提供對內(nèi)容區(qū)域內(nèi)的內(nèi)容平搖或者 在UI顯示的一部分上平移顯示區(qū)223的視覺指示。
在各實施例中,計算設備215在操作上與輸入設備221和呈現(xiàn)組件250耦合。由 此,輸入設備221、呈現(xiàn)組件250、以及操作系統(tǒng)220之間的通信可由諸如遠程服務器(未示 出)等分布式計算組件或其任意組合來支持。在分布式計算環(huán)境中實踐的發(fā)明的各實施例 中,通信通過適當?shù)倪B接來鏈接。這些連接可以是有線或無線的。在本發(fā)明的范圍內(nèi),具體 有線實施例的示例包括USB連接和電纜鏈接。本發(fā)明的范圍內(nèi)的具體無線實施例的示例包 括近程無線網(wǎng)絡和射頻技術(shù)。應該理解和明白,“近程無線網(wǎng)絡”的指定不旨在限制,而應 該被廣泛地解釋以至少包括以下技術(shù)協(xié)商無線外圍(NWP)設備;近程無線空氣干擾網(wǎng)絡 (例如,無線個人區(qū)域網(wǎng)(wPAN)、無線局域網(wǎng)(wLAN)、無線廣域網(wǎng)(wWAN)、藍牙""等);無線 對等通信(例如,超寬帶);以及支持設備之間的無線數(shù)據(jù)通信的任何協(xié)議。此外,熟悉本發(fā)明的領(lǐng)域的人員應該理解,近程無線網(wǎng)絡可通過各種數(shù)據(jù)傳送方法來實現(xiàn)(例如,衛(wèi)星 傳輸、電信網(wǎng)絡等)。因此,要強調(diào)的是,例如,計算設備215和在操作上與其耦合的遠程組 件之間的連接的各實施例不受所述示例限制,而是涵蓋各種各樣的通信方法。
提供輸入設備221以接受尤其影響內(nèi)容區(qū)域內(nèi)的內(nèi)容平搖的用戶發(fā)起的輸入 295.在一示例性實施例中,輸入設備221接收在呈現(xiàn)在UI顯示上的顯示區(qū)223處指示的 用戶發(fā)起的輸入四5。說明性設備包括觸摸屏界面(例如,同時被用作呈現(xiàn)組件250)、圖1 的I/O組件120、觸摸數(shù)字化器、或能夠接收包括手勢的用戶發(fā)起的輸入四5并將對該輸入 的指示傳遞給操作系統(tǒng)220的任何其他組件。僅作為示例,輸入設備221可參考GUI上所呈 現(xiàn)的項目來確定用戶發(fā)起的輸入295發(fā)起與其接觸(例如,致動位置)的坐標位置以及用 戶發(fā)起的輸入295終止與其接觸(例如,釋放位置)的坐標位置??杀容^這些坐標位置來 確定不間斷移動的距離及其方向,如以下更全面地討論的。因此,可從施加于輸入設備221 的手勢中提取拖拽操作。在各實施例中,輸入由屏幕驅(qū)動程序來進行預處理,該屏幕驅(qū)動程 序在將輸入信息傳遞給操作系統(tǒng)220之前從原始輸入數(shù)據(jù)導出輸入信息。
雖然上文中描述了輸入設備221的若干不同配置,但本領(lǐng)域的那些普通技術(shù)人員 應該理解和明白,可將從物理接觸290或以其他方式(例如,在物體接近屏幕但實際上未進 行接觸時交互/響應的“觸摸”系統(tǒng))接收輸入的各種類型的輸入設備用作輸入設備221, 且本發(fā)明的實施例不限于所示出并被描述為結(jié)合到呈現(xiàn)組件250中的那些輸入設備221。 例如,呈現(xiàn)組件250可以是在操作上耦合至計算機(例如,計算設備21 的監(jiān)視器,而輸入 設備221可以是與計算設備進行無線通信(以上討論)的獨立電容觸摸屏。然而,為了簡 明和清楚起見,輸入設備221和呈現(xiàn)組件250以下將被統(tǒng)稱為觸摸屏界面,即作為單個單元 提供顯示器和輸入元件兩者的功能的觸摸屏。
操作系統(tǒng)(OS) 220 —般是指管理處理組件的資源共享并向程序員提供用于訪問 這些資源的接口的軟件。在操作中,操作系統(tǒng)220解釋系統(tǒng)數(shù)據(jù),并檢測用戶發(fā)起的輸入 295 (例如,經(jīng)由輸入設備210),并通過無特定次序地執(zhí)行諸如下面的過程之類的過程來作 出響應接收來自觸摸屏界面上的物理對象290 (例如,單指手勢、筆劃等)的輸入四5,確 定輸入295執(zhí)行哪一種手勢,確定應用程序230支持滾動功能,以及如果手勢映射到可滾動 方向上的拖拽操作,則過濾輸入295至應用230的傳遞。如本文所使用的,術(shù)語“可滾動方 向”不意味著是限制性的,而是一般涉及允許在如由應用230管控的內(nèi)容區(qū)域內(nèi)移動內(nèi)容的 方向。在一個實例中,可滾動方向基本平行于滾動條工具的定向(例如,水平或垂直)。
在一示例性實施例中,操作系統(tǒng)220在處理器上運行且支持包括應用程序230的 一個或多個應用程序的執(zhí)行。在其他實施例中,操作系統(tǒng)220和/或應用程序230可部分 地或完全地駐留在遠程定位的計算設備上(例如,在另一操作系統(tǒng)上、經(jīng)由web地址位于服 務器上等等)。在各實施例中,操作系統(tǒng)220基于接收自輸入設備221的輸入信息245來確 定是否向應用程序230提供平搖消息。雖然圖2中示出從觸摸屏界面接收用戶發(fā)起的輸入 四5,但應該明白和理解,可以接收來自各種其他輸入設備(例如,遠程觸覺輸入板)的其他 輸入并由操作系統(tǒng)220解釋;因此,本發(fā)明的范圍不限于此處描述的輸入和輸入設備。如果 輸入四5內(nèi)包括的手勢的距離和/或方向滿足用于評估是否啟動平搖模式的系統(tǒng)度量,則 操作系統(tǒng)220可向應用程序230提供致使內(nèi)容根據(jù)該手勢來平搖的滾動消息。在此類情形 中,自動調(diào)用被映射至手勢的拖拽操作的應用程序230的平搖功能。
一般而言,應用程序230是可由操作系統(tǒng)220啟動和操縱的任何程序。如上文所 討論的,應用程序230管理在UI顯示上發(fā)布的內(nèi)容。另外,應用程序230可以是如上討論 的觸摸無知的,或者可另選地能夠接受來自觸摸屏界面的原始輸入。
操作系統(tǒng)220的此操作系統(tǒng)結(jié)構(gòu)只是可以在處理器上運行的合適的結(jié)構(gòu)的一個 示例,而非旨在對本發(fā)明的使用范圍或功能提出任何限制。所示出的操作系統(tǒng)220也不應 被解釋成對于所示出的接收輸入信息245形式的用戶發(fā)起的輸入245或提供消息235中的 任一個或其組合有任何依賴或要求。此外,應用程序230可被集成到操作系統(tǒng)220中并在 本質(zhì)和數(shù)量上是示例性的,且不應該被解釋為是限制性的。
在示例性實施例中,操作系統(tǒng)220包括輸入組件205、包括校正組件225和選擇組 件226的手勢引擎觀0、滾動條查找器210、和應用程序接口組件235。
另外,操作系統(tǒng)220可以包括數(shù)據(jù)存儲275。在各實施例中,數(shù)據(jù)存儲275可以駐 留在計算設備215上、或者駐留在遠程位置處的計算設備上(例如,在另一操作系統(tǒng)上,在 經(jīng)由web地址定位的服務器上等等)。數(shù)據(jù)存儲275可被配置成存儲信息,這些信息包括 被映射至特定手勢的消息、用于從平搖內(nèi)容切換至選擇內(nèi)容的系統(tǒng)度量(諸如觸發(fā)邊界)、 以及與平搖有關(guān)的任何其他數(shù)據(jù)。此外,盡管是作為單個獨立組件來示出的,但是數(shù)據(jù)存儲 275事實上可以是多個數(shù)據(jù)庫,例如服務器群集。
操作系統(tǒng)220的此操作系統(tǒng)結(jié)構(gòu)只是可以在計算設備215上運行的合適的結(jié)構(gòu)的 一個示例,而非旨在對本發(fā)明的使用范圍或功能提出任何限制。所示出的操作系統(tǒng)220也 不應被解釋成對于所示出的組件205、210、225、226、280或250中的任一組件或其組合有任 何依賴或要求。在一些實施例中,組件205、210、225、226、280或250中的一個或多個可被 實現(xiàn)為獨立應用程序。在其他實施例中,組件205、210、225、226、280或250中的一個或多 個可以直接集成到計算設備215的顯示設備221、應用程序230、或其組合中。只作為示例, 應用程序接口組件250可以與顯示設備221相關(guān)聯(lián)地安置的。本領(lǐng)域普通技術(shù)人員可以理 解,圖2所示的組件205、210、225、226、280或250在本質(zhì)和數(shù)量上是示例性的,并且不應被 解釋為限制。
在本發(fā)明的各實施例的范圍內(nèi),可以使用任意數(shù)量的組件以實現(xiàn)所需功能。雖然 為了清楚起見利用線條示出了圖2的各組件,但是實際上,描繪各組件/元件的輪廓并不是 那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。此外,雖然圖2的某些 組件和設備被描述成各單獨的框,但是該描繪在本質(zhì)上和數(shù)量上是示例性的,不應該解釋 為限制(例如,雖然只示出了一個顯示設備215,但是,可以有更多的顯示設備可操作地耦 合到計算設備210,從而協(xié)作地運轉(zhuǎn)以呈現(xiàn)UI顯示225)。
最初,輸入組件205被配置成接收來自觸摸屏界面的輸入信息M5。在一示例性實 施例中,輸入信息245可從輸入290導出。作為示例,輸入290可包括當用戶觸摸(例如, 單指手勢觸摸)觸摸屏界面時的用戶發(fā)起的物理接觸。其他實施例中,輸入信息245包括 觸摸屏界面上的致動位置(例如,笛卡爾坐標位置)以及與手勢有關(guān)的數(shù)據(jù)(例如,不間斷 移動的距離、移動方向、致動持續(xù)時間等等)。此輸入信息245可由將數(shù)據(jù)傳遞給輸入組件 205的屏幕驅(qū)動程序(未示出)來進行預處理。輸入組件205隨后可處理輸入信息205,然 后將其發(fā)送給手勢引擎觀0。
滾動條查找器組件210確定應用程序230是否支持滾動功能。在一個實例中,該確定是通過探查應用程序以識別顯示區(qū)223內(nèi)是否存在滾動條工具來執(zhí)行的。如果應用程 序230支持滾動功能,則可向應用程序發(fā)送滾動消息以基于接收到的手勢的拖拽操作來執(zhí) 行內(nèi)容的平搖移動。否則,向應用程序230提供標準“鼠標消息”。鼠標消息是提供給觸摸 無知應用程序(即,未被配置成接受觸摸界面上的手勢)的未過濾輸入四5,其以類似于從 使用鼠標工具所能預期的方式來控制應用程序。
盡管以上討論了用于確定應用程序230是否在UI顯示處展示滾動功能的方法,但 用于作出此判定的其他方法也被涵蓋在滾動條查找器組件210的范圍內(nèi),并且可被應用于 各種不同的滾動條實現(xiàn)。
手勢引擎觀0被配置成確定用戶正在計算設備215處執(zhí)行哪一種手勢。例如,手勢 引擎280能夠利用計時器來處理手勢的連續(xù)、不間斷移動和/或手勢的持續(xù)時間。如果手 勢的持續(xù)時間不包括大于預定義距離的不間斷移動距離或者不滿足預定義的閾值時間段, 則該手勢被認為是輕擊類操作(例如,模擬鼠標點擊的輕擊)。否則,手勢被認為是拖拽操作。
在各實施例中,手勢引擎280消除平搖與標準動作之間的歧義。例如,如果手勢被 認為是拖拽操作,則手勢引擎查看應用程序230的UI顯示以確定用戶是否正在滾動條內(nèi)容 區(qū)域內(nèi)拖拽。在各實施例中,采用了用于標識致動位置,即接觸觸摸屏界面的觸點是否出現(xiàn) 在滾動內(nèi)容區(qū)域內(nèi)的技術(shù)和方法。如果致動位置在內(nèi)容區(qū)域內(nèi)且識別出拖拽操作,則向應 用程序發(fā)送滾動消息而非發(fā)送鼠標消息。在一特定實施例中,在應用程序230支持垂直滾 動且在內(nèi)容區(qū)域內(nèi)檢測到致動位置的情況下,垂直拖拽操作可調(diào)用觸發(fā)向上平搖或向下平 搖的平搖消息,而水平拖拽操作可調(diào)用選擇內(nèi)容區(qū)域內(nèi)的文本、在屏幕上滑動窗口、剪切和 /或粘貼等鼠標消息。在另一實施例中,在應用程序230支持水平滾動且在內(nèi)容區(qū)域內(nèi)檢測 到致動位置的情況下,水平拖拽操作可調(diào)用觸發(fā)橫向平搖的平搖消息,而垂直拖拽操作可 調(diào)用鼠標消息。
因此,當他/她執(zhí)行拖拽時,內(nèi)容區(qū)域中的內(nèi)容與用戶手指一起滾動。因此,此辦 法允許用戶在內(nèi)容區(qū)域上拖拽其手指以進行平搖,并使用不同的手勢來在內(nèi)容區(qū)域內(nèi)進行 拖拽或選擇。例如,用戶可通過在表面文件列表上拖拽手指來平搖通過文件資源管理器菜 單中的項目列表,并隨后執(zhí)行不同的手勢以選擇和移動文件(例如,在顯示區(qū)230的標題欄 或邊框上執(zhí)行觸摸點)。
如果用戶正在應用程序230所呈現(xiàn)的不可滾動的內(nèi)容區(qū)域(例如,標題欄、邊框、 滾動條工具等)上拖拽,則利用應用程序接口組件250來將鼠標消息發(fā)送到應用程序,以使 得用手指拖拽起到與用鼠標點擊和拖拽相同的作用。這允許用戶在屏幕(例如,UI顯示) 上四處拖拽或平搖顯示區(qū)223,拖拽可滾動內(nèi)容區(qū)的滑塊、重新排列桌面圖標等。
一般而言,手勢引擎280通過向應用程序230提供適當?shù)南?35來過濾輸入。 當在可滾動方向上拖拽時,可滾動內(nèi)容將與觸摸屏界面上的接觸點一起移動。在各實施例 中,對手勢內(nèi)的不穩(wěn)定或者非故意的移動應用平均機制以平滑該內(nèi)容的移動。在看到顯示 區(qū)223上所呈現(xiàn)的滾動條工具時,用戶被提供平搖內(nèi)容可用的指示。由此,用戶將直觀地用 一根手指進行拖拽以平搖內(nèi)容(例如,文檔內(nèi)的頁面、或者瀏覽器內(nèi)的地圖)。當用戶在基 本平行于滾動條控件的方向上在可滾動內(nèi)容區(qū)域上拖拽其手指時,內(nèi)容在適當?shù)姆较蛏掀?搖。平搖繼續(xù),直至用戶提起其手指、或者中斷拖拽操作的連續(xù)移動。另外,平搖內(nèi)容可驅(qū)動滾動條控件的滑塊以提供正在執(zhí)行平搖的視覺反饋(例如,自動為用戶移動滾動條)。在 示例性實施例中,用于控制應用程序230所呈現(xiàn)的內(nèi)容的平搖的這種對輸入四5的管理能 夠與滾動條的各種實現(xiàn)交互。
在操作中,手勢引擎280解讀正在發(fā)生什么類型的手勢、該手勢源自哪里、以及該 手勢的其他屬性是否可用。在解釋此信息后,選擇組件2 被配置成識別映射至所解讀的 手勢的適當動作。該適當動作被提供給應用程序接口組件250,該組件向應用程序230發(fā) 送適當消息235。例如,如果手勢引擎確定用戶正在顯示區(qū)的不可滾動部分上拖拽,則經(jīng)由 映射調(diào)用正常的鼠標左鍵拖拽動作。如果用戶在不滾動的方向上(例如,垂直于滾動條控 件)拖拽,則發(fā)生鼠標左鍵拖拽,其在應用程序中通常變成選擇或拖放?;蛘?,用戶可通過 執(zhí)行用于調(diào)用常規(guī)鼠標左鍵拖拽動作的按住然后拖拽手勢來選擇內(nèi)容。
在各實施例中,當用戶在與滾動條工具相同的大致方向上(對于垂直滾動條為向 上或向下)在顯示區(qū)223(由hternet Explorer、媒體播放器、記事本文檔、WorcUOutlook、 開始菜單、控制面板生成的窗口、或其他應用程序表面UI)的內(nèi)容區(qū)域中拖拽手指或物理 對象四0時,內(nèi)容(例如,文件夾列表、電子郵件列表、已分組的電子郵件列表、滾動字體列 表)應在手指下平搖。另外,只應影響發(fā)起拖拽的所選顯示區(qū)223的內(nèi)容。由此,不論該拖 拽在何處移動,其他窗格中的其他內(nèi)容不應滾動或顯示懸停狀態(tài)。同樣,不允許滾動的顯示 區(qū)223(例如,youtube. com上的靜態(tài)圖像)中的拖拽將導致整個顯示區(qū)223在頁面上平搖。 為了實現(xiàn)這些動作,手勢引擎觀0向應用程序223饋送通信流以確保應用程序223以特殊 方式對待輸入四5。
選擇組件2 被配置成基于輸入信息245來選擇適當?shù)膭幼饕园l(fā)送至應用程序接 口組件250。另外,選擇組件2 被配置成確定用戶何時平搖越過滾動區(qū)域的末端并提供過 平搖(over-panning)動作,該過平搖動作提供視覺反饋以便讓用戶知曉他/她已經(jīng)達到可 用的可滾動內(nèi)容的極限。在一個實施例中,該過平搖動作在用戶正在觸摸屏界面上滑動手 指的方向上移動整個窗口。有利地,導致整個顯示區(qū)223移動的此視覺反饋可被實現(xiàn)或縮 放以操縱傳統(tǒng)應用程序。具體地,由于操作系統(tǒng)220具有在屏幕上滑動窗口的能力,因此移 動UI顯示上的顯示區(qū)的過平搖動作可在沒有來自應用程序230的協(xié)作或通過應用程序230 往復運動的情況下實現(xiàn)。因此,過平滑動作提供了滾動功能可用但已經(jīng)達到頁面末端的清 楚指示。
由于新用戶常常犯在錯誤方向上拖拽的錯誤,所以過平滑動作提供輔助性行為以 警告用戶不再有內(nèi)容位于拖拽操作的方向上。而且,過平滑動作提供能夠教導用戶如何在 平滑時控制內(nèi)容移動的教導行為。因為通過在內(nèi)容區(qū)域中拖拽手指來移動內(nèi)容的方向與通 過在相同方向上拖拉滾動條控件的滑塊來移動內(nèi)容的方向通常相反,所以發(fā)生在與用戶預 期方向相反的方向上平搖的錯誤。具體而言,當處在文檔頂端時,新用戶常常在向下方向上 拖拽其手指,因為他們習慣于在操作滾動條控件時施加向下的移動。但是,當調(diào)用平搖模式 時,當用戶在此情形中拖拽其手指時,整個窗口,即顯示區(qū)223將向下滑動。由此,過平搖動 作清楚并可視地傳達平搖是可用的但用戶正在錯誤的方向上拖拽。然而,當觸摸平搖是其 中內(nèi)容基本在拖拽的方向上移動的“直接操縱系統(tǒng)”中,在向上方向上拖拽內(nèi)容或文檔中的 頁面是向上移動頁面的基礎。因此,如果不向用戶提供過平搖動作或其他反饋,則用戶將常 常認為滾動功能不可用或不起作用。
盡管描述了過平搖動作的一個實施例,但本領(lǐng)域技術(shù)人員應該理解和認識到,也 可以采用向用戶提供傳達滾動功能可用的視覺或音頻反饋的其他類型的適合過平搖動作, 且本發(fā)明的實施例不限于本文描述的這些過平搖動作。另外,過平搖動作的使用唯一地適 用于其中每一個運行應用程序存活在顯露于UI顯示的一個或多個顯示區(qū)內(nèi)的窗口化多任 務系統(tǒng)(即,在屏幕上具有許多窗口的能力)。此外,如果用戶“搖擺”頁面(即,施加劇烈 拖拽操作)以使得頁面滾動至內(nèi)容區(qū)域中的可滾動內(nèi)容的末端,則可觸發(fā)此過平搖動作。 在各實施例中,搖擺為用戶提供了最初在拖拽操作的控制下移動內(nèi)容并在隨后拖拽操作停 止時自動地繼續(xù)平搖內(nèi)容和/或滑動顯示區(qū)223,就像內(nèi)容具有質(zhì)量并在慣性下移動一樣。
校正組件225被配置成在方向基本與滾動條工具對齊時提供對拖拽偏移的容限。 例如,當用戶開始平搖時(例如,通過在可滾動內(nèi)容區(qū)內(nèi)向上拖拽),選擇組件2 將在向上 和向下方向上平搖頁面,即使用戶在嘗試垂直滾動時稍微向左或向右偏移。換言之,用戶能 夠垂直地(即,直接向上/下)或者水平地(例如,直接向左/右)平搖,即使在執(zhí)行拖拽 操作時其手指的拖拽運動沒有正好在這些方向上移動。如果用戶偏好是對角地平搖更為高 效,則可以關(guān)閉此特征。然而,校正組件225通常是活動的,因為在內(nèi)容區(qū)域中直接向上或 向下、或者側(cè)向地平搖內(nèi)容是更加明了的,并且是對于觀看而言更為常規(guī)/直觀的移動。
由于拖拽期間的摩擦以及移動整個手臂以創(chuàng)建輸入的一般人體工程學,用戶難以 實現(xiàn)觸摸屏界面上的精確拖拽。因此,在拖拽交互中存在固有的偏移和/或擺動。在操作 中,校正組件225注意到拖拽的擺動和/或偏移并抑制這些輸入以使得內(nèi)容直線地平搖, 即,就像是在軌道上。在一個實施例中,抑制是通過確定拖拽操作的方向的主軸來執(zhí)行的。 隨后濾除非主軸方向上的附屬移動以幫助滾動該拖拽操作的特定方向。因此,用戶在拖拽 時被提供一定程度的容限以便于以直觀和寬松的方式進行平搖。
在如參照圖4和5討論的實施例中,閾值邊界可以與主軸相關(guān)聯(lián),定義閾值邊界以 使得顯著的附屬移動(例如,主軸為垂直時的正交拖拽)將觸發(fā)次級動作,諸如選擇位于該 觸摸點附近的內(nèi)容。即,如果用戶拖拽得偏離主軸足夠遠,則可以調(diào)用次級動作。因此,通 過定向地控制非主軸方向上的拖拽,用戶能夠強加特定于方向的行為,諸如選擇文本。
在其中于非預期方向上(例如,有悖于主軸)發(fā)生相當量的拖拽的情形中,可以停 用校正組件225對此拖拽操作施加的抑制以使得用戶可在對應于其實際手勢的方向上自 由平搖。即,一旦檢測到閾值量的偏移,校正組件225就可將動作從受控平搖切換至基于 實際手勢移動的平搖?;蛘?,用戶可通過在施加手勢時克服閾值量的偏移來覆蓋平搖行為 (即,退出平搖模式)。一旦用戶克服平搖行為,他/她就能執(zhí)行“正常拖拽操作”諸如鼠標 拖拽類操作。在其他實施例中,在不覆蓋校正組件225的情況下,用戶仍能執(zhí)行如上所討論 的次級動作。在各實施例中,用戶可在觸摸屏界面上執(zhí)行至少以下操作以執(zhí)行次級動作按 下并按住預定持續(xù)時間,隨后拖拽;執(zhí)行雙輕擊類操作(在特定時限內(nèi)),隨后拖拽;或者提 供多點觸摸輸入,諸如雙手指拖拽。用戶可在可滾動內(nèi)容區(qū)域內(nèi)執(zhí)行以調(diào)用次級動作的其 他操作可包括在限于上下滾動的顯示區(qū)中從左至右地拖拽。在處理次級動作時,應用程序 230將表現(xiàn)得就像用戶用鼠標進行點擊和操作一樣。一般而言,此次級動作對于選擇應用 程序內(nèi)的文本是有用的。在接收到此次級動作的指示時,應用程序接口組件可向應用程序 230發(fā)送鼠標消息而不是滾動消息。
如上討論的,用戶可按下并按住且隨后拖拽來臨時禁用平搖行為。一旦禁用,用戶能改為在不調(diào)用平搖模式的情況下自由使用拖拽操作來執(zhí)行次級動作。例如,被解釋為按 下+按住+拖拽的輸入可在臨時停止平搖的同時調(diào)用方便選擇手勢的次級動作。在另一實 施例中,被解釋為按下+按住+釋放的接收到輸入手勢可禁用滾動功能(即,臨時或永久停 用平搖模式),并允許用戶執(zhí)行鼠標拖拽(例如,觸發(fā)選擇),諸如復制網(wǎng)頁中的地址或?qū)⑽?件移動到文件夾中。
現(xiàn)在轉(zhuǎn)到圖3,示出了根據(jù)本發(fā)明的一實施例的觸摸屏界面320上的顯示區(qū)3 的 圖示300,該觸摸屏界面示出了一種用于平搖其中的內(nèi)容的方法。最初,計算設備215或另 一計算設備(例如,計算設備100)設有觸摸屏界面320。觸摸屏界面320被配置成在UI顯 示305上顯露顯示區(qū)328、337、和341。示出物理對象315 (例如,單指手勢)正在內(nèi)容區(qū)域 325內(nèi)施加拖拽操作335。通常,拖拽操作335將在拖拽操作335正在行進的方向333上平 搖內(nèi)容327(例如,如圖示地基本向下地平移)。拖拽操作包括發(fā)起點334、或如上所述的致 動位置,以及觸摸點336。另外,滾動條工具3 可提供對平搖操作的視覺反饋。
在所示示例中,拖拽操作335是在大體向下的方向上移動的手勢。因此,內(nèi)容327 將對應地在向下方向333上平搖,由此隨物理對象315移動。滾動條工具3 可通過從先 前位置330自動在向上方向331上移動滑塊332來提供對正在發(fā)生向下平搖的視覺反饋。 如果在向下的拖拽操作335期間出現(xiàn)內(nèi)容327的末端,則可調(diào)用過平搖動作。在一個實例 中,過平搖動作可包括在UI顯示305內(nèi)向下平移顯示區(qū)328。此外,在一示例性實施例中, 如果圖2的校正組件225是啟用的,則內(nèi)容327可在基本垂直的方向333上滾動,即使此時 拖拽操作335包括輕微的偏移。
在顯示區(qū)3 上提供輸入時,激活底層應用程序。由于顯示區(qū)328的底層應用程 序是活動的,而顯示區(qū)337和341的底層應用程序是休眠的,所以顯示區(qū)337和341不會在 顯示區(qū)328中的平搖期間接收到輸入。例如,如果拖拽操作335從觸摸點336繼續(xù)到顯示 區(qū)337的內(nèi)容區(qū)域338中,則顯示區(qū)338內(nèi)的內(nèi)容將不平搖。相反,垂直方向333上的平搖 可在物理對象315越出內(nèi)容區(qū)域325的下邊緣時停止?;蛘?,整個顯示區(qū)3 可在UI顯示 305內(nèi)向下滑動以指示發(fā)生越出。
顯示區(qū)337包括水平滾動條工具339。由此,相比于顯示區(qū)3 的垂直滾動條工具 329,內(nèi)容區(qū)域338中的水平拖拽操作將導致平搖動作,而內(nèi)容區(qū)域338中的垂直拖拽操作 調(diào)用次級動作,諸如用于突出顯示內(nèi)容區(qū)域338中的文本的選擇功能。
顯示區(qū)340不包括滾動條。因此,可視地通知用戶顯示區(qū)340的底層應用程序不 支持滾動功能。因此,顯示區(qū)340的邊界341內(nèi)的拖拽操作將導致顯示區(qū)340結(jié)合物理對 象315的移動在UI顯示305中平移?;蛘撸瑸榱税l(fā)起顯示區(qū)328的平移,手勢的致動位置 應出現(xiàn)在內(nèi)容區(qū)域325的外部,諸如在顯示區(qū)328的邊框/標題欄326內(nèi)。
現(xiàn)在轉(zhuǎn)到圖4和5,示出了根據(jù)本發(fā)明的各實施例的漸進式拖拽操作描繪,該描繪 展示執(zhí)行從平搖內(nèi)容切換到調(diào)用次級動作的拖拽操作的各階段。首先,參考圖4,建立預定 的閾值邊框集合420以消除輕擊類操作與拖拽操作之間的歧義。即,如果諸如初始拖拽405 之類的手勢延伸超出該閾值邊框集合420中的任一邊框,則該手勢被認為是拖拽操作。在 另一實施例中,如果施加手勢并在觸摸屏界面上保持長于預定義時間窗口,則該手勢被認 為是拖拽操作。
如圖4所示,初始拖拽405正移至上象限中;由此該手勢被認為是向上方向上的垂直拖拽操作。因此,如果應用支持垂直方向上的滾動功能,則內(nèi)容可結(jié)合初始拖拽405移 動。在圖2的校正組件225是活動的情況下,初始拖拽405中的任何偏移或擺動在不越過 閾值邊界410和415中任一邊界的情況下得到抑制。轉(zhuǎn)到圖5,次級拖拽505越過閾值邊界 515。在一個實施例中,越過閾值邊界515暫停平搖功能。在另一實施例中,次級拖拽505 越過閾值邊界515可調(diào)用次級動作或停用圖2的校正組件225以停止抑制功能。因此,內(nèi) 容跟隨此拖拽操作而不是沿主軸方向移動。
參考各具體實施例描述了本發(fā)明,各具體實施例在所有方面都旨在是說明性的而 非限制性的。不偏離本發(fā)明范圍的情況下,各替換實施例對于本發(fā)明所屬領(lǐng)域的技術(shù)人員 將變得顯而易見。
從前述內(nèi)容可知,本發(fā)明很好地適用于實現(xiàn)前述的所有目的和目標,并且具有對 于該系統(tǒng)和方法是顯而易見的和固有的其它優(yōu)點??梢岳斫?,某些特征和子組合是有用的, 并且可以在不參考其他特征和子組合的情況下使用。這由權(quán)利要求所構(gòu)想的,并在權(quán)利要 求的范圍內(nèi)。
權(quán)利要求
1.一種或多種其上包含計算機可執(zhí)行指令的計算機可讀介質(zhì),所述指令在被執(zhí)行時執(zhí) 行一種用于平搖計算設備上所呈現(xiàn)的顯示區(qū)內(nèi)的內(nèi)容的方法,所述方法包括檢測施加于觸摸屏界面的用戶發(fā)起的輸入;從所述觸摸屏界面接收致動信息,其中觸摸屏信息包括觸摸位置;查明所述觸摸位置出現(xiàn)在顯露于所述觸摸屏界面的所述顯示區(qū)的內(nèi)容區(qū)域內(nèi),其中所 述顯示區(qū)是由與所述計算設備的操作系統(tǒng)通信的應用程序呈現(xiàn)的;將所述應用程序標識為支持滾動功能;從所述觸摸屏信息導出對應于所述觸摸位置的手勢;通過基于自所述用戶發(fā)起的輸入在所述觸摸屏界面上的致動位置起的不間斷拖拽移 動的距離和方向來消除拖拽操作與輕擊類或其他操作的歧義,來將所述手勢識別為所述拖 拽操作;基于所述滾動功能,根據(jù)所述拖拽操作來平搖所述顯示區(qū)的內(nèi)容區(qū)域內(nèi)的內(nèi)容或者生 成正常鼠標消息。
2.如權(quán)利要求1所述的一種或多種計算機可讀介質(zhì),其特征在于,所述方法還包括呈 現(xiàn)對所述觸摸屏界面處的平搖的指示。
3.如權(quán)利要求2所述的一種或多種計算機可讀介質(zhì),其特征在于,將所述應用程序標 識為支持滾動功能還包括確定呈現(xiàn)在所述觸摸屏界面處的顯示區(qū)是否包括滾動條控件。
4.如權(quán)利要求3所述的一種或多種計算機可讀介質(zhì),其特征在于,呈現(xiàn)對所述觸摸屏 界面處的平搖的指示包括在基于所述觸摸屏界面處的平搖的方向的方向上驅(qū)動所述滾動 條控件的滑塊。
5.如權(quán)利要求1所述的一種或多種計算機可讀介質(zhì),其特征在于,不間斷拖拽移動的 距離是通過將所述用戶發(fā)起的輸入在所述觸摸屏界面處的致動位置的笛卡爾坐標表示與 所述拖拽移動的釋放位置的笛卡爾坐標表示進行比較來導出的。
6.如權(quán)利要求1所述的一種或多種計算機可讀介質(zhì),其特征在于,通過基于不間斷拖 拽移動的距離來消除拖拽操作與輕擊類操作的歧義來將所述手勢識別為拖拽操作包括確 定包括所述不間斷拖拽移動的對所述觸摸屏界面的掃掠是否克服預定義的閾值距離。
7.如權(quán)利要求3所述的一種或多種計算機可讀介質(zhì),其特征在于,通過基于不間斷拖 拽移動的方向來消除拖拽操作與輕擊類操作的歧義來將所述手勢識別為拖拽操作包括檢測所述不間斷拖拽移動的方向;標識所述內(nèi)容區(qū)域的可滾動方向,其中所述可滾動方向是指所述內(nèi)容被允許在如由所 述應用程序管控的內(nèi)容區(qū)域內(nèi)平搖的方向;以及查明所述不間斷拖拽移動的方向基本平行于所述內(nèi)容區(qū)域的可滾動方向。
8.如權(quán)利要求7所述的一種或多種計算機可讀介質(zhì),其特征在于,所述內(nèi)容區(qū)域的可 滾動方向基本與滾動條工具的方向?qū)R。
9.一種能夠向觸摸無知應用程序提供觸摸平搖能力的計算機系統(tǒng),所述計算機系統(tǒng)包 括其上包含有多個計算機軟件組件的計算機存儲介質(zhì),所述計算機軟件組件包括用于接收用戶發(fā)起的輸入的輸入設備,所述用戶發(fā)起的輸入包括施加于設置在所述輸 入設備上的觸摸屏界面處所呈現(xiàn)的顯示區(qū)的致動的位置,其中所述觸摸屏界面接受物理接 觸作為所述用戶發(fā)起的輸入;用于在所述顯示區(qū)的內(nèi)容區(qū)域內(nèi)呈現(xiàn)內(nèi)容的觸摸無知應用程序組件,其中所述觸摸無 知應用程序最初并未被構(gòu)造成接收平搖輸入;操作系統(tǒng),其用于擔當所述輸入設備與所述觸摸無知應用程序之間的手勢解釋接口, 由此促進經(jīng)由所述觸摸屏界面處的輸入對所述觸摸無知應用程序的滾動功能的控制,其中 所述操作系統(tǒng)包括(a)滾動條查找器組件,其用于檢查所述觸摸無知應用程序以檢測所述觸摸無知應用 程序是否為至少一種輸入設備提供滾動功能;以及(b)應用程序接口組件,其用于在接收到所述觸摸無知應用程序提供所述滾動功能的 指示時向所述觸摸無知應用程序提供平搖消息,否則向所述觸摸無知應用程序提供鼠標消 息;以及呈現(xiàn)組件,其用于向用戶揭示對所述滾動功能的指示,其中所述呈現(xiàn)組件與所述輸入 設備集成。
10.如權(quán)利要求9所述的計算機系統(tǒng),其特征在于,所述操作系統(tǒng)還包括用于從所述輸 入設備上的屏幕驅(qū)動程序接收輸入信息的輸入組件,其中所述輸入信息包括與時間戳相關(guān) 聯(lián)的觸摸位置。
11.如權(quán)利要求10所述的計算機系統(tǒng),其特征在于,所述操作系統(tǒng)還包括手勢引擎,所 述手勢引擎用于從由所述時間戳匯編的觸摸位置導出手勢和致動位置,用于查明所述致動 位置是否出現(xiàn)在所述內(nèi)容區(qū)域內(nèi),以及用于基于源自所述致動位置的基本不間斷拖拽移動 的方向和距離來查明所述手勢是否是拖拽操作,其中所述應用程序接口組件被配置成在接 收到所述手勢是拖拽操作且所述致動位置始于所述內(nèi)容區(qū)域內(nèi)的指示時向所述觸摸無知 應用程序提供平搖消息。
12.如權(quán)利要求11所述的計算機系統(tǒng),其特征在于,向所述觸摸無知應用提供平搖消 息包括解釋來自屏幕驅(qū)動程序的輸入信息;將經(jīng)解釋的輸入信息映射至所述觸摸無知應用程序的滾動功能;以及向所述觸摸無知應用程序傳達反映所映射的滾動功能的平搖消息。
13.一種用于當在觸摸屏界面處接收到手勢時實現(xiàn)應用程序的滾動功能的計算機化方 法,所述方法包括檢測施加于所述觸摸屏界面的用戶發(fā)起的手勢,其中所述手勢包括對于所述觸摸屏界 面的致動位置以及與其相關(guān)聯(lián)的拖拽操作;查明所述觸摸位置是否出現(xiàn)在顯露于所述觸摸屏界面的顯示區(qū)的內(nèi)容區(qū)域內(nèi),其中所 述顯示區(qū)是由所述應用程序呈現(xiàn)的;查明所述拖拽操作是否滿足預定義系統(tǒng)度量;當所述觸摸位置出現(xiàn)在所述內(nèi)容區(qū)域內(nèi)且所述拖拽操作滿足預定義系統(tǒng)度量時,使得 所述應用程序進入平搖模式,所述平搖模式支持所述顯示區(qū)的內(nèi)容區(qū)域內(nèi)的內(nèi)容的滾動功 能;否則使所述應用程序保持在默認模式中,由此允許與所述手勢相關(guān)聯(lián)的原始輸入從所 述觸摸屏界面流向所述應用程序;以及至少臨時與所述平搖模式或所述默認模式相一致地存儲所述應用程序。
14.如權(quán)利要求13所述的計算機化方法,其特征在于,允許與所述手勢相關(guān)聯(lián)的原始 輸入從所述觸摸屏界面流向所述應用程序包括將所述用戶發(fā)起的手勢作為能被觸摸無知 應用程序識別的鼠標消息傳達給所述應用程序,其中所述觸摸無知應用程序是不知道它們 正與觸摸屏界面協(xié)作或者在接收到所述觸摸屏界面處的輸入時不支持滾動功能的應用程序。
15.如權(quán)利要求13所述的計算機化方法,其特征在于,查明所述拖拽操作是否滿足預 定義系統(tǒng)度量包括識別所述拖拽操作包括源自所述致動位置的、持續(xù)大于預定義閾值距離 的距離的基本不間斷拖拽移動,其中所述不間斷拖拽移動是由與所述觸摸屏界面真實接觸 的物理對象生成的。
16.如權(quán)利要求13所述的計算機化方法,其特征在于,查明所述拖拽操作是否滿足預 定義系統(tǒng)度量包括利用計時器來確定在完成所述基本不間斷拖拽移動時所述拖拽操作消耗的時間量;以及基于所消耗的時間量和所述拖拽操作的距離,消除所述拖拽操作與輕擊類操作的歧義。
17.如權(quán)利要求16所述的計算機化方法,其特征在于,查明所述拖拽操作是否滿足預 定義系統(tǒng)度量包括基于所述基本不間斷拖拽移動的平均方向來標識所述拖拽操作的主軸; 將所述主軸與所述顯示區(qū)的內(nèi)容區(qū)域的滾動功能所啟用的一個或多個滾動方向進行 比較;以及確定所述主軸在預定義容限內(nèi)與所啟用的滾動方向中的一個或多個相當。
18.如權(quán)利要求13所述的計算機化方法,其特征在于,使所述應用程序進入支持所述 顯示區(qū)的內(nèi)容區(qū)域內(nèi)的內(nèi)容的滾動功能的平搖模式包括向所述應用程序提供平搖消息以 發(fā)起滾動所述顯示區(qū)的內(nèi)容區(qū)域內(nèi)的內(nèi)容,其中滾動所述內(nèi)容包括平移與物理對象和所述 觸摸屏界面之間的接觸位置相對應的內(nèi)容。
19.如權(quán)利要求15所述的計算機化方法,其特征在于,還包括在執(zhí)行所述拖拽操作時接收正由所述物理對象生成的基本不間斷拖拽移動正越出包 圍所述內(nèi)容區(qū)域的一個或多個邊界的指示;以及調(diào)用過平搖動作,所述過平搖動作向操作者提供指示到達可滾動內(nèi)容的極限的視覺反 饋,其中所述視覺反饋包括在所述基本不間斷拖拽移動的大體方向上平移所述觸摸屏界面 上的顯示區(qū)。
20.如權(quán)利要求19所述的計算機化方法,其特征在于,還包括在執(zhí)行所述拖拽操作時接收所述基本不間斷拖拽移動是通過對所述物理對象的劇烈 掃掠來施加至所述觸摸屏界面的指示;在釋放所述拖拽操作時自動繼續(xù)在所述基本不間斷拖拽移動的方向上滾動所述內(nèi)容, 就像所述內(nèi)容在隨著慣性移動一樣;以及當在所述基本不間斷拖拽移動的方向上到達所述內(nèi)容的末端時,調(diào)用所述過平搖動作。
全文摘要
提供了用于通過在觸摸屏界面上所呈現(xiàn)的內(nèi)容區(qū)域上施加用戶發(fā)起的輸入來直觀地調(diào)用平搖動作(例如,移動顯示區(qū)的內(nèi)容區(qū)域內(nèi)的內(nèi)容)的計算機可讀介質(zhì)、計算機化方法和計算機系統(tǒng)。最初,用戶發(fā)起的輸入的各方面包括致動位置(例如,觸摸屏界面上的觸摸點)和手勢。在查明致動位置出現(xiàn)在內(nèi)容區(qū)域內(nèi)且手勢是拖拽操作時,基于與觸摸屏界面的不間斷觸覺接觸的距離,可啟動平搖模式。當處在平搖模式中時并且若在顯示區(qū)處呈現(xiàn)內(nèi)容的應用程序支持滾動功能,則該手勢將控制內(nèi)容在內(nèi)容區(qū)域內(nèi)的移動。具體而言,當顯露于觸摸屏界面時,手勢的拖拽操作將在顯示區(qū)內(nèi)平搖內(nèi)容。
文檔編號G06F3/041GK102037434SQ200980119250
公開日2011年4月27日 申請日期2009年4月23日 優(yōu)先權(quán)日2008年5月23日
發(fā)明者D·A·馬修斯, J·A·克洛, J-K·馬爾凱維奇, L·B·基利, 拉 托瑞 巴爾鐵拉 P·德, R·L·陶森, T·A·托爾塞特, X·屠 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
定远县| 天津市| 高清| 弥勒县| 正阳县| 长宁区| 楚雄市| 德钦县| 正安县| 准格尔旗| 武义县| 微山县| 营山县| 时尚| 麻江县| 江油市| 海南省| 霸州市| 大兴区| 河池市| 山东| 滨海县| 英吉沙县| 安化县| 出国| 托克托县| 永定县| 常宁市| 体育| 靖江市| 长治县| 临夏市| 太白县| 恭城| 司法| 宁都县| 汨罗市| 仁布县| 东乡县| 布尔津县| 满洲里市|