用于能夠進行基于觸摸的輸入的用戶界面的經增強的目標選擇的制作方法
【專利摘要】提供了下述的系統(tǒng)和方法:其與針對從鍵盤和鼠標接收的傳統(tǒng)輸入來設計的應用相結合地提供了針對基于觸摸的輸入而優(yōu)化的圖形用戶界面元素。當計算機系統(tǒng)檢測到用戶將要從傳統(tǒng)輸入裝置切換到觸敏輸入裝置時,顯示基于觸摸的圖形用戶界面元素。當用戶利用傳統(tǒng)輸入裝置提供輸入時,隱藏基于觸摸的圖形用戶界面元素,以使得基于觸摸的圖形用戶界面元素不擾亂應用的正常操作。顯示裝置包括感測能力,該感測能力使得計算機系統(tǒng)能夠檢測到物體(如用戶的手指或者手寫筆)靠近顯示裝置但是沒有與顯示裝置接觸的情況。
【專利說明】用于能夠進行基于觸摸的輸入的用戶界面的經增強的目標
選擇
[0001]相關申請的交叉引用
[0002]本申請要求2011年10月14日提交的美國專利申請序列號13/274,253的權益,該申請通過引用合并入本文中。
[0003]本發(fā)明的背景
【技術領域】
[0004]本發(fā)明一般地涉及用戶界面,并且更具體地涉及用于支持基于觸摸的輸入的用戶界面的增強的目標選擇。
【背景技術】
[0005]在消費類設備中,觸摸屏顯示器正變得越來越普遍。例如,在過去的十年中,桌面監(jiān)視器(desktop monitor)和手持式裝置已經并入了多點觸摸面(mult1-touch surface),用戶能夠與這些多點觸摸面交互,以向底層裝置提供輸入信息。多點觸摸面的一個有趣的方面是控制多個自由度的能力。例如,傳統(tǒng)的矩形操縱包括分別通過對一個或更多個接觸點進行拖拽、旋轉或者膨脹/收縮來在多點觸摸面上進行的平移、旋轉以及按比例調整操作。這樣,用戶可以通過輕擊、拖拽、膨脹、收縮或者旋轉多點觸摸面上的一個或更多個接觸點來經由多點觸摸面與應用進行交互。在多點觸摸面上進行這些操作通常比利用傳統(tǒng)輸入/輸出裝置進行這些操作更高效。
[0006]盡管觸摸屏顯示器的普及性已經提高,但是很多應用包括沒有針對接收基于觸摸的輸入而進行優(yōu)化的用戶界面。例如,應用可以包括傳統(tǒng)菜單欄和/或傳統(tǒng)工具欄,該傳統(tǒng)菜單欄和/或傳統(tǒng)工具欄包括用戶難以準確進行選擇的小圖標。與傳統(tǒng)的鼠標輸入相比,用戶準確地觸摸特定位置的能力降低到下述程度:在用戶嘗試使用觸摸屏顯示器與界面交互時,可能選擇錯誤的工具。
[0007]如上所述,本領域所需的是用于無縫地調整用戶界面、使得用戶界面對于基于觸摸的輸入而言更加可訪問(accessible)的系統(tǒng)。
【發(fā)明內容】
[0008]本發(fā)明的一個實施例闡述了用于顯示一個或更多個基于觸摸的圖形用戶界面元素的計算機實現的方法。該方法總體上包括如下步驟:執(zhí)行應用,該應用使圖形用戶界面顯示在與裝置相關聯(lián)的觸摸屏顯示器上,其中,圖形用戶界面被配置成與一個或更多個傳統(tǒng)輸入裝置交互;以及確定用戶是否意圖經由觸摸屏顯示器向裝置提供輸入。步驟還包括:如果用戶意圖經由觸摸屏顯示器提供輸入,則在圖形用戶界面的上方顯示一個或更多個基于觸摸的圖形用戶界面元素,或者如果用戶意圖經由一個或更多個傳統(tǒng)輸入裝置中的一個傳統(tǒng)輸入裝置向裝置提供輸入,則隱藏一個或更多個基于觸摸的圖形用戶界面元素。每個基于觸摸的圖形用戶界面元素對應于圖形用戶界面內所包括的不同的傳統(tǒng)圖形用戶界面元素,并且每個傳統(tǒng)圖形用戶界面元素是針對一個或更多個傳統(tǒng)輸入裝置中的一個不同的傳統(tǒng)輸入裝置來配置的。
[0009]另一實施例闡述了一種包含程序的計算機可讀介質,該計算機可讀介質包含下述程序:該程序在被處理器執(zhí)行時,進行用于顯示一個或更多個基于觸摸的圖形用戶界面元素的操作。又一實施例闡述了用于顯示一個或更多個基于觸摸的圖形用戶界面元素的系統(tǒng)。
[0010]所公開技術的一個優(yōu)點是:不需要為了能夠針對遺留應用(Iegacyapplication)實現基于觸摸的圖形用戶界面元素而對該應用進行重新設計。程序員可將附加的功能性構建到遺留應用中,或者設計獨立且不同的應用擴展,該獨立且不同的應用擴展與遺留應用并行執(zhí)行并且提供針對基于觸摸的圖形用戶界面的界面。所公開技術的另一個優(yōu)點是:當用戶意圖使用基于觸摸的GUI元素時顯示這些GUI元素,而當用戶以符合應用的圖形用戶界面的原始設計的方式提供輸入時隱藏這些GUI元素。下面闡述的技術高效地使用戶在兩種不同類型的輸入之間切換。對于一些操作(如選擇各種選項或者滾動文檔),基于觸摸的輸入可能更高效,而對于其他操作(如輸入文本),使用傳統(tǒng)輸入裝置可能更高效。系統(tǒng)允許對于單個應用基本上同時使用兩種圖形用戶界面。
【專利附圖】
【附圖說明】
[0011]為了能夠詳細地理解本發(fā)明的如上所述的特征,可以參照實施例對在上文中做了簡要概述的本發(fā)明做出更具體的描述,附圖中示出了其中的一些實施例。然而,需要注意的是,附圖僅示出了本發(fā)明的典型實施例,并且,由于本發(fā)明可以允許其他同樣高效的實施例,因此附圖不應被視為對本發(fā)明的范圍的限制。
[0012]圖1是被配置為實現本發(fā)明的一個或更多個方面的系統(tǒng)的框圖;
[0013]圖2A和圖2B分別是根據本發(fā)明的一個實施例的觸摸屏桌面環(huán)境的前視圖和側視圖;
[0014]圖3示出了根據本發(fā)明的一個實施例的、由應用生成的并且在顯示裝置上顯示的圖形用戶界面;
[0015]圖4示出了根據本發(fā)明的一個實施例,應用如何檢測靠近顯示裝置的手指;
[0016]圖5示出了根據本發(fā)明的一個實施例的、用于顯示針對基于觸摸的輸入而優(yōu)化了的圖形用戶界面元素的技術;
[0017]圖6示出了根據本發(fā)明的一個實施例的、用于將傳統(tǒng)圖形用戶界面元素與由應用顯示的基于觸摸的圖形用戶界面元素的集合相關聯(lián)的過程;
[0018]圖7A示出了根據本發(fā)明的一個實施例,應用如何基于與靠近顯示裝置的手指相關聯(lián)的運動向量來確定目標位置;
[0019]圖7B示出了根據本發(fā)明的一個實施例的、重疊在圖形用戶界面中的工具欄的上方的基于觸摸的工具欄;
[0020]圖8A和圖SB示出了根據本發(fā)明的一個實施例的、用于使工具欄膨脹的方法;
[0021]圖9示出了根據本發(fā)明的又一實施例的、用于估計工具欄的膨脹中心的不同的算法;
[0022]圖10示出了根據本發(fā)明的另一示例實施例的、用于僅膨脹工具欄的一部分的方法;
[0023]圖11是根據本發(fā)明的一個示例實施例的、用于在應用中顯示基于觸摸的圖形用戶界面元素的方法步驟的流程圖;以及
[0024]圖12是根據本發(fā)明的一個示例實施例的、用于估計與圖形用戶界面相關聯(lián)的目標位置的方法步驟的流程圖。
【具體實施方式】
[0025]在以下描述中,闡述了大量的具體細節(jié)以提供對本發(fā)明的更透徹的理解。然而,對于本領域普通技術人員來說將會明顯的是,可以在不具有這些具體細節(jié)中的一個或更多個具體細節(jié)的情況下實施本發(fā)明。在其他實例中,為了避免使本發(fā)明不清楚,沒有對公知的特征進行描述。
[0026]系統(tǒng)總覽
[0027]圖1是被配置成實現本發(fā)明的一個或更多個方面的系統(tǒng)100的框圖。系統(tǒng)100可以是計算機工作站、個人計算機、視頻游戲控制臺或者適合于實施本發(fā)明的一個或更多個實施例的任何其他裝置。
[0028]如所示出的那樣,系統(tǒng)100包括經由總線路徑進行通信的一個或更多個處理單元(如中央處理單元(CPU) 102)以及系統(tǒng)存儲器104,其中總線路徑可以包括存儲器橋105。CPU102包括一個或更多個處理內核,并且,在操作中,CPU102是系統(tǒng)100的主處理器,從而控制并協(xié)調其他系統(tǒng)部件的操作。系統(tǒng)存儲器104存儲由CPU102使用的軟件應用和數據。CPU102運行軟件應用,并且可選地運行操作系統(tǒng)??梢宰鳛槔绫睒蛐酒拇鎯ζ鳂?05經由總線或者其他通信路徑(例如,超傳輸鏈路)而連接到1/0(輸入/輸出)橋107??梢宰鳛槔缒蠘蛐酒腎/O橋107從一個或更多個用戶輸入裝置(如鍵盤108或者鼠標109)接收用戶輸入,并且經由存儲器橋105將輸入轉發(fā)到CPU102。在可替選的實施例中,I/O橋107還可以連接到其他輸入裝置,如操縱桿、數字化板、觸摸板、觸摸屏、照相機或者視頻攝像機、運動傳感器、和/或麥克風(未示出)。
[0029]一個或更多個顯示處理器(如顯示處理器112)經由總線或者其他通信路徑(例如,PCI Express? (串行總線? )、加速圖形端口或者Hyper Transport?
(超傳輸? )鏈路)被耦接至存儲器橋105 ;在一個實施例中,顯示處理器112是包括至少一個圖形處理單元(GPU)和圖形存儲器的圖形子系統(tǒng)。圖形存儲器包括用于存儲輸出圖像的每個像素的像素數據的顯示存儲器(例如,幀緩沖器)。圖形存儲器能夠被集成在與GI3U相同的裝置中、作為單獨的裝置與GPU連接和/或被實現在系統(tǒng)存儲器104內。
[0030]顯示處理器112周期性地向顯示裝置110傳遞像素。顯示處理器112能夠為顯示裝置110提供模擬或者數字信號。顯示裝置110可以包括觸摸屏顯示裝置,如具有集成傳感器的任何傳統(tǒng)CRT或者LED監(jiān)視器,該集成傳感器用于檢測觸摸該監(jiān)視器的顯示區(qū)域的用戶的存在和位置。顯示裝置110可以向顯示處理器112或者CPU102提供手勢識別輸入。
[0031]系統(tǒng)盤114也連接到I/O橋107,并且可以配置成存儲由CPU102和顯示處理器112使用的內容和應用以及數據。系統(tǒng)盤114提供對于應用和數據的非易失性存儲,并且可以包括固定的或者可移動的硬盤驅動器、閃存裝置以及⑶-R0M、DVD-R0M、Blu-ray (藍光盤)、HD-DVD或者其他磁性、光學或者固態(tài)存儲裝置。
[0032]開關116提供I/O橋107與其他部件(如網絡適配器118以及各種內插式卡120和121)之間的連接。網絡適配器118使系統(tǒng)100能夠經由電子通信網絡與其他系統(tǒng)進行通信,并且可以包括通過局域網和廣域網(如因特網)的有線或者無線通信。
[0033]包括USB或者其他端口連接、膠片記錄裝置等的其他部件(未示出)也可以連接到I/O橋107。例如,音頻處理器可以用于根據由CPU102、系統(tǒng)存儲器104或者系統(tǒng)盤114提供的指令和/或數據來生成模擬或者數字音頻輸出。將圖1中的各種部件進行互連的通信路徑可以使用任何適合的協(xié)議(如外圍部件互連(PCI)、PCI Express ( PCIe? )、AGP (加
速圖形端口)、 HyperTransport?、 或者任何其他總線或者點對點通信協(xié)議)來實現,
并且不同的裝置之間的連接可以使用本領域中已知的不同協(xié)議來實現。
[0034]在一個實施例中,顯示處理器112并入了針對圖形和視頻處理而優(yōu)化了的電路(該電路包括例如視頻輸出電路),并且構成了圖形處理單元(GPU)。在另一實施例中,顯示處理器112并入了針對通用目的的處理而優(yōu)化了的電路。在又一實施例中,顯示處理器112可以與一個或更多個其他系統(tǒng)元件(如存儲器橋105、CPU102以及I/O橋107)集成在一起以形成片上系統(tǒng)(SoC)。在再一實施例中,顯示處理器112被省略,并且由CPU所102執(zhí)行的軟件來執(zhí)行顯示處理器112的功能。
[0035]可以直接從CPU102向顯示處理器112提供像素數據。在本發(fā)明的一些實施例中,經由網絡適配器118或者系統(tǒng)盤114,將表示場景的指令和/或數據提供到渲染平臺(render farm)或者一組服務器計算機,其中每個均與系統(tǒng)100類似。渲染平臺使用所提供的指令和/或數據生成該場景的一個或更多個渲染圖像。這些渲染圖像可以以數字格式被存儲在計算機可讀介質上,并且可以可選地被返回到系統(tǒng)100以用于顯示。類似地,由顯示處理器112處理的渲染圖像可以輸出至其他系統(tǒng)以用于顯示、存儲在系統(tǒng)盤114中或者以數字格式存儲在計算機可讀介質上。
[0036]可替選地,CPU102為顯示處理器112提供對期望的輸出圖像進行限定的數據和/或指令,其中顯示處理器112根據這些數據和/或指令來生成一個或更多個輸出圖像的像素數據。對期望的輸出圖像進行限定的數據和/或指令可存儲在顯示處理器112內的圖形存儲器或者系統(tǒng)存儲器104中。在一個實施例中,顯示處理器112包括根據用于限定場景的幾何形狀、光影(lighting shading)、紋理、運動和/或相機參數的指令和數據來生成用于輸出圖像的像素數據的3D渲染能力。顯示處理器112可以還包括能夠執(zhí)行著色器(shader)程序、色調映射程序等的一個或更多個可編程執(zhí)行單元。
[0037]應用150被存儲在系統(tǒng)存儲器104中。應用150可以是被配置成在顯示裝置110上顯示圖形用戶界面(⑶I)的任何應用。例如,應用150可以是通用文本編輯應用,如Microsoft? (微軟?)Word。通常,包括在應用150內的GUI針對傳統(tǒng)輸入裝置(如鍵盤108和鼠標109)進行了優(yōu)化。例如,當在顯示裝置110上顯示時,應用150的工具欄內的圖標可以是5mm乘5mm的大小,這在使用基于觸摸的輸入的情況下是不容易選擇的。很多傳統(tǒng)GUI元素都不容易根據基于觸摸的輸入而被選擇或者修改。
[0038]應該認識到,本文中示出的系統(tǒng)是說明性的,并且可以進行變化和修改??梢詫B接拓撲(包括橋的數目和布置)進行如所需要地修改。例如,在一些實施例中,系統(tǒng)存儲器104可以直接地而不是通過橋來連接到CPU102,并且其他裝置可以經由存儲器橋105和CPU102與系統(tǒng)存儲器104通信。在其他可替選的拓撲中,顯示處理器112可以連接到I/O橋107或者直接連接到CPU102,而不是連接到存儲器橋105。在又一其他實施例中,I/O橋107和存儲器橋105可以集成在單個芯片中。另外,本文中示出的具體部件是可選的。例如,可以支持任何數目的內插式卡或者外圍裝置。在一些實施例中,省去了開關116,并且網絡適配器118和內插式卡120、121直接連接到I/O橋107。
[0039]圖2A和圖2B分別是根據本發(fā)明的一個實施例的觸摸屏桌面環(huán)境200的前視圖和側視圖。如所示出的那樣,觸摸屏桌面環(huán)境200包括但不限于顯示裝置110和鍵盤108。在一個實施例中,顯示裝置110被垂直地定位于桌面表面210上,從而面對最終用戶。鍵盤108可以被定位于顯示裝置110和用戶之間的桌面表面210的上方。在其他實施例中,顯示裝置110可以是非傳統(tǒng)顯示器,如包括接近傳感器的聚焦在墻上的投影儀、iPad?或其他平板計算機、或者移動裝置(如具有觸敏屏幕的手機)。
[0040]在一個實施例中,顯示裝置110的前表面實現了包括多點觸摸手勢識別能力的觸敏區(qū)域。最終用戶可以使用一個或更多個手指來進行用于啟動各操作(如旋轉、按比例調整、縮放)的各種手勢。顯示裝置110包括在多點觸摸面上顯示圖形和視頻的能力。另外,顯示裝置110可以集成傳感器225,該傳感器225使顯示裝置110能夠檢測屏幕的表面上方的物體的存在。例如,一些制造商生廣了電各式屏.,該電各式屏.集成了能夠檢測多點觸摸面的表面上方大約20mm的手指的位置的光學傳感器的陣列。在其他實施例中,顯示裝置110可以集成用于檢測觸敏表面附近的手指的位置的任何其他技術上可行的技術。例如,可以沿著顯示裝置110的周界放置兩個或更多個攝像裝置,并且可以用圖像識別軟件來估計多點觸摸面附近的物體的坐標。在另一示例中,對深度敏感的攝像裝置(如與紅外激光投影儀集成的CMOS傳感器)可以用于判斷距觸敏表面的距離。
[0041]如圖2B所示,當用戶在傳感器225的范圍內移動其手指250時,傳感器225可以檢測手指250相對于多點觸摸面的大概位置。在一個實施例中,傳感器225確定與用戶的手指250相關聯(lián)的相對于顯示裝置110的X坐標、y坐標和z坐標。另外,由于傳感器225追蹤用戶的手指250的位置,因此可以計算出運動向量260,運動向量260指示朝多點觸摸面上的點的運動的方向。在一個實施例中,傳感器225被配置成以諸如IOOHz的低速率(即,傳感器225 —秒計算手指的x、y和z坐標100次)追蹤用戶的手指250的位置。CPU102可以被配置成基于傳感器225的最后兩個米樣坐標來生成運動向量260。在可替選的實施例中,可以基于傳感器225的多于兩個樣本來生成運動向量260。例如,CPU102可以基于傳感器225的三個或更多個樣本來生成運動向量260,從而選擇針對采樣的位置坐標產生了最小均方誤差的運動向量260??梢詫⑦\動向量260按比例調整,以使運動向量260與和顯示裝置110的表面相關聯(lián)的平面相交。應當認識到,傳感器225可以被配置成追蹤靠近顯示裝置110的表面的任何物體。例如,用戶可以使用手寫筆(stylus)而不是手指來提供基于輸入的觸摸。
[0042]在一個實施例中,使顯示裝置110能夠檢測多點觸摸輸入。例如,用戶可以觸摸顯示裝置110的表面上的兩個或更多個點以提供多點觸摸輸入。各種多點觸摸手勢是本領域公知的。在這種實施例中,傳感器225可以被配置成追蹤多個物體,如多個手指??梢曰谧羁拷@示裝置110的物體來確定運動向量260。在可替選的實施例中,運動向量260可以基于針對多個物體而計算的兩個或更多個運動向量的一些組合。例如,可以基于兩個或更多個運動向量的平均來計算運動向量260。
[0043]圖3示出了根據本發(fā)明的一個實施例的由應用(Application) 150生成的并且在顯示裝置Iio上顯示的圖形用戶界面300。如所示出的那樣,應用150是文本編輯應用,該文本編輯應用實現了 GUI300,并包括菜單欄310和工具欄320。在可替選的實施例中,應用150可以是某種其他類型的應用,如計算機輔助設計(CAD)應用、電子制表應用或者電子郵件應用。
[0044]菜單欄310包括如文件(File)菜單、編輯(Edit)菜單以及幫助(Help)菜單的菜單項。當用戶使用鼠標109或者鍵盤108的熱鍵組合來選擇菜單項中的一個菜單項時,可以出現下拉菜單,其提供與應用150的各種功能相關聯(lián)的附加的GUI元素。例如,當用戶選擇文件菜單時,可以出現包括如打開、保存以及另存的GUI元素的下拉列表,其中,這些GUI元素在由用戶選擇時被配置成使得顯示對話框以用于進行各種文件系統(tǒng)操作。工具欄320也包括多個⑶I元素。如圖3所示,工具欄320包括一個或更多個工具欄圖標322以及一個或更多個組合框324(即,單行文本框與下拉列表框的組合)。這種工具欄圖標322可以包括保存圖標、打印圖標、以及與文本字體相關的各種類型圖標,如粗體圖標、斜體圖標、和下劃線圖標。組合框324可以包括用于選擇特定的字體或者字體大小的⑶I元素。應該認識到,在菜單欄310或者工具欄320中可以包括其他類型的⑶I元素。而且,提供了圖3中示出的GUI300的具體設計以說明本發(fā)明的各種技術,并且不應當將該具體設計解釋成將本發(fā)明限于該具體GUI。本公開內容的范圍構思了其他GUI設計以及本領域已知的其他類型的⑶I元素。例如,其他類型的⑶I元素包括單選按鈕和下拉列表。
[0045]如圖3所示,⑶1300是為從傳統(tǒng)輸入裝置(如鍵盤108和鼠標109)接收輸入而設計的??梢詾榱艘子谂c基于觸摸的輸入一起使用而設計GUI元素,例如通過設計具有對應于由基于觸摸的感測技術提供的準確度的最小尺寸的工具欄圖標322來進行上述設計。例如,通過研究基于用戶的特性并且將特性與電容式觸摸屏傳感器的靈敏度相比較,Gn設計者可以確定用戶能以IOmm的準確度來選擇屏幕上的點。因此,為基于觸摸的輸入而設計的任何⑶I元素應該被設計成具有10_的準確度期望值。這種⑶I元素可能太大而不能在一個屏幕上為用戶有效地提供所有常用的功能。理想地,應用150可以被配置成:當用戶提供基于觸摸的輸入時顯示針對基于觸摸的輸入而優(yōu)化了的GUI元素,并且反之當用戶使用鍵盤和鼠標提供傳統(tǒng)輸入時顯示傳統(tǒng)GUI元素。下面對用于向用戶顯示基于觸摸的GUI元素的兩種這樣的技術進行討論。
[0046]觸摸剪切(TouchCuts)
[0047]圖4示出了根據本發(fā)明的一個實施例,應用150如何檢測靠近顯示裝置110的手指250。用戶可以啟動計算機系統(tǒng)100上的應用150。應用150使⑶1300在顯示裝置110上顯示。雖然應用150被配置成經由鍵盤108和鼠標109接收輸入,但是應用150還可以被配置成從顯示裝置110接收基于觸摸的輸入。
[0048]如圖4所示,用戶可以通過用用戶的手指250觸摸顯示裝置110的觸敏區(qū)域來提供基于觸摸的輸入。在一個實施例中,顯示裝置Iio包括傳感器225,當用戶的手指250靠近顯示裝置110的觸敏區(qū)域時,傳感器225可以感應到。例如,在一個實施例中,顯示裝置110可以包括當手指250在顯示裝置110的表面20mm之內時檢測到該手指的能力。當傳感器225檢測到手指250的存在時,傳感器225向應用150發(fā)送手指250的位置。傳感器225可以被配置成以規(guī)律的間隔向應用150發(fā)送新的位置直到傳感器225不再能夠檢測到手指250為止,這指示手指250不再靠近顯示裝置110的觸敏區(qū)域。
[0049]應用150可以被配置成基于從傳感器225接收的坐標來生成運動向量260。例如,運動向量260可以是由從傳感器225接收的第一組坐標指向從傳感器225接收的第二組坐標的向量。因此,運動向量260表示當用戶向觸摸顯示裝置110移動時手指250的方向?;谶\動向量260,應用150可以計算與⑶1300相關聯(lián)的目標位置450,目標位置450表示用戶正嘗試觸摸的顯示裝置110上的預測點。例如,應用150可以被配置成確定運動向量260與顯示裝置110的表面(B卩,由z坐標是O的所有的點形成的平面)的交叉點。因此,目標位置450表示對用戶正在以⑶1300的哪個元素為目標的估計。
[0050]應該認識到,用戶的手指250越靠近顯示裝置110的表面,目標位置450可以越準確。另外,估計算法的準確度受到位置信息的采樣頻率、影響計算的樣本的數目以及手指距顯示裝置110的表面的相對距離所影響。
[0051]圖5示出了根據本發(fā)明的一個實施例的用于顯示針對基于觸摸的輸入而優(yōu)化了的Gn元素的技術。在一個實施例中,當應用150檢測到手指250靠近顯示裝置110時,應用150使一個或更多個基于觸摸的⑶I元素顯示在⑶1300之上。例如,應用150使基于觸摸的圖標512和514重疊在⑶1300的上方?;谟|摸的圖標512對應于⑶1300中的粗體圖標,并且基于觸摸的圖標514對應于GUI300中的下劃線圖標。
[0052]在另一實施例中,觸發(fā)事件使應用150顯示基于觸摸的⑶I元素。在一個實施例中,在不需要深度感測的情況下,只要用戶第一次觸摸顯示裝置110的表面時就可以檢測到觸發(fā)事件。如果目標位置450的坐標靠近與各基于觸摸的GUI元素中的一個相關聯(lián)的⑶1300的元素,則可以顯示基于觸摸的⑶I元素。在另一實施例中,只要傳感器225檢測到靠近顯示裝置110的手指250時,就可以檢測到觸發(fā)事件。在又一實施例中,觸發(fā)事件可以將手指250的位置的z坐標與閾值進行比較。例如,只要手指250來到顯示裝置110的IOmm距離內時就可以發(fā)生觸發(fā)事件。盡管傳感器225可以能夠檢測到比閾值遠得多的手指250,但是使觸發(fā)事件基于閾值反映了用戶正意圖觸摸顯示裝置110的更高可能性。在另一實施例中,僅當以距顯示裝置110的閾值將手指250定位在屏幕的特定區(qū)域內時,才可以發(fā)生觸發(fā)事件。例如,當手指250在顯示裝置110的IOmm之內并且位置的y坐標也在第二閾值之上(例如,手指正靠近屏幕的上半部分)時,發(fā)生觸發(fā)事件。
[0053]在又一實施例中,可以基于兩個或更多個閾值來限定多個觸發(fā)事件。每個觸發(fā)事件可以使得以不同的比例因子來顯示基于觸摸的GUI元素。例如,當手指250距顯示裝置110的表面小于第一閾值距離時,第一觸發(fā)事件使得以50%的比例來顯示基于觸摸的⑶I元素,這仍然可以比⑶1300的傳統(tǒng)⑶I元素大。當手指250接著距顯示裝置110的表面小于比第一閾值小的第二閾值距離時,第二觸發(fā)事件使得以100%的比例來顯示基于觸摸的⑶I元素。
[0054]應該認識到,觸發(fā)事件不要求目標預測(即,確定手指250的運動向量260與顯示裝置Iio之間的估計交叉點)。基于觸摸的⑶I元素的集合被顯示在重疊在⑶1300上的位置,該位置獨立于任何類型的目標位置450。
[0055]在一個實施例中,基于觸摸的圖標(例如,512和514)被顯示在⑶1300中相關聯(lián)的Gn元素的上方?;谟|摸的圖標可以是不透明的或者部分透明的。在可替選的實施例中,基于觸摸的GUI元素可以被顯示在顯示裝置110上的不同的位置。例如,所有的基于觸摸的圖標可以被對準到GUI300的左上。可替選地,用戶可以使用來自鼠標109的輸入或者基于觸摸的輸入來確定基于觸摸的⑶I兀素被定位于顯不裝置110上的何處。在又一其他實施例中,如果在觸發(fā)事件之后用戶將其手指250懸停在顯示裝置的表面上方,則可以顯示與基于觸摸的CTI元素相關聯(lián)的提示信息(tooltip)。例如,包括文本“粗體”的提示信息可以出現在基于觸摸的圖標512旁邊。
[0056]當檢測到觸發(fā)事件時,基于觸摸的圖標512和514被包括在由應用150顯示的基于觸摸的GUI元素的集合中?;谟|摸的GUI元素的集合可以由應用150自動地配置,或者可以由應用150的用戶手動地配置。例如,基于觸摸的⑶I元素的集合可以對應于⑶1300的最常用的GUI元素??商孢x地,當應用150被第一次啟動時,基于觸摸的GUI元素的集合可以為空,并且用戶手動地選擇將哪個基于觸摸的GUI元素添加到集合,其中每個基于觸摸的⑶I元素對應于⑶1300中的一個⑶I元素。
[0057]圖6示出了根據本發(fā)明的一個實施例的用于將傳統(tǒng)GUI元素與由應用150顯示的基于觸摸的GUI元素的集合相關聯(lián)的過程。現在,基于觸摸的組合框612被包括在由應用150顯示的基于觸摸的⑶I元素的集合中。在一個實施例中,用戶在靠近⑶1300的組合框324(即,字體大小組合框)的位置觸摸顯示裝置110。用戶通過經由鍵盤108的某種鍵擊組合或者經由鼠標109的鼠標輸入來指示應該將與組合框324對應的基于觸摸的GUI元素添加到基于觸摸的GUI元素的集合。例如,用戶可以敲擊如“F8”的熱鍵來指示基于觸摸的GUI元素應該被添加到基于觸摸的GUI元素的集合。當用戶已經將基于觸摸的GUI元素612添加到了基于觸摸的GUI元素的集合時,只要應用150檢測到觸發(fā)事件時,就在GUI300之上顯示基于觸摸的GUI元素的集合中的每個基于觸摸的GUI元素。
[0058]用戶可以指定將⑶1300的哪些傳統(tǒng)⑶I元素包括在由應用150顯示的基于觸摸的⑶I元素的集合中。在一個實施例中,為了將⑶1300中的⑶I元素與由應用150顯示的基于觸摸的GUI元素相關聯(lián),用戶可以輕擊靠近用戶希望包括到基于觸摸的GUI元素的集合中的那個期望GUI元素的顯示裝置110。接著,用戶可以經由鼠標109來點擊并且拖拽光標,以限定基于觸摸的GUI元素的期望大小。類似地,為了從由應用150顯示的基于觸摸的GUI元素的集合中移除基于觸摸的GUI元素,用戶可以輕擊基于觸摸的GUI元素,隨后用鼠標109選擇基于觸摸的GUI元素。
[0059]如上所述,響應于檢測到觸發(fā)事件來顯示基于觸摸的GUI元素的技術使得能夠對于遺留應用來高效地使用基于觸摸的輸入。重要的是,基于觸摸的GUI元素僅需要當系統(tǒng)檢測到用戶正意圖使用基于觸摸的輸入時進行顯示。然而,因為可用的屏幕空間有限,因此基于觸摸的GUI元素的增加的尺寸可能會使優(yōu)化所有可用的GUI元素是不切實際的。下面對用于顯示基于觸摸的GUI的另一技術進行描述。
[0060]觸摸變焦(TouchZoom)
[0061]圖7A示出了根據本發(fā)明的一個實施例,應用150如何基于與靠近顯示裝置110的手指250相關聯(lián)的運動向量260來確定目標位置450。如圖7A所示,應用150基于運動向量260與顯示裝置110的觸敏表面的交叉點來確定目標位置450。例如,應用150確定手指250的兩個連續(xù)位置(即,每個位置包括手指250的X坐標、y坐標和z坐標),并且基于兩個位置之間的差異來計算運動向量260。接著,運動向量260被按比例調整,以使運動向量與顯示裝置110的觸敏表面(即,對應于z坐標等于O處的平面)相交。運動向量260與顯示裝置110的多點觸摸表面之間相交的點被確定為目標位置450。
[0062]在一個實施例中,應用150確定工具欄中要膨脹成基于觸摸的工具欄的那個部分。例如,如圖7A所示,應用150選擇工具欄320中與基于目標位置450的膨脹中心715相對應的部分710。膨脹中心是對應于目標位置450的X坐標處的工具欄320的上方。因此,當顯示基于觸摸的工具欄時,基于觸摸的工具欄呈現為從工具欄320的上方向下膨脹。
[0063]圖7B示出了根據本發(fā)明的一個實施例的重疊在⑶1300中的工具欄320的上方的基于觸摸的工具欄750。如圖7B所示,工具欄750是工具欄320的兩倍大。工具欄750的大小被定為適合于基于觸摸的輸入。應該認識到,工具欄750僅包括下述的基于觸摸的⑶I元素:這些基于觸摸的⑶I元素對應于在工具欄320中的與圖7A中的膨脹中心715相對應的部分710內的那些GUI元素。與如上所述的觸摸剪切不同,觸摸變焦使得能夠訪問⑶1300中的靠近估計的目標位置450的每個⑶I元素。該操作甚至在對目標位置450的估計具有輕微誤差的情況下也能確保膨脹所期望的基于觸摸的GUI元素。
[0064]在一個實施例中,工具欄320可以相對于顯示裝置110上的目標位置450的位置而膨脹。圖8A和圖SB示出了根據本發(fā)明的一個實施例的使工具欄320膨脹的方法。如圖8A所示,目標位置450被定位于顯示裝置110的最左側邊緣。在此情況中,工具欄320的部分810完全位于膨脹中心815的右側。如圖8B所示,工具欄850的左邊緣對應于工具欄320的部分810的左邊緣。換言之,工具欄320向下并且向右膨脹,以顯示與工具欄320中的各種GUI元素對應的基于觸摸的GUI元素。
[0065]在另一實施例中,基于目標位置450的相對于顯示裝置110的不同區(qū)的位置而使用不同的技術來使工具欄320膨脹。如果目標位置450位于被限定為靠近顯示裝置110的左邊緣的區(qū)域的邊緣區(qū)內,則工具欄320的膨脹中心815位于顯示裝置110的左邊緣上,并且工具欄850向下且向右膨脹。類似地,如果目標位置450位于被限定為靠近顯示裝置110的右邊緣的區(qū)域的另一邊緣區(qū)內,則工具欄320的膨脹中心815位于顯示裝置110的右邊緣上,并且工具欄850向下且向左膨脹。例如,邊緣區(qū)可以被限定成顯示裝置110的邊緣的50mm內的任意處。如果目標位置450位于顯示裝置110的邊緣的50mm內,貝U無論目標位置450實際上位于邊緣區(qū)內的何處,工具欄320的膨脹中心815都位于顯示裝置110的邊緣處。
[0066]另外,如果目標位置450位于顯示裝置110的中心區(qū)內,則膨脹中心對應于目標位置450,并且工具欄320從膨脹中心815在兩個方向上均勻地膨脹。在邊緣區(qū)和中心區(qū)之間可以限定緩沖區(qū),其中,與中心區(qū)類似,膨脹中心815對應于目標位置450,但是與在中心區(qū)中不同的是,工具欄320圍繞膨脹中心815非均勻地膨脹。例如,如果邊緣區(qū)被限定為距顯示裝置110的左邊緣為從Omm至30mm、緩沖區(qū)被限定為距顯示裝置110的左邊緣為從30mm至50mm、并且應用150將目標位置450估計為距顯示裝置110的左邊緣40臟,則將會選擇部分810,以使得部分810的25%位于膨脹中心815的左側并且部分810的75%位于膨脹中心815的右側。在膨脹中心815 —側的部分810的百分比與在膨脹中心另一側的部分810的百分比相比在緩沖區(qū)上從0% (在目標位置450在邊緣區(qū)之內的情況下)線性地變化到50% (在目標位置450在中心區(qū)之內的情況下)。[0067]圖9示出了根據本發(fā)明的又一實施例的用于估計工具欄320的膨脹中心的不同的算法。工具欄320被分割成多個⑶I元素組。如圖9所示,工具欄320包括四個不同的⑶I元素組,即組910、組920、組930以及組940。在該方法中,應用150可以基于目標位置450最靠近哪個組來確定膨脹中心815。在一個實施例中,應用150確定目標位置450是否與⑶I元素組(910、920等)中的一個⑶I元素組相交。如果目標位置450位于顯示裝置110中的工具欄320的⑶I元素組內的像素位置處,則目標位置450與一個⑶I元素組相交。在另一實施例中,應用150確定目標位置450與各個⑶I元素組(即,工具欄320的GUI元素組內的任何像素)之間的最近距離。GUI元素組內的像素集合包括被包括在該組內的GUI元素中的那些像素以及被包括在該組內的GUI元素之間的工具欄320的背景中的那些像素。
[0068]一旦應用150確定工具欄320中的哪個⑶I元素組(910、920等)最靠近目標位置450,那么工具欄320就基于與該⑶I元素組相關聯(lián)的膨脹中心而膨脹。例如,針對組910的膨脹中心可以位于組910的左邊緣的上方。針對組920和930的膨脹中心可以位于這些⑶I元素組的中央的上方。針對組940的膨脹中心可以位于組940的右邊緣的上方。在一個實施例中,類似于工具欄750或者工具欄850那樣,整個工具欄320膨脹。
[0069]在可替選的實施例中,僅工具欄320的一部分膨脹。圖10示出了根據本發(fā)明的另一示例實施例的用于僅使工具欄320的一部分膨脹的方法。如圖10所示,僅工具欄320的一部分膨脹成基于觸摸的工具欄1050。盡管沒有明確地示出,但是基于觸摸的工具欄1050對應于目標位置450,該目標位置450與工具欄320中的GUI元素組920相交或者最靠近該⑶I元素組920 (如圖9所示)。⑶I元素組920的膨脹中心是⑶I元素組920的中心像素的上方。這樣,基于觸摸的工具欄1050位于大約以組920的膨脹中心為中心的位置處。
[0070]在一個實施例中,工具欄320可以包括被配置成功能性降低控件(functionalityreduction controls)的⑶I元素。功能性降低控件可以被配置成當用戶使用傳統(tǒng)輸入裝置來提供輸入時具有某些功能。然而,如果工具欄320基于對靠近顯示裝置110的物體的檢測而膨脹,則⑶I元素可以轉變成與工具欄320的原始⑶I元素的印跡(footprint)相同但是功能性降低的基于觸摸的GUI元素。例如,如果工具欄包括被配置成功能性降低控件的調色板,則該調色板可以用多個顏色選擇圖標來代替,這些顏色選擇圖標使用戶僅能夠從調色板挑選預配置顏色的子集。用戶能夠使用基于觸摸的輸入來快速選擇預配置顏色(如8個主要顏色)中的一個,或者使用傳統(tǒng)鼠標輸入從調色板選擇可用的顏色(如256個可用的顏色)中的一個。
[0071]應該認識到,可以通過對針對完全傳統(tǒng)的GUI元素設計的遺留應用程序進行修改來實現以上與觸摸剪切和觸摸變焦相結合地描述的技術。可替選地,可以設計下述應用擴展:該應用擴展與應用150交互,從而在效果上在由應用150顯示的⑶I的上方顯示獨立的⑶I。獨立的⑶I捕獲從顯示裝置110接收的基于觸摸的輸入,處理該基于觸摸的輸入以確定與該基于觸摸的輸入相關聯(lián)的應用150中的特定GUI元素,并且向應用150發(fā)送與該特定的GUI元素相關聯(lián)的對應傳統(tǒng)輸入。在效果上,應用擴展攔截基于觸摸的命令,并且將基于觸摸的命令轉換成適合于應用150的傳統(tǒng)命令。
[0072]圖11是根據本發(fā)明的一個示例實施例的用于在應用150中顯示基于觸摸的圖形用戶界面元素的方法步驟1100的流程圖。雖然結合圖1至圖10中的系統(tǒng)對方法步驟進行了描述,但是本領域普通技術人員將理解,配置成以任何順序來進行方法步驟的任何系統(tǒng)都在本發(fā)明的范圍內。
[0073]方法1100開始于步驟1110,在步驟1110,用戶啟動應用150,該應用150包括用于顯示為傳統(tǒng)輸入裝置(如鍵盤108或者鼠標109)而設計的⑶1300的指令。應用150由CPU102執(zhí)行,CPU102被耦接至包括觸摸屏能力的顯示裝置110。在步驟1112,CPU102確定用戶是否意圖經由顯示裝置110提供輸入。在一個實施例中,傳感器225檢測到用戶的手指250靠近被配置成接收基于觸摸的輸入的顯示裝置110的表面。傳感器225感測手指250距表面的距離。如果手指250在閾值距離之內,則CPU102確定用戶意圖提供基于觸摸的輸入。在另一實施例中,傳感器225追蹤手指250的位置,并且確定與⑶1300相關聯(lián)的目標位置450。如果目標位置450對應于⑶1300的特定位置,則CPU102確定用戶意圖提供基于觸摸的輸入。下面結合圖12對用于確定目標位置的技術進行描述。如果CPU102確定用戶沒有意圖提供基于觸摸的輸入,則該方法在步驟1112處等待。然而,如果CPU102確定用戶意圖提供基于觸摸的輸入,則方法1100進行至步驟1114。
[0074]在步驟1114,CPU102在顯示裝置110上的⑶1300的上方顯示一個或更多個基于觸摸的GUI元素。在一個實施例中,預定義了基于觸摸的GUI元素的集合,每個基于觸摸的⑶I元素對應于⑶1300的各傳統(tǒng)⑶I元素中的一個。當CPU102確定用戶意圖提供基于觸摸的輸入時,CPU102使得基于觸摸的兀素的集合被顯不。在一些實施例中,用戶可以手動地配置哪個傳統(tǒng)GUI元素應該與所顯示的基于觸摸的GUI元素的集合中的基于觸摸的GUI元素相關聯(lián)。在可替選的實施例中,CPU102使得基于觸摸的工具欄750顯示在⑶1300之上?;谟|摸的工具欄750對應于GUI300的工具欄320的膨脹版本。基于觸摸的工具欄750基于根據由CPU102計算的目標位置450來確定的膨脹中心715而膨脹。
[0075]在步驟1116,CPU102確定用戶是否意圖經由傳統(tǒng)輸入裝置(如鍵盤108和鼠標109)提供輸入。在一個實施例中,當傳感器225不再感測到用戶的手指250靠近顯示裝置110時,CPU102確定用戶意圖經由傳統(tǒng)輸入裝置提供輸入。在另一實施例中,CPU102可以一直等待,直到從傳感器225最后感測到用戶的手指250起經過了閾值時間為止。在又一實施例中,當用戶開始通過以鍵盤108打字或者通過移動鼠標109而提供輸入時,CPU102確定用戶意圖經由傳統(tǒng)輸入裝置提供輸入。如果CPU102確定用戶意圖經由傳統(tǒng)輸入裝置提供輸入,則方法1100進行至步驟1118,在步驟1118,CPU102隱藏一個或更多個基于觸摸的⑶I元素,以使傳統(tǒng)⑶1300被顯示在顯示裝置110上。
[0076]圖12是根據本發(fā)明的一個示例實施例的用于估計與圖形用戶界面300相關聯(lián)的目標位置450的方法步驟1200的流程圖。雖然結合圖1至圖10的系統(tǒng)對方法步驟進行了描述,但是本領域普通技術人員將理解,被配置成以任何順序來進行方法步驟的任何系統(tǒng)都在本發(fā)明的范圍內。
[0077]方法1200開始于步驟1210,在步驟1210,CPU102檢測到物體位于顯示裝置110附近。在一個實施例中,傳感器225被配置成每當物體(如手指250)位于顯示裝置110的表面附近時進行感測。顯示裝置110被配置成向CPU102發(fā)送信號,該信號包括關于靠近顯示裝置110的任何物體的位置的信息。在步驟1212,CPU102計算與物體相關聯(lián)的運動向量260。在一個實施例中,CPU102經由從顯示裝置110(即,顯示裝置110的傳感器225)接收的信息對物體的位置隨著時間進行采樣。運動向量260可以是物體在不同時間點的兩個或更多個位置之間的向量。
[0078]在步驟1214,CPU102確定目標位置450,該目標位置450指示用戶意圖觸摸的⑶1300中的估計位置。在一個實施例中,目標位置450基于運動向量260與顯示裝置110的表面的交叉點。在步驟1216,CPU102基于目標位置450來確定膨脹中心(715、815)。在一個實施例中,膨脹中心是對應于目標位置450的X坐標的工具欄320上方的點。在另一實施例中,膨脹中心是基于目標位置450在⑶1300內的位置而限定的點。例如,如果目標位置450在邊緣區(qū)之內,則膨脹中心在⑶1300的左邊緣或者右邊緣處位于工具欄320的上方。
[0079]總之,以上公開的技術提供了一種高效的技術,該高效的技術用于與針對從鍵盤和鼠標接收的傳統(tǒng)輸入而設計的應用相結合地提供針對基于觸摸的輸入而優(yōu)化了的GUI元素。當計算機系統(tǒng)檢測到用戶將要從傳統(tǒng)輸入裝置切換到觸敏輸入裝置時,顯示基于觸摸的GUI元素。當用戶利用傳統(tǒng)輸入裝置提供輸入時,隱藏基于觸摸的GUI元素,以使得基于觸摸的GUI元素不擾亂該應用的正常操作。
[0080]所公開技術的一個優(yōu)點是:不需要為了能夠針對遺留應用實現基于觸摸的GUI元素而對該應用進行重新設計。程序員可將附加的功能性構建到遺留應用中,或者設計獨立且不同的應用擴展,該獨立且不同的應用擴展與遺留應用并行執(zhí)行并且提供針對基于觸摸的GUI的界面。所公開技術的另一個優(yōu)點是:當用戶意圖使用基于觸摸的GUI元素時顯示這些GUI元素,而當用戶以符合應用的GUI的原始設計的方式提供輸入時隱藏這些GUI元素。這提供了一種透明的系統(tǒng),其高效地使用戶在兩種不同類型的輸入之間切換。對于一些操作(如選擇選項或者滾動文檔),基于觸摸的輸入可能更高效,而對于其他操作(如輸入文本),使用傳統(tǒng)輸入裝置可能更高效。系統(tǒng)允許基本上同時使用兩種GUI。
[0081]雖然前面已經關于本發(fā)明的實施例進行了說明,但是在不背離本發(fā)明的基本范圍的情況下,可以設計本發(fā)明的其他和進一步的實施例。例如,可以以硬件或者軟件或者以硬件和軟件的組合來實現本發(fā)明的各方面。本發(fā)明的一個實施例可以實現為與計算機系統(tǒng)一起使用的程序產品。程序產品的程序定義實施例的功能(包括本文中描述的方法),并且該程序產品能夠被包含在各種計算機可讀存儲介質上。示例性的計算機可讀存儲介質包括但不限于:(i)在其上永久地存儲信息的不可寫的存儲介質(例如,計算機內的只讀存儲器裝置,如可由CD-ROM驅動器讀取的CD-ROM盤、閃存、ROM芯片或者任何類型的固態(tài)非易失性半導體存儲器);以及(ii)在其上存儲可改變的信息的可寫的存儲介質(例如,軟盤機內的軟盤或硬盤驅動器或者任何類型的固態(tài)隨機存取半導體存儲器)。這種計算機可讀存儲介質在攜帶指導本發(fā)明的功能的計算機可讀指令時就是本發(fā)明的實施例。
[0082]有鑒于上述內容,本發(fā)明的范圍由如下權利要求來確定。
【權利要求】
1.一種用于顯示一個或更多個基于觸摸的圖形用戶界面(Gn)元素的計算機實現的方法,所述方法包括: 執(zhí)行應用,所述應用使得在與裝置相關聯(lián)的觸摸屏顯示器上顯示GUI,其中所述GUI被配置成與一個或更多個傳統(tǒng)輸入裝置交互; 確定用戶是否意圖經由所述觸摸屏顯示器向所述裝置提供輸入;以及如果所述用戶意圖經由所述觸摸屏顯示器提供輸入,則在所述GUI的上方顯示所述一個或更多個基于觸摸的GUI元素,或者 如果所述用戶意圖經由所述一個或更多個傳統(tǒng)輸入裝置中的一個傳統(tǒng)輸入裝置向所述裝置提供輸入,則隱藏所述一個或更多個基于觸摸的GUI元素, 其中,每個基于觸摸的GUI元素對應于所述GUI內所包括的不同的傳統(tǒng)GUI元素,其中,每個傳統(tǒng)GUI元素是針對所述一個或更多個傳統(tǒng)輸入裝置中的一個不同的傳統(tǒng)輸入裝置來配置的。
2.根據權利要求1所述的方法,其中,確定所述用戶是否意圖經由所述觸摸屏顯示器提供輸入包括:檢測物體位于所述觸摸屏顯示器的表面附近、但是還沒有與所述表面接觸。
3.根據權利要求2所述的方法,其中,響應于檢測到所述物體在距所述表面的閾值距離之內,將所述一個或更多個基于觸摸的GUI元素顯示在所述GUI的上方。
4.根據權利要求3所述的方法,其中,基于下述來顯示每個基于觸摸的GUI元素: 所述用戶在與特定的傳統(tǒng)GUI元素相關聯(lián)的位置處觸摸所述觸摸屏顯示器;以及 所述用戶經由鼠標裝置指定該基于觸摸的GUI元素的大小, 其中,該基于觸摸的GUI元素對應于該特定的傳統(tǒng)GUI元素。
5.根據權利要求2所述的方法,其中,確定所述用戶是否意圖經由所述觸摸屏顯示器提供輸入還包括: 計算與所述物體相關聯(lián)的運動向量,所述運動向量指示所述物體相對于所述觸摸屏顯示器的所述表面的軌跡; 計算所述運動向量與所述表面的交叉點的目標位置;以及 基于所述目標位置來確定基于觸摸的工具欄的膨脹中心,其中,所述膨脹中心限定所述基于觸摸的工具欄的相對于顯示在所述GUI內的傳統(tǒng)工具欄的錨定位置。
6.根據權利要求5所述的方法,其中,所述膨脹中心與針對所述傳統(tǒng)工具欄內的GUI元素組的預定義點相關聯(lián)。
7.根據權利要求1所述的方法,其中,所述傳統(tǒng)輸入裝置包括鍵盤或鼠標中的至少之一。
8.一種包含程序的計算機可讀存儲介質,所述程序在被處理器執(zhí)行時,進行用于顯示一個或更多個基于觸摸的圖形用戶界面(GUI)元素的操作,所述操作包括: 執(zhí)行應用,所述應用使得在與裝置相關聯(lián)的觸摸屏顯示器上顯示GUI,其中所述GUI被配置成與一個或更多個傳統(tǒng)輸入裝置交互; 確定用戶是否意圖經由所述觸摸屏顯示器向所述裝置提供輸入;以及如果所述用戶意圖經由所述觸摸屏顯示器提供輸入,則在所述GUI的上方顯示所述一個或更多個基于觸摸的GUI元素,或者 如果所述用戶意圖經由所述一個或更多個傳統(tǒng)輸入裝置中的一個傳統(tǒng)輸入裝置向所述裝置提供輸入,則隱藏所述一個或更多個基于觸摸的GUI元素, 其中,每個基于觸摸的GUI元素對應于所述GUI內所包括的不同的傳統(tǒng)GUI元素,其中,每個傳統(tǒng)GUI元素是針對所述一個或更多個傳統(tǒng)輸入裝置中的一個不同的傳統(tǒng)輸入裝置來配置的。
9.根據權利要求8所述的計算機可讀存儲介質,其中,確定所述用戶是否意圖經由所述觸摸屏顯示器提供輸入包括:檢測物體位于所述觸摸屏顯示器的表面附近、但是還沒有與所述表面接觸。
10.根據權利要求9所述的計算機可讀存儲介質,其中,響應于檢測到所述物體在距所述表面的閾值距離之內,將所述一個或更多個基于觸摸的Gn元素顯示在所述CTI的上方。
11.根據權利要求10所述的計算機可讀存儲介質,其中,基于下述來顯示每個基于觸摸的⑶I元素: 所述用戶在與特定的傳統(tǒng)GUI元素相關聯(lián)的位置處觸摸所述觸摸屏顯示器;以及 所述用戶經由鼠標裝置指定該基 于觸摸的GUI元素的大小, 其中,該基于觸摸的GUI元素對應于該特定的傳統(tǒng)GUI元素。
12.根據權利要求9所述的計算機可讀存儲介質,其中,確定所述用戶是否意圖經由所述觸摸屏顯示器提供輸入還包括: 計算與所述物體相關聯(lián)的運動向量,所述運動向量指示所述物體相對于所述觸摸屏顯示器的所述表面的軌跡; 計算所述運動向量與所述表面的交叉點的目標位置;以及 基于所述目標位置來確定基于觸摸的工具欄的膨脹中心,其中,所述膨脹中心限定所述基于觸摸的工具欄的相對于顯示在所述GUI內的傳統(tǒng)工具欄的錨定位置。
13.根據權利要求12所述的計算機可讀存儲介質,其中,所述膨脹中心與針對所述傳統(tǒng)工具欄內的GUI元素組的預定義點相關聯(lián)。
14.根據權利要求8所述的計算機可讀存儲介質,其中,所述傳統(tǒng)輸入裝置包括鍵盤或鼠標中的至少之一。
15.一種用于顯示一個或更多個基于觸摸的圖形用戶界面(GUI)元素的系統(tǒng),所述系統(tǒng)包括: 觸摸屏顯示器; 存儲器,所述存儲器包括使得在所述觸摸屏顯示器上顯示⑶I的應用,其中所述⑶I被配置成與一個或更多個傳統(tǒng)輸入裝置交互;以及處理器,所述處理器被配置成: 確定用戶是否意圖經由所述觸摸屏顯示器向所述裝置提供輸入,以及如果所述用戶意圖經由所述觸摸屏顯示器提供輸入,則在所述⑶I的上方顯示所述一個或更多個基于觸摸的GUI元素,或者 如果所述用戶意圖經由所述一個或更多個傳統(tǒng)輸入裝置中的一個傳統(tǒng)輸入裝置向所述裝置提供輸入,則隱藏所述一個或更多個基于觸摸的Gn元素, 其中,每個基于觸摸的GUI元素對應于所述GUI內所包括的不同的傳統(tǒng)GUI元素,其中,每個傳統(tǒng)GUI元素是針對所述一個或更多個傳統(tǒng)輸入裝置中的一個不同的傳統(tǒng)輸入裝置來配置的。
16.根據權利要求15所述的系統(tǒng),其中,確定所述用戶是否意圖經由所述觸摸屏顯示器提供輸入包括:檢測物體位于所述觸摸屏顯示器的表面附近、但是還沒有與所述表面接觸。
17.根據權利要求16所述的系統(tǒng),其中,響應于檢測到所述物體在距所述表面的閾值距離之內,將所述一個或更多個基于觸摸的GUI元素顯示在所述GUI的上方。
18.根據權利要求16所述的系統(tǒng),其中,確定所述用戶是否意圖經由所述觸摸屏顯示器提供輸入還包括: 計算與所述物體相關聯(lián)的運動向量,所述運動向量指示所述物體相對于所述觸摸屏顯示器的所述表面的軌跡; 計算所述運動向量與所述表面的交叉點的目標位置;以及 基于所述目標位置來確定基于觸摸的工具欄的膨脹中心,其中,所述膨脹中心限定所述基于觸摸的工具欄的相對于顯示在所述GUI內的傳統(tǒng)工具欄的錨定位置。
19.根據權利要求18所述的系統(tǒng),其中,所述膨脹中心與針對所述傳統(tǒng)工具欄內的GUI元素組的預定義點相關 聯(lián)。
20.根據權利要求15所述的系統(tǒng),其中,所述傳統(tǒng)輸入裝置包括鍵盤或鼠標中的至少之一。
【文檔編號】G09G5/00GK104011629SQ201280061711
【公開日】2014年8月27日 申請日期:2012年10月12日 優(yōu)先權日:2011年10月14日
【發(fā)明者】托維·格羅斯曼, 喬治·菲茨莫里斯, 楊興東, 普朗·波拉德·伊拉尼 申請人:歐特克公司