專利名稱:顯性觸摸選擇和光標(biāo)放置的制作方法
顯性觸摸選擇和光標(biāo)放置
背景技術(shù):
觸摸屏設(shè)備時(shí)常具有繁瑣的屏幕上用戶界面。與觸摸屏交互的各種方式在本領(lǐng)域中是已知的。例如,將手寫筆或手指用作輸入設(shè)備。用戶體驗(yàn)在使用一個(gè)或多個(gè)手指作為輸入設(shè)備時(shí)可能是進(jìn)一步復(fù)雜的。使用手指來放置光標(biāo)和選擇文本可能是困難的,這是因?yàn)榫冗h(yuǎn)低于利用諸如鼠標(biāo)之類的其他輸入設(shè)備。例如,由于手指的大小相對(duì)于單詞的大小,將光標(biāo)放置在單詞內(nèi)的精確點(diǎn)上可能是困難的。用戶可能希望放置光標(biāo),以便可以編輯利用計(jì)算設(shè)備顯示的文本。類似地,文本可以被選擇,以便它可以被復(fù)制、被剪切或通過粘貼文本或輸入新文本而被重寫。由于使用一個(gè)或多個(gè)手指來與觸摸屏交互的不精確性,所以本領(lǐng)域已知的這些操作已被證明難以利用觸摸屏設(shè)備來實(shí)施。當(dāng)用戶界面需要用戶輸入復(fù)雜的命令諸如按住選擇的文本時(shí),文本選 擇的速度和易用性也降低。上面的操作對(duì)于便攜式電子設(shè)備而言是甚至更加困難的問題。本領(lǐng)域已知的用戶界面顯示光標(biāo),這使得用戶難以辨別當(dāng)由用戶輸入時(shí)其中將插入文本的確切位置。此外,在選擇文本時(shí),目前的用戶界面時(shí)常需要用戶的手指阻塞(block)被選擇的文本的部分。因而,這些用戶界面時(shí)常利用被選擇的文本的偏移表示,而這需要非直觀的且不必要的手眼協(xié)調(diào)能力。由于文本的行相對(duì)于用戶手指的大小而言一般占據(jù)小的垂直空間,所以選擇多個(gè)行上的文本可能是困難的。人們?cè)谥本€上移動(dòng)其手指也是非常困難的。這在用戶試圖選擇單個(gè)行上的文本而用戶的手指卻剛好移動(dòng)到該文本行所定義的垂直空間之外時(shí)產(chǎn)生錯(cuò)誤,從而導(dǎo)致計(jì)算設(shè)備將用戶的輸入解釋成有意地改變行。
發(fā)明內(nèi)容
在現(xiàn)代觸摸屏設(shè)備中,用戶期待允許設(shè)備的有效操作的直觀且簡(jiǎn)單的用戶界面。本文描述的是用于利用簡(jiǎn)單的光標(biāo)放置和無遮擋(occlusion-free)文本選擇來實(shí)施用戶界面的技術(shù)。用戶界面被優(yōu)化,以致例如手持式設(shè)備、膝上型計(jì)算機(jī)或平板計(jì)算機(jī)之類的移動(dòng)設(shè)備的用戶可以快速地且有效地執(zhí)行這些操作。光標(biāo)放置可以利用來自用戶的簡(jiǎn)單敲擊(tap )輸入來實(shí)現(xiàn)。最初,光標(biāo)可以被粗略地放置。根據(jù)來自用戶的進(jìn)一步輸入,可以更精確地放置光標(biāo)。被稱為“抓取器(gripper)”的用戶可以與之交互的屏幕上的位置的視覺指示可以顯示在它與之相關(guān)聯(lián)的文本行的下方。用戶界面也可以實(shí)施允許用戶更精確地選擇在單個(gè)行文本上的文本的“安全區(qū)域”。在一些實(shí)施例中,通過接收來自用戶的位置指示,可以將光標(biāo)放置在計(jì)算設(shè)備的顯示屏上,其中來自用戶的指示表示某個(gè)文本或字符串。初始的光標(biāo)位置基于位置指示、結(jié)合有關(guān)所顯示的內(nèi)容的其他信息來選擇,并且光標(biāo)被顯示在那個(gè)位置上,其中初始的光標(biāo)位置相對(duì)于用戶所指示的位置粗略地進(jìn)行放置。隨后將計(jì)算設(shè)備放置在其中功能的執(zhí)行基于初始的光標(biāo)位置的狀態(tài)中。第二位置指示隨后可以被接收。更精確的光標(biāo)位置可以基于第二位置指示來選擇,并且光標(biāo)被顯示在更精確的光標(biāo)位置中。在一些實(shí)施例中,具有顯示屏、傳感器和處理器的計(jì)算機(jī)系統(tǒng)實(shí)施用戶界面來選擇文本。諸如文本之類的字符串與“抓取器”一起顯示在顯示屏上。用戶可以將如利用傳感器所確定的抓取器從與字符串中的第一字符相關(guān)聯(lián)的第一位置拖動(dòng)到字符串中的第二字符。在第一字符與第二字符之間的文本被高亮顯示(highlight),并且抓取器再次被顯示在第一位置上,而第二抓取器顯示在與字符串中的第二字符相對(duì)應(yīng)的位置上。在一些實(shí)施例中,可以利用顯示屏來顯示多個(gè)文本行。文本的一部分可以被選擇,這可以通過高亮顯示該文本來指示。用戶可以通過拖動(dòng)所選擇文本的端點(diǎn)(end point)來調(diào)節(jié)被選擇的文本的部分。當(dāng)正在接收拖動(dòng)輸入時(shí),所選擇的文本基于用戶正指示的當(dāng)前位置被更新。在第一模式中,設(shè)備對(duì)于用戶所指示的垂直位置中的錯(cuò)誤允許相對(duì)大的閾值,以致除非用戶移動(dòng)經(jīng)過閾值距離, 否則端點(diǎn)不改變行。一旦閾值距離被經(jīng)過并且設(shè)備繼續(xù)接收到來自用戶的拖動(dòng)輸入,該設(shè)備進(jìn)入第二模式,其中在第二模式中使用比相對(duì)大的閾值小的閾值距離。因而,在第二模式中,用戶能夠通過簡(jiǎn)單地經(jīng)過相對(duì)小的閾值距離而將所選擇文本的端點(diǎn)從一行移動(dòng)到另一行。一些用于選擇和高亮顯示的方法可以通過計(jì)算系統(tǒng)的處理器執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)設(shè)備上的指令來執(zhí)行。上述的是本發(fā)明的非限制性概述,而本發(fā)明利用所附的權(quán)利要求書來定義。
附圖并不打算按比例繪制。在附圖中,在各個(gè)附圖中示出的每個(gè)相同或近似相同的組件利用相同的數(shù)字來表示。為了清楚起見,不是每個(gè)組件都在每個(gè)附圖中被標(biāo)記。在附圖中
圖I是本發(fā)明的實(shí)施例可以操作在其中的示例環(huán)境的框 圖2是本發(fā)明的實(shí)施例可以操作在其中的示例計(jì)算設(shè)備的簡(jiǎn) 圖3A-3C是在本發(fā)明的一些實(shí)施例中使用的字符串的示例分配;
圖4A-4C示出在本發(fā)明的一些實(shí)施例中使用的光標(biāo)的示例放置;
圖5A-5C不出在本發(fā)明的一些實(shí)施例中使用的不例文本選擇技術(shù);
圖示出在本發(fā)明的一些實(shí)施例中使用的示例上下文菜單;
圖6A示出本發(fā)明的一些實(shí)施例避免的具有重疊抓取器的示例用戶界面;
圖6B示出防止重疊抓取器的本發(fā)明的一些實(shí)施例的示例用戶界面;
圖7A-7D示出在本發(fā)明的一些實(shí)施例中使用的示例多行文本選擇技術(shù);
圖8A-8E示出在本發(fā)明的一些實(shí)施例中使用的示例抓取器。
具體實(shí)施例方式發(fā)明人已認(rèn)識(shí)和意識(shí)到為了給觸摸屏設(shè)備提供易于使用且有效的用戶界面,希望放置光標(biāo)是簡(jiǎn)單、直觀的并考慮由于使用手指來向設(shè)備輸入命令而導(dǎo)致的不精確性。發(fā)明人進(jìn)一步認(rèn)識(shí)并意識(shí)到提供允許用戶與所選擇的文本直接交互而手指不遮擋文本的用戶界面產(chǎn)生直觀且有效的用戶體驗(yàn)。圖I示出其上可以實(shí)施本發(fā)明的合適的計(jì)算系統(tǒng)環(huán)境100的示例。計(jì)算系統(tǒng)環(huán)境100只是合適計(jì)算環(huán)境的一個(gè)示例,并且不打算針對(duì)本發(fā)明的使用或功能的范圍建議任何限制。計(jì)算環(huán)境100也不應(yīng)被解釋成具有與在示例操作環(huán)境100中示出的任何一個(gè)組件或組件的組合相關(guān)的任何依賴性或要求。本發(fā)明的實(shí)施例可利用眾多其他的通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來操作??赡苓m于與本發(fā)明一起使用的眾所周知的計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上型設(shè)備、蜂窩電話、平板計(jì)算機(jī)、上網(wǎng)本、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)類電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括任何的上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。計(jì)算環(huán)境可以執(zhí)行諸如程序模塊之類的計(jì)算機(jī)指令。一般來說,程序模塊包括執(zhí)行特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。本發(fā)明的實(shí)施例也可以在其中利用通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)的分布式計(jì)算環(huán)境中進(jìn)行實(shí)踐。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括記憶存儲(chǔ)設(shè)備的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)媒體中。參考圖1,用于實(shí)施有效的、用戶友好的用戶界面的示例系統(tǒng)包括采用計(jì)算機(jī)110 的形式的通用計(jì)算設(shè)備。計(jì)算機(jī)Iio的組件可以包括但不限于處理單元120 (B卩,處理器)、系統(tǒng)存儲(chǔ)器130以及將包括系統(tǒng)存儲(chǔ)器的各個(gè)系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干類型的總線結(jié)構(gòu)中的任何一種,其包括存儲(chǔ)器總線或存儲(chǔ)控制器、外設(shè)總線以及使用各種總線架構(gòu)中的任何一種的本地總線。通過示例而非限制,這樣的架構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、微通道架構(gòu)(MCA)總線、增強(qiáng)型ISA (EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)本地總線以及也被稱為Mezzanine總線的外設(shè)組件互連(PCI)總線。計(jì)算機(jī)110可以包括各種計(jì)算機(jī)可讀媒體。計(jì)算機(jī)可讀媒體能夠是任何的能被計(jì)算機(jī)110訪問的可用媒體并且包括易失性和非易失性媒體、可移除和不可移除媒體二者。通過示例而非限制,計(jì)算機(jī)可讀媒體可以包括計(jì)算機(jī)存儲(chǔ)媒體和通信媒體。計(jì)算機(jī)存儲(chǔ)媒體包括采用任何的用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)之類的信息的方法或技術(shù)來實(shí)施的易失性和非易失性、可移除和不可移除媒體二者。計(jì)算機(jī)存儲(chǔ)媒體包括但不限于RAM、ROM、EEPR0M、閃存或其他存儲(chǔ)技術(shù)、CD-ROM、數(shù)字多用途碟片(DVD)或其他的光盤存儲(chǔ)設(shè)備、磁帶盒、磁帶、磁盤存儲(chǔ)設(shè)備或其他的磁存儲(chǔ)設(shè)備或任何其他的能夠用于存儲(chǔ)期望信息并能夠被計(jì)算機(jī)110訪問的介質(zhì)。通信媒體通常將計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)包括在諸如載波之類的調(diào)制數(shù)據(jù)信號(hào)或其他傳輸機(jī)制中,并且包括任何的信息傳送媒體。術(shù)語“調(diào)制數(shù)據(jù)信號(hào)”表示使得其特征之中的一個(gè)或多個(gè)以這樣的在信號(hào)中編碼信息的方式被設(shè)置或改變的信號(hào)。通過示例而非限制,通信媒體包括有線媒體諸如有線網(wǎng)絡(luò)或直接連線連接以及無線媒體諸如聲學(xué)、RF、紅外和其他無線媒體。上述的任何的組合也應(yīng)被包括在計(jì)算機(jī)可讀媒體的范圍之內(nèi)。系統(tǒng)存儲(chǔ)器130包括采用易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)媒體,諸如只讀存儲(chǔ)器(ROM) 131和隨機(jī)存取存儲(chǔ)器(RAM) 132。一般在ROM 131中存儲(chǔ)基本輸入/輸出系統(tǒng)133 (BI0S),其包含有助于諸如在啟動(dòng)期間在計(jì)算機(jī)110內(nèi)的元素之間傳送信息的基本例程。RAM 132通常包含由處理單元120立即可訪問的和/或由處理單元120目前在對(duì)其操作的數(shù)據(jù)和/或程序模塊。通過示例而非限制,圖I示出操作系統(tǒng)(OS) 134、應(yīng)用程序135、其他程序模塊136和程序數(shù)據(jù)137。計(jì)算機(jī)110也可以包括其他的可移除/不可移除、易失性/非易失性計(jì)算機(jī)存儲(chǔ)媒體。僅通過示例,圖I示出從不可移除的非易失性磁媒體讀取或?qū)懭氩豢梢瞥姆且资源琶襟w的硬盤驅(qū)動(dòng)器141、從可移除的非易失性磁盤152讀取或?qū)懭肟梢瞥姆且资源疟P152的磁盤驅(qū)動(dòng)器151以及從諸如⑶ROM、DVD或其他光學(xué)媒體之類的可移除的非易失性光盤156讀取或?qū)懭肟梢瞥姆且资怨獗P156的光盤驅(qū)動(dòng)器155。能夠在不例操作環(huán)境中使用的其他的可移除/不可移除、易失性/非易失性計(jì)算機(jī)存儲(chǔ)媒體包括但不限于磁帶盒、閃存卡、數(shù)字多用途碟片、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動(dòng)器141通常通過諸如接口 140之類的不可移除的存儲(chǔ)器接口連接到系統(tǒng)總線121,而磁盤驅(qū)動(dòng)器151和光盤驅(qū)動(dòng)器155通常利用諸如接口 150之類的可移除的存儲(chǔ)器接口連接到系統(tǒng)總線121。上述的且在圖I中示出的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)媒體為計(jì)算機(jī)110提供計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的存儲(chǔ)。例如,在圖I中,硬盤驅(qū)動(dòng)器141被示為存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146以及程序數(shù)據(jù)147。注意這些組件與操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136以及程序數(shù)據(jù)137既可以是相同的,也可以是不同的。操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146以及程序數(shù)據(jù)147在這 里被給出不同的數(shù)量,以說明至少它們是不同的拷貝。用戶可以通過輸入設(shè)備將命令和信息輸入計(jì)算機(jī)110,其中輸入設(shè)備諸如是鍵盤162以及通常被稱為鼠標(biāo)、軌跡球或觸摸板的指示設(shè)備161。這些輸入設(shè)備可能存在于一些實(shí)施例中,但是對(duì)于計(jì)算機(jī)100的操作而言并不是必需的。在一些實(shí)施例中,顯示屏191包括可以接收來自用戶的一個(gè)或多個(gè)手指或其他輸入設(shè)備諸如手寫筆或筆的輸入的觸摸屏傳感器172。其他輸入設(shè)備(未顯示)可以包括麥克風(fēng)、操縱桿、游戲手柄、碟式衛(wèi)星天線、掃描儀等等。這些和其他輸入設(shè)備時(shí)常通過與系統(tǒng)總線耦合的用戶輸入接口 160連接到處理單元120,但是也可以通過其他接口和總線結(jié)構(gòu)諸如并行端口、游戲端口或通用串行總線(USB)來連接。監(jiān)視器191或其他類型的顯示設(shè)備也經(jīng)由接口諸如視頻接口 190連接到系統(tǒng)總線121。OS 134可以包括與觸摸屏相關(guān)聯(lián)的觸摸屏引擎。觸摸屏引擎接收來自觸摸傳感器172的輸入,處理輸入,并將有關(guān)輸入的信息提供給其他組件,諸如OS 134的其他組件、應(yīng)用程序135或其他程序模塊136。來自觸摸屏傳感器172的輸入可以指示在屏幕191上顯示的字符或其他項(xiàng)的選擇。這些輸入也可以指示由用戶選擇的光標(biāo)的位置。觸摸屏引擎也可以接收來自其他組件的輸入,并且在顯示屏191上再現(xiàn)(render)該信息。例如,OS 132可以向觸摸屏引擎提供信息,以便在顯示器191上顯示在上下文菜單中。可以實(shí)施本發(fā)明的實(shí)施例來改變組件識(shí)別選擇和光標(biāo)位置的方式。實(shí)施例也可以改變呈現(xiàn)用戶界面來指示字符選擇和光標(biāo)位置的方式。圖2示出本發(fā)明的一個(gè)實(shí)施例的示例計(jì)算設(shè)備200的簡(jiǎn)圖。計(jì)算設(shè)備200可以具有上面結(jié)合圖I描述的一些或所有組件,然而它并不限于包括圖I的所有特性。所示出的計(jì)算設(shè)備200的組件可以按照任何方式來布置,并且不限于圖2所示的特定布局或組件。計(jì)算設(shè)備200包括用于顯示一個(gè)或多個(gè)字符串260的顯示屏250。這些字符串可以包括任何字符,僅舉幾例,例如字母、數(shù)字、標(biāo)點(diǎn)和空格符。字符串可以是單個(gè)單詞、語句、段落或任何其他的字符集合。圖2的示例實(shí)施例顯示字符串260包括文本的多行語句,其包括字母、空格和標(biāo)點(diǎn)。雖然在本文使用具有拉丁字母的文本作為字符的示例,但是本發(fā)明的實(shí)施例并不限于任何特定的實(shí)施方式。例如,一些實(shí)施例可以使用日文、中文、韓文、阿拉伯文或印地文字符。本發(fā)明的實(shí)施例可以與垂直語言一起使用,其中字符串被安排在垂直方向上。計(jì)算設(shè)備200的顯示屏250與一個(gè)或多個(gè)觸摸屏傳感器240相關(guān)聯(lián)。傳感器和顯示屏的組合可以被稱為觸摸屏。因而,計(jì)算設(shè)備200可以被稱為觸摸屏設(shè)備。計(jì)算設(shè)備200可以采用任何類型的觸摸屏技術(shù)。例如,觸摸屏可以是電阻式、電容式、聲學(xué)、紅外或任何其他的觸摸屏技術(shù)。可以由觸摸屏傳感器240接收利用手寫筆、筆或諸如一根或多根手指之類的用戶的身體產(chǎn)生的輸入。本發(fā)明的實(shí)施例并不限于任何特定的觸摸屏的實(shí)施方式。除了借助于一個(gè)或多個(gè)觸摸屏傳感器240來接受輸入之外,計(jì)算設(shè)備200還可以具有一個(gè)或多個(gè)用于接受來自用戶的輸入的按鈕230。這些按鈕可以位于計(jì)算設(shè)備200的前面、背面或側(cè)面上。它們可以是機(jī)械按鈕、旋轉(zhuǎn)輸入設(shè)備、電容按鈕或本領(lǐng)域已知的任何其他類型的輸入設(shè)備。如結(jié)合圖I所述的,計(jì)算設(shè)備200也可以具有鍵盤、鼠標(biāo)或用于接收來自用戶的輸入的其他輸入設(shè)備,但這些并不是必需的。圖2將按鈕230示為用于向計(jì)算設(shè)備200指示方向信息的四方向方向鍵(directional pad)。也顯示向計(jì)算設(shè)備指示是否 開啟/關(guān)閉或進(jìn)入待機(jī)模式的電源按鈕220。本發(fā)明的實(shí)施例并不限于按鈕或輸入設(shè)備的任何特定實(shí)施方式。計(jì)算設(shè)備200的用戶可能希望對(duì)顯示在顯示屏250上的文本260執(zhí)行功能。為了執(zhí)行功能,用戶可以使用觸摸屏來指示所期望的光標(biāo)的放置和/或?qū)⒁x擇的所期望的文本。光標(biāo)可以是位置的任何視覺指示符,諸如插入符號(hào)(caret)或箭頭。功能可以取決于光標(biāo)的位置或已由用戶選擇的文本。功能也可以取決于設(shè)備的其他設(shè)置。例如,如果光標(biāo)被放置在特定位置上并且由用戶輸入附加文本,基于該設(shè)備是處于插入模式中還是重寫模式中,附加文本可以被插入在光標(biāo)的位置上,或者附加文本可以重寫跟隨在光標(biāo)后面的已有文本。也可以基于光標(biāo)的放置來執(zhí)行粘貼功能,以致先前已被剪切或被復(fù)制的文本可以被插入在光標(biāo)位置上。另一個(gè)示例是選擇刪除命令,其可以刪除緊鄰光標(biāo)的一個(gè)或多個(gè)字符,諸如在光標(biāo)之前或之后的字符。上面列出的相同功能可以在文本被選擇時(shí)被執(zhí)行,但是該行為基于被選擇的文本而將是不同的。例如,如果附加文本在選擇文本時(shí)被輸入或被粘貼,那么將利用附加文本來重寫所選擇的文本。選擇刪除命令將刪除所選擇的文本??赡芫哂性谶x擇文本時(shí)用戶可利用的附加功能。例如,所選擇的文本可以被復(fù)制或被剪切。并且,可以由用戶改變所選擇的文本的風(fēng)格。例如,選擇的文本可以被變成粗體或斜體,字體可以被改變,或者字體的大小可以被改變。以光標(biāo)位于特定位置上還是文本被選擇為基礎(chǔ)的這個(gè)不同的功能的行為可以被描述為該設(shè)備位于第一狀態(tài)和第二狀態(tài)中。應(yīng)該注意計(jì)算設(shè)備200可以對(duì)用戶的選擇執(zhí)行校正,以致由計(jì)算設(shè)備200確定的指示的位置可能不完全對(duì)應(yīng)于在觸摸屏上檢測(cè)到用戶觸摸的物理位置。例如,眾所周知,觸摸屏設(shè)備的用戶在比他們希望指示的實(shí)際位置略低些的位置上觸摸屏幕。這僅是計(jì)算設(shè)備能夠自動(dòng)校正的角度問題。因而,本發(fā)明的實(shí)施例可以使用已被校正為慮及這種效果及其他類似效果的位置。由用戶經(jīng)由觸摸屏傳感器240接收的輸入可以是任何合適的輸入命令。在一些實(shí)施例中,輸入可以是指示用戶僅在短暫瞬間觸摸屏幕的“敲擊輸入”。敲擊可以利用本領(lǐng)域已知的技術(shù)來檢測(cè)。短暫瞬間通常短于一秒。在一些實(shí)施例中,輸入可以是拖動(dòng)輸入,其中用戶利用手指在開始位置上觸摸屏幕,通過在屏幕上拖動(dòng)手指來創(chuàng)建路徑(同時(shí)保持與屏幕接觸),并且通過在結(jié)束位置上抬起手指來終止該路徑。在其他實(shí)施例中,輸入可以是按住輸入,其中用戶在某個(gè)位置上觸摸屏幕,將其保持一段時(shí)間,并且隨后終止與屏幕接觸。這些類型的輸入之中的每一個(gè)可以使用本領(lǐng)域已知的不同技術(shù)來檢測(cè)。本發(fā)明的實(shí)施例并不限于任何特定類型的輸入。由于用戶的手指在寬度或高度方面可能是例如1-2厘米的大小,所以經(jīng)由觸摸屏接收的位置指示相對(duì)于在屏幕上顯示的項(xiàng)(大小不到I毫米)來說可能是不精確的。因此,本發(fā)明的一些實(shí)施例的用戶界面將依據(jù)來自用戶的第一位置指示而將光標(biāo)放置在與所選擇的字符串相對(duì)而言近似的位置中。隨后,如果用戶希望更精確地放置光標(biāo),可以向設(shè)備輸入第二指示,并且光標(biāo)將被放置在與該輸入相關(guān)聯(lián)的更精確的位置上。光標(biāo)的這種近似或大致放置可以采用任何方式來實(shí)施,并且本發(fā)明的實(shí)施例在這個(gè)方面不受限制。如果計(jì)算設(shè)備使用近似放置來放置光標(biāo),那么計(jì)算設(shè)備可以被稱為處于第一狀態(tài)中。如果計(jì)算設(shè)備在更精確地放置光標(biāo),那么計(jì)算設(shè)備可以被稱為處于第二狀態(tài)中。在一些實(shí)施例中,該設(shè)備 將使用精確放置還是近似放置將取決于被顯示的對(duì)象的特征。例如,如果顯示包括大于預(yù)定閾值的文本,那么該設(shè)備可以僅實(shí)施光標(biāo)的精確放置。在一些實(shí)施例中,預(yù)定文本大小閾值可以與用戶手指的近似大小相關(guān)。因而,當(dāng)用戶手指的大小大約是與屏幕上顯示的項(xiàng)相同的大小時(shí),該設(shè)備可以不使用近似放置。光標(biāo)420的近似放置可以采用任何合適的方式來實(shí)施。在一些實(shí)施例中,從用戶接收指示顯示屏上的特定字符串的輸入。計(jì)算設(shè)備200確定該輸入是將光標(biāo)放置在與那個(gè)單詞相關(guān)聯(lián)的位置上的命令。與使用精確放置時(shí)相比,其上可以放置光標(biāo)的可能位置的數(shù)量可以被減少。較少的可能位置導(dǎo)致粗略的光標(biāo)放置,而精細(xì)的光標(biāo)放置具有較大數(shù)量的可能位置。例如,近似光標(biāo)放置可能只允許將光標(biāo)放置在如圖4A所示的字符串300的開頭或如圖4B所示的字符串的結(jié)尾。確定將光標(biāo)放置在字符串的開頭還是字符串的結(jié)尾可以采用任何合適的方式來確定。例如,單詞可以被拆分成多字符部分,諸如前半部分和后半部分。如果用戶輸入的位置指示前半部分,那么光標(biāo)將被顯示在字符串的開頭。另一方面,如果用戶的輸入指示后半部分,那么光標(biāo)將被顯示在字符串的結(jié)尾。這種類型的近似放置慮及這樣的事實(shí),即,即使用戶的輸入沒有指示在單詞的開頭或結(jié)尾上的位置,用戶也可能希望將光標(biāo)放置在單詞的開頭或結(jié)尾,而不是中間的某個(gè)位置。因而,近似放置使得用戶容易指定單詞的開頭或結(jié)尾,并且提供簡(jiǎn)單的方式來切換到更精確的光標(biāo)放置模式。在其中字符串的開頭或結(jié)尾是用于近似放置光標(biāo)的唯一選項(xiàng)的上述示例中,計(jì)算設(shè)備200可以采用任何合適的方式來確定將光標(biāo)放置在開頭還是結(jié)尾。在一些實(shí)施例中,如圖3A和3B所示,字符串300被拆分成兩個(gè)部分。如果用戶的輸入指示字符串的開始部分,則光標(biāo)420被放置在字符串的開頭,即,被放置在字符串300的開始字符310之前。如果用戶的輸入指示字符串的結(jié)束部分,則光標(biāo)420被放置在字符串的結(jié)尾,S卩,被放置在字符串的結(jié)束字符320之后。字符串可以采用任何合適的方式被拆分成多個(gè)部分。例如,圖3A示出被一分為二的字符串“Computer”,以致在每個(gè)部分中具有相等數(shù)量的字母。第一部分330包括“Comp”,而第二部分340包括“uter”。作為選擇,圖3B示出被一分為二的相同字符串300,以致在每一半部分中具有相等數(shù)量的像素。第一部分350包括“Com”以及字母“p”的小部分,而第二部分360包括字母“p”的剩余部分以及字母“uter”。注意這些部分的大小取決于如何拆分字符串而不同。本發(fā)明的實(shí)施例并不限于將字符串拆分成相等部分。例如,如果用戶界面的設(shè)計(jì)者相信用戶更有可能希望光標(biāo)被放置在字符串的結(jié)尾而不是字符串的開頭,那么可以有意地使得結(jié)束部分大于開始部分。本發(fā)明的實(shí)施例并不限于特定的分段實(shí)施方式。此外,本發(fā)明的實(shí)施例并不限于將字符串300拆分成兩個(gè)部分。例如,在圖3C中,字符串300被拆分成三個(gè)部分包括字符串300的前三個(gè)字符的開始部分370 ;包括字符串300的后三個(gè)字符的結(jié)束部分380 ;以及在開始部分370與結(jié)束部分380之間的包括字符串300的剩余字符的中間部分390。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到任何預(yù)定數(shù)量的字符可以用于定義開始和結(jié)束部分。通過示例,圖3C的說明使用三個(gè)字符。如果用戶的輸入指示與字符串300的開始部分370相對(duì)應(yīng)的位置,那么光標(biāo)420將被放置在字符串300的開始字母310之前,如圖4A所示。如果用戶的輸入指示與字符串300的結(jié)束部分380相對(duì)應(yīng)的位置,那么光標(biāo)將被放置在字符串300的結(jié)束字母310之后, 如圖4B所示。如果用戶的輸入指示與字符串300的中間部分390相對(duì)應(yīng)的位置,那么可以采用任何合適的方式來放置光標(biāo)。在一些實(shí)施例中,光標(biāo)可以被放置在中間部分390的開頭。在其他實(shí)施例中,計(jì)算設(shè)備將光標(biāo)放置在中間部分390的結(jié)尾。一些實(shí)施例可以將光標(biāo)放置在中間部分的中間。在還一個(gè)實(shí)施例中,當(dāng)用戶的輸入對(duì)應(yīng)于中間部分390時(shí),計(jì)算設(shè)備200可以使用精確放置來放置光標(biāo),以致該光標(biāo)被放置在與用戶的輸入所指示的位置相對(duì)應(yīng)的位置上。例如,在圖3C中,如果用戶指示在字符串中的“P”與“u”之間的位置,那么光標(biāo)將被放置在那個(gè)位置上,如圖4C所示。而如果用戶指示靠近“P”的開頭的位置,那么光標(biāo)將被放置在“P”之前。本發(fā)明的實(shí)施例并不限于光標(biāo)放置的特定實(shí)施方式。一旦計(jì)算設(shè)備200粗略地放置光標(biāo)420,用戶可能希望將光標(biāo)420放置在同一字符串300內(nèi)更精確的位置上。放置光標(biāo)的可能位置的數(shù)量大于在使用粗略放置時(shí)可利用的位置的數(shù)量。光標(biāo)420的精確放置或精細(xì)放置可以采用任何合適的方式來實(shí)施。例如,如果用戶指示同一字符串300內(nèi)的第二位置,那么計(jì)算設(shè)備200將從多個(gè)可能的放置位置中選擇與第二位置相對(duì)應(yīng)的位置,其中與在近似光標(biāo)放置期間可利用的可能放置位置的數(shù)量相t匕,在計(jì)算設(shè)備200執(zhí)行精確光標(biāo)放置時(shí)具有更大數(shù)量的可能放置位置。在一些實(shí)施例中,多個(gè)可能的放置位置可以包括與字符串300中的每一個(gè)字符相鄰的每一個(gè)位置。例如,用戶的第一輸入可以對(duì)應(yīng)于第一位置,并且光標(biāo)可以近似地被放置在字符串300的開頭(參見圖4A)。當(dāng)接收到與字母“P”與“u”之間的第二位置相對(duì)應(yīng)的第二輸入時(shí),則計(jì)算設(shè)備將在“P”與“u”之間放置光標(biāo)420,如圖4C所示。在一些實(shí)施例中,用于近似光標(biāo)放置的第一輸入和用于精確光標(biāo)放置的第二輸入二者可以是敲擊輸入。這允許用戶非常迅速且準(zhǔn)確地將光標(biāo)放置在期望位置上,而不依靠諸如拖動(dòng)輸入或按住輸入之類的輸入。敲擊輸入在便攜式設(shè)備中是特別有利的。本發(fā)明的實(shí)施例并不限于用戶使用的輸入的類型。在一些實(shí)施例中,當(dāng)顯示屏250顯示光標(biāo)420時(shí),也顯示“抓取器”410。抓取器是屏幕上的圖形指示,用戶可以與之交互并利用來將進(jìn)一步輸入信息傳送到計(jì)算設(shè)備200。抓取器可以采用任何合適的方式來實(shí)施。例如,如圖4A-4C所示,抓取器410可以顯示在光標(biāo)420的下方。本發(fā)明的實(shí)施例并不限于任何特定的抓取器的大小。例如,抓取器在大小方面可以在5毫米到15毫米的范圍中。在一些實(shí)施例中,抓取器是8毫米寬。有可能抓取器在一個(gè)維度中比在第二維度中是更大的。例如,抓取器可以是具有10毫米的高度和6毫米的寬度的橢圓形。抓取器的確切大小不是至關(guān)緊要的,并且可以使用任何大小。在一些實(shí)施例中,抓取器的大小與屏幕大小及分辨率是無關(guān)的。例如,在移動(dòng)電話設(shè)備的屏幕上顯示的抓取器可以具有與顯示在與計(jì)算機(jī)相關(guān)聯(lián)的大型觸摸屏顯示屏上的抓取器相同的寬度。結(jié)果,在被再現(xiàn)時(shí),計(jì)算設(shè)備200用以再現(xiàn)抓取器的參數(shù)可以被選擇,以產(chǎn)生所選擇的大小。這些參數(shù)可以包括屏幕高度、屏幕寬度、像素大小和/或屏幕分辨率。圖8A-8E示出抓取器的示例實(shí)施例。如下文更詳細(xì)論述的,當(dāng)由用戶選擇文本時(shí),該文本可以被高亮顯示,并且可以顯示兩個(gè)抓取器一個(gè)抓取器位于所選擇文本的開頭,而一個(gè)抓取器位于所選擇文本的結(jié)尾。圖8A顯示其中第一抓取器810和第二抓取器820是相同圓圈的實(shí)施例。這些圓圈的內(nèi)部可以是純色的、完全透明的或介于純色與完全透明之間的任何透明度。圖8B顯示示例抓取器820和822,其中這些抓取器是內(nèi)部具有圖形 的圓圈。可以使用任何合適的圖形。在所示的示例中,垂直線用于指示紋理,以致用戶將認(rèn)識(shí)到這些抓取器是交互式的并且可以用于輸入命令。圖SC示出開始抓取器830,其是結(jié)束抓取器832的鏡像。這兩個(gè)抓取器是指向外部的三角形。如同圓形抓取器,這些三角形的內(nèi)部可以是完全不透明的、完全透明的或介于其之間的任何透明度。圖8D也顯示三角形抓取器840和842,但是添加垂直線來更精確地指示所選擇文本的開頭和結(jié)尾的位置。圖8E示出非標(biāo)準(zhǔn)形狀的抓取器850和852。它們?cè)诘撞孔儓A,具有靠近頂部的點(diǎn),其與完全圓形相比能夠更加精確地指示所選擇文本的開頭和結(jié)尾。上述的抓取器用于示例目的,并且本發(fā)明的實(shí)施例不限于任何特定形狀。例如,可以由用戶為抓取器圖像選擇任何圖像或圖標(biāo)。這樣一來,抓取器可以針對(duì)用戶的首選體驗(yàn)而被個(gè)性化。在一些實(shí)施例中,抓取器始終顯示在與所選擇字符相關(guān)聯(lián)的文本行的下方。在沒有選擇文本并且反而顯示光標(biāo)的情況下,抓取器可以顯示在光標(biāo)的下方。進(jìn)一步,本領(lǐng)域普通技術(shù)人員將認(rèn)識(shí)到具有許多其他的可以被本文請(qǐng)求保護(hù)的本發(fā)明的實(shí)施例使用并覆蓋的未顯示的抓取器形狀和放置的變體。例如,如果正在顯示垂直語言,可以將抓取器顯示在文本的左側(cè)。如上所述,計(jì)算設(shè)備110可以接收來自除了觸摸屏傳感器172之外的各種設(shè)備的輸入。在一些實(shí)施例中,如果光標(biāo)420在使用這些其他設(shè)備來放置的話,觸摸屏引擎可以不在顯示屏191上顯示抓取器410。例如,如果使用鍵盤162上的箭頭鍵或按鈕230來移動(dòng)光標(biāo)的話,那么可以不顯示抓取器?,F(xiàn)在將結(jié)合圖5A-5C來論述使用抓取器來選擇文本。圖5A示出在圖4B中示出的相同的光標(biāo)420位置。光標(biāo)420可以例如通過近似光標(biāo)放置、米用任何合適的方式被放置在字符串300的結(jié)束字母320之后。計(jì)算設(shè)備200在光標(biāo)420的下方顯示抓取器410,以致在用戶利用手指選擇抓取器時(shí),與光標(biāo)420以及抓取器410相關(guān)聯(lián)的文本不被抓取器或用戶的手指遮擋。用戶可以按住并拖曳抓取器來實(shí)施“拖動(dòng)輸入”。在一些實(shí)施例中,當(dāng)觸摸屏引擎接收到來自用戶的拖動(dòng)輸入但是拖動(dòng)輸入的初始位置并不對(duì)應(yīng)于抓取器時(shí),文本將滾動(dòng)或平移,以便在附加文本可用的時(shí)候顯示附加文本。
圖5B示出用戶的手指可以在顯示屏250上沿著文本行的方向追蹤的路徑525。在這個(gè)示例中,路徑525開始于與抓取器410相對(duì)應(yīng)的位置,其沿著文本行的方向繼續(xù)向左,并且最終在用戶從屏幕250上抬起手指時(shí)終止于利用“X”指示的位置。因?yàn)樽ト∑魈幱谖谋鞠路阶銐蜻h(yuǎn)的位置以致不會(huì)在視覺上阻塞文本,所以該路徑可以位于字符串的下方,以便在選擇文本的同時(shí)用戶仍能夠與文本保持視覺視線。在一些實(shí)施例中,在從用戶接收到指示選擇的路徑525時(shí),字符串中的字符被高亮顯示。例如,當(dāng)用戶的手指跟隨在字母“r”下方的路徑時(shí),高亮顯示的部分將增長(zhǎng)至包圍該字母。高亮顯示可以是在被選擇的字符后面的背景的陰影(shading)520,并且可以向用戶指示該字符正被選擇。隨著用戶的手指繼續(xù),被路徑525橫越(traverse)的其他字母變成高亮顯示部分的一部分,直至用戶通過從顯示屏250上抬起手指而完成拖動(dòng)輸入。拖動(dòng)輸入的結(jié)束位置與字符530相對(duì)應(yīng),并且在字符530與對(duì)應(yīng)于原始光標(biāo)位置的字符320之間的文本將被選擇。如上所述,因?yàn)槁窂轿挥谧址南路?,所以用戶可以與被選擇的字符保持視覺視線。在一些實(shí)施例中,在由用戶正在輸入拖動(dòng)輸入的同時(shí),觸摸屏引擎將不顯示抓取器410和/或光標(biāo)420。這除去可能使用戶分心或混淆用戶的不必要圖形,并且允許用戶僅專注于被高亮顯示的字符。圖5C示出在拖動(dòng)輸入完成之后的選擇文本。觸摸屏引擎指示顯示屏191高亮顯示在對(duì)應(yīng)于光標(biāo)420的原始位置的字母320與對(duì)應(yīng)于路徑525結(jié)束的位置的字母530之間的文本。抓取器410可以顯示在與接收到拖動(dòng)輸入之前相同的位置上。觸摸屏引擎在字符串300中的選擇字符的開頭顯示新的抓取器510。選擇的文本可以通過與抓取器510或抓取器410的類似交互而被進(jìn)一步改變。用戶可以通過提供其中開始位置與抓取器之一相對(duì)應(yīng)的進(jìn)一步拖動(dòng)輸入來選擇更多或更少的字符。在一些實(shí)施例中,觸摸屏傳感器172可以接收來自用戶的與抓取器410相對(duì)應(yīng)的拖動(dòng)輸入,如圖5C所不。拖動(dòng)輸入可以終止于抓取器510的另一側(cè)。例如,如果拖動(dòng)輸入終止于字符串300中的字符“C”,那么一旦釋放拖動(dòng)輸入,觸摸屏引擎就選擇字符“Comp”,即,在拖動(dòng)輸入被啟動(dòng)時(shí)抓取器510的位置與對(duì)應(yīng)于拖動(dòng)輸入的結(jié)束點(diǎn)的位置之間的文本。在一些實(shí)施例中,觸摸屏引擎改變抓取器的形狀和/或位置,以致兩個(gè)抓取器不重疊。圖6A示出在允許抓取器重疊的情況下存在的問題。當(dāng)字符的數(shù)量少時(shí),這種情況可能出現(xiàn),從而導(dǎo)致所選擇的文本的寬度小于抓取器的寬度的兩倍。在屏幕尺寸諸如在手持式設(shè)備中是小的并且抓取器被設(shè)置成固定大小而不管屏幕大小和分辨率的時(shí)候,這也可能發(fā)生。抓取器610與字符串600中的選擇字符的開頭相關(guān)聯(lián),而抓取器620與選擇字符的結(jié)尾相關(guān)聯(lián)。如上所述,所選擇的字符被高亮顯示630。抓取器610與抓取器620之間的重疊將使得選擇特定的抓取器對(duì)于用戶而言是困難的。這種重疊也可能在視覺上對(duì)用戶造成混淆。圖6B顯示將抓取器保持為相同尺寸但是遠(yuǎn)離選擇文本的結(jié)尾而移動(dòng)抓取器的結(jié)果。與例如在圖5C中選擇更大數(shù)量的字符時(shí)顯示這兩個(gè)抓取器相比,這兩個(gè)抓取器610和抓取器620被顯示成進(jìn)一步遠(yuǎn)離高亮顯示的文本。這防止重疊抓取器,并允許用戶容易個(gè)別地與每一個(gè)抓取器交互而不使用戶混淆。一旦用戶選擇文本并且觸摸屏引擎高亮顯示所選擇的文本,如圖5C所示,用戶可以基于所選擇的文本部分來選擇功能來執(zhí)行。如上所述,功能的示例可以是重寫文本、重新格式化文本、刪除文本或復(fù)制文本??梢曰谒x擇的文本來執(zhí)行的另一個(gè)功能是顯示上下文菜單550。例如,上下文菜單550可以通過提供與如圖所示的高亮顯示的文本或兩個(gè)抓取器410和510之一相對(duì)應(yīng)的輸入來顯不。例如,輸入可以米用敲擊輸入的形式。上下文菜單550為用戶提供可以對(duì)所選擇的文本執(zhí)行的各種附加功能。這些功能選項(xiàng)可以從OS 134或應(yīng)用程序135提供給觸摸屏引擎。例如,如果web (網(wǎng)絡(luò))瀏覽器應(yīng)用正在給觸摸屏引擎提供文本信息以便在屏幕上顯示,那么可能正是web瀏覽器為上下文菜單提供該信息。例如,利用上下文菜單550提供的各種附加功能可以是剪切或復(fù)制所選擇的字符的選項(xiàng)。這些功能也能夠包括用于重新格式化所選擇的文本的選項(xiàng)。上下文菜單550也可以提供粘貼先前已復(fù)制的字符和重寫所選擇的文本的選項(xiàng)。上下文菜單可以提供本文未描述的但是本領(lǐng)域普通技術(shù)人員將明白的被本文所請(qǐng)求保護(hù)的本發(fā)明的實(shí)施例所覆蓋的許多其他選項(xiàng)。此外,上下文菜單可以具有任何形狀或大小。例如,上下文菜單可以是在垂直列表中顯示功能的矩形菜單,如圖所示。在一些實(shí)施例中,上下文菜單可以是圓形或橢圓形,并且徑向顯示功能。本發(fā)明的實(shí)施例不限于任何特定的上下文菜單的大小或形狀,本發(fā)明的實(shí)施例也不限于提供上述的任何的特定功能。
類似地,甚至在沒有選擇文本并且顯示單個(gè)抓取器時(shí),如圖5A所示,抓取器410的敲擊輸入也可能導(dǎo)致上下文菜單的顯示。因?yàn)闆]有文本被選擇,所以上下文菜單可能不顯示剪切或復(fù)制選項(xiàng),但是它可以提供粘貼功能或任何其他合適的功能。上面的字符選擇的論述限于單個(gè)行上的文本。然而,從占據(jù)多個(gè)行的文本塊中選擇字符子集也是本發(fā)明的一些實(shí)施例的方面。特別地,有能力來確定用戶何時(shí)打算選擇在與來自用戶的拖動(dòng)輸入的啟動(dòng)相關(guān)聯(lián)的文本行不同的行上的文本。來自用戶的手指的輸入是不精確的,并且人們趨于在觸摸屏上追蹤并不是筆直的且偏離用戶的預(yù)定路徑的路徑。因而,本發(fā)明的一些實(shí)施例提供與每一行文本相關(guān)聯(lián)的“安全區(qū)域”。安全區(qū)域是圍繞文本行的區(qū)域,其中只要與來自用戶的拖動(dòng)輸入相關(guān)聯(lián)的路徑保持在安全區(qū)域內(nèi),計(jì)算設(shè)備200就將確定用戶意圖選擇停留在同一文本行上。安全區(qū)域也確保由用戶啟動(dòng)的選擇開始于光標(biāo)原始與之相關(guān)聯(lián)的行。在一些實(shí)施例中,與定義安全區(qū)域的邊界的文本行相隔的閾值距離可能基于用戶的動(dòng)作而改變。作為本發(fā)明一些實(shí)施例的示例,圖7A顯示占據(jù)頂行710、中間行720和底行730的文本700。每一行在一個(gè)方向上延伸,例如,水平地延伸,同時(shí)每一行在第二方向上例如垂直地與下一行相鄰。光標(biāo)712位于第一行710上的單詞“quick”的開頭。光標(biāo)可能已利用上述的任何的光標(biāo)放置技術(shù)被放置在那個(gè)特定位置上。觸摸屏引擎在光標(biāo)712的下方顯示抓取器714。用戶可以輸入開始于抓取器714的拖動(dòng)輸入,跟隨著在與第二行720相關(guān)聯(lián)的位置中終止的路徑716。安全區(qū)域邊界740在圖7A中利用虛線來示出,但是該行可能不顯示在顯示屏上。邊界740和它與之相關(guān)聯(lián)的第一文本行710相隔一定距離。該距離可以是任意數(shù)量的參數(shù)的函數(shù)。例如,該距離可以是與該文本相隔某個(gè)預(yù)定長(zhǎng)度或與該文本相隔預(yù)定數(shù)量的像素。在一些實(shí)施例中,該距離可以是動(dòng)態(tài)的。該距離可以是垂直行高度、文本行之間的空間的大小、屏幕大小或屏幕分辨率的函數(shù)。在圖7A所示的示例中,邊界740位于被第二文本行720占據(jù)的垂直水平上。如果拖動(dòng)輸入的路徑760沒有經(jīng)過邊界740,那么計(jì)算設(shè)備確定用戶并不打算選擇第二行720中的文本。例如,圖7A所示的路徑716正好在邊界740上以及在與第一文本行710上的字母“ο”與“w”之間的位置相對(duì)應(yīng)的水平位置上終止。因此,計(jì)算設(shè)備確定用戶希望選擇第一行710上的文本“quick too”。圖7B示出在接收到與圖7A的路徑716相對(duì)應(yīng)的上述拖動(dòng)輸入之后將顯示的內(nèi)容。觸摸屏引擎高亮顯示722文本“quick too”,并且第一抓取器714位于高亮顯示的文本的開頭,而第二抓取器724位于高亮顯示的文本的結(jié)尾。用戶可以輸入第二拖動(dòng)輸入,其中起始點(diǎn)與抓取器724相對(duì)應(yīng)并且跟隨路徑726,其中該路徑終止于第二文本行720的“ο”與“V”之間并且位于邊界740的下方。因?yàn)橥蟿?dòng)輸入終止于邊界740的下方,所以計(jì)算設(shè)備200確定用戶打算選擇第二行720中的文本。因此,圖7C顯示在與第一行上的第一抓取器714相關(guān)聯(lián)的位置之后的所有字符被選擇,并且從第二行的開頭到與路徑726的終止相關(guān)聯(lián)的位置的所有字符被聞売顯不722。圖7C也示出與第一行710的安全區(qū)域相關(guān)聯(lián)的閾值距離的變化。在用戶輸入拖動(dòng)輸入的同時(shí),如果路徑726跨越與第一行710的安全區(qū)域相關(guān)聯(lián)的邊界740,那么該邊界的位置將轉(zhuǎn)變?yōu)榭拷谝恍械奈谋荆邕吔?41所示。通過在選擇文本的同時(shí)在路徑的位 置方面給用戶留有余地,用戶更容易選擇僅在單個(gè)行上的文本,直至用戶的輸入指示用戶希望擴(kuò)大所選擇的文本以包括文本塊中的相鄰行。使用更遠(yuǎn)的邊界740與第一操作模式相關(guān)聯(lián)。一旦由于越過與邊界740相關(guān)聯(lián)的閾值距離而使得用戶選擇不同行上的文本的意圖清晰的話,計(jì)算設(shè)備通過將閾值距離減小至某個(gè)小于原始閾值距離的值而使得改變所選擇的文本的端點(diǎn)是更加容易的。這個(gè)減小的距離邊界與第二操作模式相關(guān)聯(lián)。第二模式在初始邊界740被橫越之后并且在用戶仍在輸入拖動(dòng)輸入的同時(shí)被實(shí)施。當(dāng)計(jì)算設(shè)備200操作在第二模式中時(shí),每一行具有安全區(qū)域邊界,其中與計(jì)算設(shè)備200操作在第一模式中的時(shí)候相比,該安全區(qū)域邊界距文本行的距離更短。例如,安全區(qū)域邊界可能具有與邊界741相同的減小的距離閾值。圖7C示出與第二文本行720的安全區(qū)域相關(guān)聯(lián)的底部邊界742。用戶可以使用計(jì)算設(shè)備200的觸摸屏來輸入第三拖動(dòng)輸入。圖7C示出與這個(gè)拖動(dòng)輸入相關(guān)聯(lián)的路徑736,其中該路徑開始于與選擇文本的開頭相關(guān)聯(lián)的抓取器714。如上所述,當(dāng)在第一模式中時(shí),改變行的閾值距離與該文本行相隔相對(duì)較遠(yuǎn)并且利用邊界740來示出。一旦路徑736跨越邊界740,則計(jì)算設(shè)備進(jìn)入第二模式,其中閾值被減小并且利用邊界741來表示。與第二文本行720相關(guān)聯(lián)的第二模式的安全區(qū)域邊界利用邊界742來表示。路徑736終止于與第三行730上的字母“I”和字母“a”之間的空間相關(guān)聯(lián)的位置。如圖7D所示,最初與選擇文本的開頭相關(guān)聯(lián)的抓取器714在第三拖動(dòng)輸入之后與選擇文本的結(jié)尾相關(guān)聯(lián)。類似地,最初與選擇文本的結(jié)尾相關(guān)聯(lián)的抓取器724在第三拖動(dòng)輸入之后與選擇文本的開頭相關(guān)聯(lián)。在一些實(shí)施例中,當(dāng)從用戶接收到拖動(dòng)輸入時(shí),基于沿著與每一個(gè)拖動(dòng)輸入相關(guān)聯(lián)的路徑的當(dāng)前位置來更新高亮顯示722。在一些實(shí)施例中,在正在接收拖動(dòng)輸入的同時(shí),可以不顯示抓取器714和724。上述的安全區(qū)域并不適用于文本行被定向的方向。例如,在以上的論述中,安全區(qū)域僅適用于與文本行垂直的方向,例如垂直方向。可以米用與結(jié)合圖5A-5C描述的相同方式來沿著文本行的方向例如水平方向確定文本的高亮顯示部分的端點(diǎn)。沿著這個(gè)水平方向,在用戶的拖動(dòng)輸入經(jīng)過字符時(shí),可以采用一次一個(gè)字符的方式來更新文本的高亮顯示部分。在如此描述了本發(fā)明的至少一個(gè)實(shí)施例的若干方面之后,將意識(shí)到對(duì)于本領(lǐng)域技術(shù)人員而言,各種改變、修改和改進(jìn)將容易發(fā)生。這樣的改變、修改和改進(jìn)被預(yù)定是這個(gè)公開內(nèi)容的一部分,并且被預(yù)定在本發(fā)明的精神和范圍之內(nèi)。進(jìn)一步,雖然指示本發(fā)明的優(yōu)點(diǎn),但是應(yīng)該意識(shí)到并不是本發(fā)明的每一個(gè)實(shí)施例將包括每一個(gè)所描述的優(yōu)點(diǎn)。一些實(shí)施例可能沒有實(shí)現(xiàn)在本文和在一些實(shí)例中被描述為有利的任何特性。相應(yīng)地,以上描述和附圖僅僅是舉例說明。本發(fā)明的上述實(shí)施例能夠采用多種方式中的任何一種來實(shí)施。例如,這些實(shí)施例可以使用硬件、軟件或其組合來實(shí)施。在以軟件實(shí)施時(shí),無論是在單個(gè)計(jì)算機(jī)上提供還是分布于多個(gè)計(jì)算機(jī)之間,軟件代碼能夠在任何合適的處理器或處理器集合上被執(zhí)行。這樣的處理器可以作為集成電路來實(shí)施,其中一個(gè)或多個(gè)處理器在集成電路組件中。然而,處理器可以采用任何合適的格式使用電路來實(shí)施。 本文概述的各種方法或處理可以被編碼為在采用各種操作系統(tǒng)或平臺(tái)之中的任何一種的一個(gè)或多個(gè)處理器上是可執(zhí)行的軟件。附加地,這樣的軟件可以使用多種合適的編程語言和/或編程或腳本編寫工具中的任何一種來編寫,并且也可以被編譯為在框架或虛擬機(jī)上執(zhí)行的可執(zhí)行機(jī)器語言代碼或中間代碼。本文在通用意義上使用術(shù)語“程序”或“軟件”來指示能夠被采用來對(duì)計(jì)算機(jī)或其他處理器編程以實(shí)施如上所述的本發(fā)明的各個(gè)方面的任何類型的計(jì)算機(jī)代碼或計(jì)算機(jī)可執(zhí)行指令的集合。附加地,應(yīng)意識(shí)到根據(jù)這個(gè)實(shí)施例的一個(gè)方面,當(dāng)被運(yùn)行時(shí)執(zhí)行本發(fā)明的方法的一個(gè)或多個(gè)計(jì)算機(jī)程序不必駐留在單個(gè)計(jì)算機(jī)或處理器上,而可以采用模塊化形式分布在許多不同的計(jì)算機(jī)或處理器之間來實(shí)施本發(fā)明的各個(gè)方面。計(jì)算機(jī)可執(zhí)行指令可以采用由一個(gè)或多個(gè)計(jì)算機(jī)或其他設(shè)備執(zhí)行的多種形式,諸如程序模塊。一般來說,程序模塊包括執(zhí)行特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。通常,這些程序模塊的功能可以在各個(gè)實(shí)施例中根據(jù)需要進(jìn)行組合或分布。并且,數(shù)據(jù)結(jié)構(gòu)可以采用任何合適的形式存儲(chǔ)在計(jì)算機(jī)可讀媒體中。為了簡(jiǎn)化說明,數(shù)據(jù)結(jié)構(gòu)可以被顯示成具有通過數(shù)據(jù)結(jié)構(gòu)中的位置而相關(guān)的字段。這樣的關(guān)系同樣可以通過給字段的存儲(chǔ)設(shè)備分配在這些字段之間傳遞關(guān)系的計(jì)算機(jī)可讀介質(zhì)中的位置來實(shí)現(xiàn)。然而,任何合適的機(jī)制可以用于在數(shù)據(jù)結(jié)構(gòu)的字段中的信息之間建立關(guān)系,包括通過使用在數(shù)據(jù)元素之間建立關(guān)系的指針、標(biāo)簽或其他機(jī)制。本發(fā)明的各個(gè)方面可以單獨(dú)、組合或采用沒有在上述的實(shí)施例中具體論述的各種安排來使用,并因此在其應(yīng)用方面不限于在前面的描述中闡述的或在附圖中示出的組件的細(xì)節(jié)和安排。例如,在一個(gè)實(shí)施例中描述的方面可以米用任何方式與其他實(shí)施例中描述的方面進(jìn)行組合。并且,本發(fā)明可以被實(shí)施為方法,其中的示例已被提供。作為方法的一部分執(zhí)行的動(dòng)作可以采用任何合適的方式來排序。相應(yīng)地,可以構(gòu)造其中采用與所說明的順序不同的順序來執(zhí)行動(dòng)作的實(shí)施例,其可以包括同時(shí)執(zhí)行某些動(dòng)作,即使這些動(dòng)作在所說明的實(shí)施例中被顯示為順序動(dòng)作。例如,上面披露的一個(gè)實(shí)施例針對(duì)在文本字符串內(nèi)光標(biāo)的近似和精確放置。另一個(gè)實(shí)施例針對(duì)使用抓取器的文本字符串的選擇。這些實(shí)施例可以進(jìn)行組合,以致在對(duì)于抓取器執(zhí)行文本選擇的同時(shí)使用大致和精確放置。例如,來自用戶的拖動(dòng)輸入的結(jié)束位置最初可以使用近似放置來確定。隨后,根據(jù)來自用戶的進(jìn)一步輸入,可以更精確地放置抓取器。來自用戶的任何合適的輸入可以被接收。例如,用戶可以在所選擇的文本字符串內(nèi)提供敲擊輸入或者提供與抓取器相關(guān)聯(lián)的附加拖動(dòng)輸入來精確地放置抓取器。在權(quán)利要求書中使用諸如“第一”、“第二”、“第三”等之類的序數(shù)詞來修飾權(quán)利要求元素本身并不意味著任何優(yōu)先級(jí)、優(yōu)先權(quán)、或一個(gè)權(quán)利要求元素超過另一個(gè)的順序或執(zhí)行方法的動(dòng)作的時(shí)間順序,而僅僅用作標(biāo)簽來區(qū)分具有某個(gè)名稱的權(quán)利要求元素與具有相同名稱的另一個(gè)元素(僅對(duì)于序數(shù)詞的使用), 從而區(qū)分這些權(quán)利要求元素。并且,本文使用的措辭和術(shù)語用于描述的目的,并且不應(yīng)被視為限制。本文使用“包括”、“包括在內(nèi)”、“具有”、“包含”、“牽涉”及其變體意味著包含此后列出的各項(xiàng)及其等價(jià)物以及附加項(xiàng)。
權(quán)利要求
1.一種用于在顯示字符串(300)的計(jì)算設(shè)備(200)的顯示屏(250)上放置光標(biāo)(420)的方法,所述方法包括 從用戶接收第一輸入,其中第一輸入指示顯示屏(250)上與字符串(300)相關(guān)聯(lián)的第一輸入位置; 基于第一輸入位置,從第一多個(gè)放置位置中選擇第一光標(biāo)位置,第一多個(gè)放置位置中的每一個(gè)與字符串中的字符(320)相鄰; 在顯示屏上在第一光標(biāo)位置中顯示光標(biāo)(420),并且將計(jì)算設(shè)備放置在第一狀態(tài)中,其中在第一狀態(tài)中功能的執(zhí)行至少部分基于相對(duì)于字符串(300)的第一光標(biāo)位置; 在所述設(shè)備位于第一狀態(tài)中的同時(shí),從用戶接收第二輸入,其中第二輸入指示顯示屏(250)上與字符串(300)相關(guān)聯(lián)的的第二輸入位置; 基于第二輸入位置,從第二多個(gè)放置位置中選擇第二光標(biāo)位置,第二多個(gè)放置位置中的每一個(gè)與字符串中的字符相鄰;以及 在顯示屏(250)上在第二光標(biāo)位置中顯示光標(biāo), 其中 與第二多個(gè)放置位置相比,第一多個(gè)放置位置包括字符串內(nèi)較少的位置。
2.權(quán)利要求I的方法,其中 第一多個(gè)放置位置包括在字符串之后的位置以及在字符串之前的位置;以及 第二多個(gè)放置位置中的每一個(gè)包括在字符串的兩個(gè)相鄰字符之間的位置。
3.權(quán)利要求2的方法,進(jìn)一步包括 當(dāng)?shù)谝惠斎胛恢脤?duì)應(yīng)于字符串(300)的前半部分(330)內(nèi)的位置時(shí),將第一光標(biāo)位置選擇為在字符串之前的位置;以及 當(dāng)?shù)谝惠斎胛恢脤?duì)應(yīng)于字符串的后半部分(340)內(nèi)的位置時(shí),將第一光標(biāo)位置選擇為在字符串之后的位置。
4.權(quán)利要求2的方法,進(jìn)一步包括 當(dāng)?shù)谝惠斎胛恢脤?duì)應(yīng)于在字符串的開頭的第一預(yù)定數(shù)量的字符(370)時(shí),將第一光標(biāo)位置選擇為在字符串之前的位置;以及 當(dāng)?shù)谝惠斎胛恢梦挥谠谧址慕Y(jié)尾的第二預(yù)定數(shù)量的字符(380)中時(shí),將第一光標(biāo)位置選擇為在字符串之后的位置。
5.權(quán)利要求4的方法,其中 第一多個(gè)放置位置進(jìn)一步包括與字符串中沒有位于在字符串的開頭的第一預(yù)定數(shù)量的字符中并且沒有位于在字符串的結(jié)尾的第二預(yù)定數(shù)量的字符中的每一個(gè)字符相鄰的中間放置位置(390);以及所述方法進(jìn)一步包括 當(dāng)?shù)谝惠斎胛恢脤?duì)應(yīng)于特定的中間放置位置(390)時(shí),將第一光標(biāo)位置選擇為特定的中間放置位置。
6.—種計(jì)算機(jī)系統(tǒng)(200),包括 顯示屏(250); 至少一個(gè)傳感器(240),其被配置成接收來自用戶的第一拖動(dòng)輸入,第一拖動(dòng)輸入包括開始位置、路徑(525)和結(jié)束位置;至少一個(gè)處理器(120),其被配置成 在顯示屏(250)上顯示字符串(300)和第一抓取器(410),所述抓取器顯示在與字符串(300)中的第一字符(320)相關(guān)聯(lián)的第一抓取器位置上; 當(dāng)開始位置對(duì)應(yīng)于第一抓取器位置時(shí) 確定與結(jié)束位置相對(duì)應(yīng)的字符串中的第二字符(530); 高亮顯示在第一字符(320)與第二字符(530)之間的字符串的部分(520);以及 在與第二字母(530)相關(guān)聯(lián)的第二抓取器位置上顯示第二抓取器(510),并且在第一抓取器位置上顯示第一抓取器(410)。
7.權(quán)利要求6的計(jì)算機(jī)系統(tǒng)(200),其中 至少一個(gè)處理器(120)進(jìn)一步被配置成當(dāng)開始位置對(duì)應(yīng)于第一抓取器位置時(shí),在由至少一個(gè)傳感器(240)正在接收拖動(dòng)輸入的同時(shí),停止在顯示屏(250)上顯示第一抓取器(410)。
8.權(quán)利要求6的計(jì)算機(jī)系統(tǒng)(200),其中 至少一個(gè)處理器(120)進(jìn)一步被配置成當(dāng)至少一個(gè)傳感器(240)在與第一抓取器位置、第二抓取器位置或和文本的高亮顯示的部分(520)相關(guān)聯(lián)的位置相對(duì)應(yīng)的敲擊位置上接收到敲擊輸入時(shí),在顯示屏(250)上顯示上下文菜單(550)。
9.權(quán)利要求6的計(jì)算機(jī)系統(tǒng)(200),其中 第一抓取器(410)在接收到來自用戶的第一拖動(dòng)輸入之前進(jìn)行顯示,第一抓取器位置位于光標(biāo)位置的下方,其中至少一個(gè)處理器(120)進(jìn)一步被配置成在顯示屏(250)上在與文本的第一字符(320)相鄰的光標(biāo)位置上顯不光標(biāo)(410)。
10.權(quán)利要求6的計(jì)算機(jī)系統(tǒng)(200),其中 至少一個(gè)處理器(120)進(jìn)一步被配置成當(dāng)?shù)谝蛔址?320)和第二字符(530)比第一抓取器(410)和第二抓取器(510)的寬度更一起靠近時(shí),將顯示器配置成在更新的第一抓取器位置上重新顯示第一抓取器,第二抓取器位置與更新的第一抓取器位置相隔一距離,以致第一抓取器和第二抓取器不重疊。
全文摘要
用于為觸摸屏設(shè)備實(shí)施有效和易于使用的用戶界面的系統(tǒng)和方法。可以由用戶使用簡(jiǎn)單的輸入來放置光標(biāo)。設(shè)備操作來粗略地放置光標(biāo),并且根據(jù)來自用戶的進(jìn)一步輸入來完善光標(biāo)放置??梢允褂门c光標(biāo)相關(guān)聯(lián)的抓取器來選擇文本。用戶界面允許文本選擇而使得所選擇的文本不被用戶的手指或抓取器遮擋。為了選擇多行文本塊中的文本,實(shí)施動(dòng)態(tài)的安全區(qū)域來為用戶簡(jiǎn)化文本選擇。
文檔編號(hào)G06F3/0488GK102880417SQ20121033557
公開日2013年1月16日 申請(qǐng)日期2012年9月12日 優(yōu)先權(quán)日2011年9月12日
發(fā)明者J.J.維爾, J.L.安德森, J.沃爾夫, G.H.霍夫米斯特, J-K.馬基維奇, A.R.布勞寧格, S.J.斯塔普爾, D.E.沃興頓, M.J.科特勒, R.德莫普洛斯, A.帕特爾 申請(qǐng)人:微軟公司