分案說明
本申請屬于申請日為2010年8月30日的中國發(fā)明專利申請no.201080040184.4的分案申請。
對于相關申請的交叉引用
本發(fā)明專利申請要求在2009年9月9日提交的、題目為“用于觸覺增強的文本界面的系統(tǒng)和方法”的美國發(fā)明專利申請no.12/556,411的優(yōu)先權,通過引用,將其全部內容合并于此。
背景技術:
用于移動(和其他)裝置的通信選項經(jīng)常涉及使得用戶在發(fā)送消息的同時更有效。作為示例,諸如t9的預測文本技術使得用戶能夠提高其以每分鐘字(wpm)為單位的文本輸入速度?;谥T如使用按鍵接收的輸入的串行輸入,其中,每一個按鍵被映射到一個或多個字母,可以使用字母組來建議與輸入對應的單詞。所建議的單詞可以基于使用頻率和/或詞典,并且可以被提供為在菜單中的選擇或簡單地被插入以完成用戶的輸入??梢詮幕谥眯哦戎甘痉亩鄠€候選者選擇所建議的單詞或短語,其中,該置信度指示符例如是基于由文本引擎跟蹤的使用統(tǒng)計的正確的匹配的概率。一些預測文本技術也支持拼寫建議、標點和其他增強。
技術實現(xiàn)要素:
本發(fā)明的實施例包括用于提供觸覺增強的用戶界面的方法和系統(tǒng)。根據(jù)本發(fā)明的一個或多個方面配置的實施例可以例如通過增強在文本界面中建立、發(fā)送、讀取和/或接收內容中的用戶體驗來導致更引起興趣的用戶體驗。
本發(fā)明的一些實施例提供了用于文本完成的觸覺反饋的系統(tǒng)和方法。在一些實施例中,可以通過引擎或算法來分析串行輸入的單元,其中,該引擎或算法提供了用于與串行輸入的單元競爭或將其替換的多個輸入項建議??梢耘c一個或多個輸入項建議的一個或多個的顯示、選擇、或使用相結合地識別和提供一個或多個觸覺效果,以幫助引擎或算法的使用。所述觸覺效果可以表示相對于輸入項建議的一個或多個的置信度,或可以否則指示引擎/算法的相對成功。
例如,在一個實施例中,串行輸入可以包括用于表示在計算裝置或移動電話接收的一系列字符,串行數(shù)據(jù)的單元包括單詞或短語。一種方法可以包括:基于接收的輸入數(shù)據(jù)來產(chǎn)生文本輸入項建議,諸如單詞或短語,并且通過使用預測文本引擎來確定與文本輸入項建議相關聯(lián)的置信度。所述方法可以進一步包括:至少部分地基于由所述文本引擎識別的置信度(或其他指示符)來從多個可能的觸覺效果中識別觸覺效果,并且輸出至少一個觸覺信號,所述至少一個觸覺信號被配置來使得致動器產(chǎn)生識別的觸覺效果。
在一個實施例中,一種系統(tǒng)包括:處理器,所述處理器訪問包含程序組件的計算機可讀介質;以及,致動器。所述程序組件可以包括:用戶界面模塊,其被配置來接收輸入數(shù)據(jù);文本引擎,其被配置來基于所述接收的輸入來產(chǎn)生文本輸入項建議和置信度;以及,觸覺效果模塊。所述輸入數(shù)據(jù)可以表示一個或多個字符、短語和/或單詞。所述觸覺效果模塊可以被配置來至少部分地基于所述置信度來從多個可能的觸覺效果識別觸覺效果,并且輸出至少一個觸覺信號,所述至少一個觸覺信號被配置來使得所述致動器產(chǎn)生所述識別的觸覺效果。在一些實施例中,所述觸覺效果模塊和用戶界面模塊被配置使得與所述文本輸入項建議的顯示或選擇相結合地提供與每一個文本輸入項建議對應的觸覺效果。所述文本輸入項建議可以包括:完成文本的部分輸入項的建議、替換輸入的文本的建議、和/或整個單詞或短語的建議。
一種裝置可以包括界面提供選擇機構,用于在包括字符、單詞/短語或者兩者的文本輸入中選擇。例如,本發(fā)明的實施例包括動態(tài)按鍵或文本輸入界面。在屏鍵盤可能被隱藏,并且然后響應于對恢復控制的選擇而部分地或完全地被恢復以進行觀看。例如,如果使用觸摸使能的顯示,則用戶可以觸摸所述恢復控制,并且將所述鍵盤拉出以進行觀看。
用于提供所述動態(tài)按鍵或文本輸入界面的裝置可以保持所述鍵盤可見,直到在選擇中的不連續(xù)出現(xiàn)——例如,如果使用觸摸使能的顯示器,則可以保持所述鍵盤可見,直到與所述顯示器的觸摸中斷。當所述不連續(xù)出現(xiàn)時,達到的最后按鍵可以被用作輸入值,并且可以自動地重新隱藏所述鍵盤。可以使用所述動態(tài)按鍵或文本輸入界面來增大基于與建議的單詞相關聯(lián)的置信度而提供的觸覺效果。作為補充或替代,觸覺效果可以被綁定到按鍵的選擇,和/或所述鍵盤的移動。
所述動態(tài)按鍵或文本輸入界面可以包括諸如按鈕的界面元件,以允許選擇包括整個單詞或短語的文本輸入。所述鍵盤當需要選擇單獨字符時可以被訪問,并且當不必時被隱藏,以減少所占用的屏幕空間和/或者為另外的整個單詞按鈕留下空間。
本發(fā)明的其他實施例包括:提供用于用戶選擇輸入內容的串行顯示的選項。可以通過諸如搖動或輕拍裝置的,基于物理的輸入來指示選擇。當使用串行顯示時,可以將串行數(shù)據(jù)劃分為依序顯示的多個單元,諸如單詞、字符、標點符號等??梢栽趩卧伙@示之前、之后和/或之時,提供觸覺效果。本發(fā)明的其他實施例基于在第二裝置的行為,提供在第一裝置的觸覺效果。所述行為可以包括串行數(shù)據(jù)的單詞、字符或其他單元的輸入,并且/或者可以包括數(shù)據(jù)的單詞、字符或其他單元的顯示/觀看。
這些說明性實施例被描述為不限制或限定本主題的限制,而是提供有助于其理解的示例。在詳細描述中討論了說明性實施例,并且在其中提供進一步的說明。通過查看本說明書和/或通過實施所要求保護的主題的一個或多個實施例,可以進一步理解由各個實施例提供的優(yōu)點。
附圖說明
在說明書的剩余部分中更具體地給出了全面和可行的公開。說明書參考下面的附圖。
圖1圖示了計算裝置,該計算裝置包括被配置來提供具有文本輸入項建議的觸覺效果的說明性移動裝置。
圖2圖示了被配置來提供具有文本輸入項建議的觸覺效果的說明性計算裝置。
圖3是示出在用于基于與一個或多個文本輸入項建議相關聯(lián)的置信度來提供觸覺效果的方法中的說明性步驟的流程圖。
圖4是示出在用于與一個或多個文本輸入項建議的輸出相結合地提供觸覺效果的方法中的說明性步驟的流程圖。
圖5是示出在用于動態(tài)按鍵或文本輸入界面的方法中的說明性步驟的流程圖。
圖6a-6d的每一個是用于示出在操作中的說明性動態(tài)按鍵或文本輸入界面的圖。
圖7是示出在用于提供消息的串行表示的方法中的說明性步驟的流程圖。
圖8a和8b的每一個是示出使用串行表示的消息的說明性輸出的圖。
圖9是示出用于當通信會話在兩個或更多裝置之間進行時,提供觸覺效果的方法中的說明性步驟的流程圖。
具體實施方式
現(xiàn)在詳細參考不同和替代的說明性實施例,以及附圖。通過說明而不是作為限制來提供每一個示例。對于本領域內的技術人員而言顯而易見的是,可以進行修改和改變。例如,被圖示或描述為一個實施例的一部分的特征可以在另一個實施例上使用,以產(chǎn)生又一個實施例。因此,本公開意圖使其包括在所附的權利要求和它們的等同內容的范圍內的修改和改變。
用于文本完成的觸覺反饋的說明性示例
本發(fā)明的一個說明性實施例包括:移動裝置,諸如移動電話、音樂播放機、或智能電話。在說明性實施例中,移動裝置包括具有t9文本完成引擎的nokia5800。移動裝置可以包括屏幕和多個按鍵;該按鍵可以包括物理按鈕或可以是基于觸摸屏的。移動裝置的處理器從用戶接收輸入,該輸入包括用于諸如在消息中的文本字段的字段的一個或多個按鍵輸入?;谠撦斎耄幚砥骺梢允褂梦谋就瓿梢鎭泶_定用于完成輸入的一個或多個候選者。候選者可以與置信度相關聯(lián)。
基于置信度,可以提供觸覺輸出。例如,可以與用于允許用戶選擇完成候選者的選擇機構相結合地提供諸如電話的振動的觸覺效果。觸覺效果可以基于每一個選擇的建議的置信度來改變,并且/或者可以基于用于可用候選者的整體置信度來選擇觸覺效果。又如,可以在具有最高概率的完成候選者被自動地插入消息或字段內后,提供觸覺效果以向用戶提供重新評估該插入的機會??梢韵鄬τ诒舜嘶蛳鄬τ诮^對尺度為候選者測量置信度。
該說明書示例被提供來向讀者介紹在此所述的一般主題。本發(fā)明不限于這個示例。下面的表示描述用于在文本完成中的觸覺反饋中使用的方法和系統(tǒng)的各種另外的非限定性實施例和示例。
用于文本輸入的觸覺反饋的說明性系統(tǒng)
圖1描述了計算機系統(tǒng)100,計算機系統(tǒng)100包括:處理器102,其經(jīng)由總線106訪問包含程序組件的計算機可讀介質104。系統(tǒng)100也包括致動器114。在這個示例中,在移動電話中包括處理器102、介質104和致動器114,該移動電話還包括顯示器110、小鍵盤112和揚聲器/麥克風部件116。例如,小鍵盤112可以包括12個按鍵芯片外加示出的三個功能按鍵f1、f2和f3。在一些實施例中,計算機系統(tǒng)可以包括觸摸使能的顯示器,并且可以或可以不包括用于接收輸入的獨立按鍵。另外,雖然將致動器114圖示為被包括在計算機系統(tǒng)100中,但是致動器114可以被包括在與處理器102進行通信的外圍裝置中(例如,藍牙耳機)。
在這個示例中,計算機可讀介質(存儲器)104包括幾個程序組件,該幾個程序組件配置所述計算系統(tǒng)以提供根據(jù)本發(fā)明的一個或多個方面的功能。具體地說,用戶界面模塊118被配置來接收用于表示一個或多個字符、單詞或短語的選擇的輸入數(shù)據(jù),文本引擎120被配置來基于接收的輸入數(shù)據(jù)來產(chǎn)生文本輸入項建議,并且確定與文本輸入項建議相關聯(lián)的置信度,并且觸覺效果模塊122被配置來至少部分地基于置信度從多個可能的觸覺效果識別觸覺效果。
存儲器104也包括一個或多個應用124,諸如電子郵件應用、瀏覽器、地址簿應用、消息傳送應用、操作系統(tǒng)或由計算裝置使用的任何其他可執(zhí)行代碼。數(shù)據(jù)126表示用戶數(shù)據(jù)、應用數(shù)據(jù)和在計算系統(tǒng)的操作中使用的其他存儲的信息。雖然數(shù)據(jù)和應用被圖示為容納在移動裝置處,但是實施例可以包括遠程定位的應用、程序組件和/或數(shù)據(jù)。
諸如一個或多個應用124的應用可以為用戶選項,以提供一個或多個輸入值。例如,用戶可以輸入包括用于電子郵件、消息或網(wǎng)頁的內容和/或地址的文本。文本引擎120可以包括任何數(shù)量或類型的基于算法的預測文本引擎,該預測文本引擎分析那個輸入,并且基于用戶的輸入來提供用于輸入值的一個或多個文本輸入項建議。例如,文本引擎120可以使用概率算法來基于部分提供的輸入值提供用于輸入值的一個或多個建議的完成項。又如,用戶可以輸入完成值,并且文本引擎120可以提供用于輸入值的一個或多個建議的校正。用戶輸入和文本輸入項建議可以包括一個或多個單詞或短語,并且可以適當?shù)匕它c符號、數(shù)字和其他字符。
一個或多個應用124也可以包括用于處理網(wǎng)絡連接的程序組件和被配置來訪問串行數(shù)據(jù)的一個或多個模塊。例如,應用可以提供包括在通信會話期間經(jīng)由電子郵件、短消息系統(tǒng)(sms)、即時消息傳送、或另一個協(xié)議而發(fā)送的消息的數(shù)據(jù)的接收和查看。又如,一個或多個模塊可以訪問和解碼存儲的數(shù)據(jù),該數(shù)據(jù)用于表示例如在瀏覽器、生產(chǎn)應用或另一個應用中使用的、用于顯示的html內容、單詞處理文件和/或其他電子文件。
如下所述,可以通過使用由觸覺效果模塊122處理的一個或多個觸覺效果來增強由應用124輸出的內容;這些效果可以補充或替代基于文本輸入項建議的觸覺效果。另外,用戶界面模塊118可以用于例如通過提供下述的串行輸出模式,來增強由應用124輸出的內容的遞送。用戶界面模塊118也可以協(xié)調經(jīng)由小鍵盤112、觸摸使能的顯示器、和/或其他輸入機構的輸入的接收。
在一些實施例中,文本引擎120基于預先完成或輸入的單詞來提供一個或多個建議的完成項或輸入項。例如,完成項建議和/或用于輸入項的單詞的建議可以基于先前的一個或多個輸入項的語句結構和/或主題的上下文來進行評估。更一般而言,文本引擎120可以包括任何應用或部件,其基于先前提供的輸入而建議用于輸入項的一個或多個單詞、字符或短語。
文本引擎120可以基于與一個或多個候選建議相關聯(lián)的置信度來提供文本輸入項建議,以確定要建議的一個或多個更可能的校正或完成項,和/或用于建議文本輸入項的表達方案??梢韵蛴脩籼峁┯糜趶囊粋€或多個候選文本輸入項建議進行選擇的選項,并且/或者,文本引擎120可以插入具有最高置信度的完成項/校正,以由用戶確認。如果插入完成項/校正,則文本引擎可以簡單地假定插入的完成項/連接是期望的,除非提供了其他輸入。
例如,在用戶輸入一系列字符之時或之后,可以提供界面來顯示一個或多個文本輸入項建議,其具有預先選擇的具有最高置信度的建議。在一些實施例中,隨著在用戶繼續(xù)鍵入時置信度發(fā)生改變,則文本輸入項建議的數(shù)量和順序也可以改變。如果用戶鍵入“空格”或另一個預定停止字符而不改變選擇的文本輸入項建議,則可以默認地插入選擇的文本輸入項建議。
預測文本引擎的示例包括從massachusetts(馬薩諸塞州)的nuancecommunicationsofburlington可獲得的t9文本引擎、從可illinois(伊利諾伊州)的libertyville的motorola,inc.(摩托羅拉公司)獲得的itap技術、和從加拿大的ontario(安大略)的waterloo的motion,inc.可獲得的suretype引擎。預測文本引擎的另外的示例包括來自connecticut(康涅狄格)的hartford(哈特福德)的keisense的pritext和在http://www.touchtype-online.com能夠在線獲得的touchtypeexpress信息。
如上所述,根據(jù)本主題的一個或多個方面,可以向文本輸入項建議加上觸覺效果,以增強用戶體驗??梢曰谂c一個或多個文本輸入項建議相關聯(lián)的置信度來選擇觸覺效果,這可以允許用戶更容易地或迅速地確定與有可能的建議相關聯(lián)的置信度。例如,除了停止文本輸入項并且俯看顯示器之外,用戶能夠簡單地滾動通過各種建議的完成項,以便確定哪個是最可能的匹配。
觸覺效果也可以被用作用于指示是否已經(jīng)進行了單個建議、是否可獲得多個建議的提示,并且可以同時指示關于可獲得的建議的文本引擎的置信度。例如,輸入界面可以被提供有相對于其他加亮的可能建議的最高置信度文本輸入項建議。如果最高置信度文本輸入項建議具有在絕對尺度上的低置信度,則可以提供不同的觸覺反饋,以便吸引用戶的注意力,并且避免用戶非故意地默認使用較差的建議的完成項/校正。
觸覺效果模塊122可以用于通過下述方式提供一個或多個觸覺效果:及,通過提供被配置來使得致動器114產(chǎn)生觸覺效果的至少一個觸覺信號。在這個示例中,圖示出單個致動器114,但是可以一起和/或分離地使用多個致動器,以提供各種觸覺效果。致動器的示例包括但是不限于壓電致動器、電動機、電磁致動器、語音線圈、線性諧振致動器、形狀記憶合金、電激活聚合物、螺線管、偏心的旋轉質量電機(erm)、或線性諧振致動器(lra)。致動器可以被包括在裝置外殼、裝置屏幕和/或它處中。
在一些實施例中,基于將不同的效果映射到不同的置信度的數(shù)據(jù)來選擇觸覺效果。例如,在一些實施例中,置信度包括在0和1之間的概率值,并且觸覺效果模塊被配置來使用將概率值與不同的觸覺效果相關聯(lián)的函數(shù)。例如,致動信號的幅度可以用于基于概率值調整振動的幅度。又如,觸覺效果可以基于可能的文本輸入項建議的數(shù)量。置信度指示在用于特定的一組建議的輸入項建議之間的相對置信度,并且/或者可以指示相對于絕對尺度的輸入項建議的置信度。
可以任何適當?shù)姆绞礁淖冇|覺效果。例如,可以調整振動的幅度和頻率以建立一系列可能響應。例如,在一些情況下可以使用一系列高頻尖銳脈沖,而在其他情況下可以使用低頻連續(xù)脈沖。在一些實現(xiàn)方式中,不同類型的觸覺效果可以被映射到不同的置信度。例如,高頻和“尖銳”輸出可以與低置信度相關聯(lián),以便吸引用戶的注意力,而低頻和其他“精細”輸出可以與高置信度相關聯(lián)。又如,不同類型的觸覺效果可以被映射到不同的建議類別——例如,不同的觸覺效果可以用于指示何時建議完成項、何時建議替代項、和/或在整個單詞的建議和標點符號的建議之間的區(qū)分。
在一些實施例中,觸覺效果模塊122依賴于諸如觸覺方案的選擇的用戶設置來將置信度和其他標準映射到觸覺效果。例如,一種方案可以將短的尖銳效果與整個單詞的高置信度建議相關聯(lián),而另一種方案可以將長的軟效果與同一類型的建議相關聯(lián)。
可以以任何適當?shù)姆绞絹泶鎯蜋z索觸覺效果。例如,用于表示用于產(chǎn)生觸覺效果的一個或多個信號的數(shù)據(jù)可以被存儲在數(shù)據(jù)存儲區(qū)中,然后基于標識符或觸覺效果的屬性被訪問。作為補充或替代,可以使用存儲的效果來建立觸覺效果,并且基于所需的效果的類型來調整幅度、頻率等。
圖2是示出另一個實施例的框圖,在該實施例中,在包括計算平臺200的計算系統(tǒng)中提供觸覺效果。例如,計算平臺200可以包括便攜或臺式計算機。在這個示例中,計算平臺200包括:一個或多個處理器200、存儲器204、總線206、i/o接口208和圖形處理器210。i/o接口208和圖形處理器210將處理器202連接到顯示器211、網(wǎng)絡212、i/o裝置214和存儲器216(例如,硬盤、cd-rom等)。
在這個示例中,存儲器包含可以根據(jù)用戶界面模塊118、引擎120和觸覺效果模塊122配置的ui模塊218、文本引擎220和觸覺效果模塊222。這個示例還圖示一個或多個應用224、數(shù)據(jù)226和操作系統(tǒng)228。
如上所述,一個或多個i/o裝置214可以對接到計算平臺200。i/o裝置的示例包括但是不限于鼠標、鍵盤、觸控板、操縱桿、游戲控制器、觸摸使能的顯示器或筆/觸摸鞋子板。與處理器202進行通信的這樣的i/o裝置或其他裝置的一些或全部可以包括用于提供觸覺反饋的一個或多個致動器。例如,可以經(jīng)由鍵盤和/或鼠標來將觸覺效果提供為在單詞處理應用、萬維網(wǎng)瀏覽器、電子郵件應用、操作系統(tǒng)、交互游戲或其他應用中的用戶類型。
在上面的示例中,用戶界面模塊118(218)、文本引擎120(220)和觸覺效果模塊122(222)被示出為彼此分離,并且與應用/操作系統(tǒng)分離。然而,在一些實施例中,觸覺效果模塊和/或ui模塊的功能可以被集成到文本引擎、一個或多個應用和/或操作系統(tǒng)內。
用于文本完成的觸覺反饋的說明性方法
圖3是示出在用于基于與一個或多個文本輸入項建議相關聯(lián)的置信度來提供觸覺效果的方法300中的說明性步驟的流程圖。塊302表示接收用于表示一個或多個單詞或字符的選擇的輸入數(shù)據(jù)。例如,用戶可以經(jīng)由在移動裝置上的多重(multitap)按鍵、經(jīng)由鍵盤或使用另一種適當?shù)妮斎霗C制來輸入一個或多個字符和/或選擇用于輸入項的單詞。又如,用戶可以提供被識別為一個或多個字母或單詞的手寫或觸摸輸入。
塊304表示基于輸入數(shù)據(jù)來探明文本輸入項建議。在這個示例中,探明文本輸入項建議包括在裝置處產(chǎn)生建議。例如,文本引擎可以使用現(xiàn)有技術來基于輸入而有意地確定所期望的單詞。例如,可以使用t9算法來分析來自12按鍵移動電話鍵盤的按鍵輸入,以從多重輸入按鍵的排列中識別可能的輸入序列。文本引擎可以遠離裝置;例如,該裝置可以向萬維網(wǎng)服務提供呼叫或提供由第二裝置提供的其他功能,以便獲得文本輸入項建議。
在一個說明性實施例中,如圖1中所示地映射按鍵(即,沒有對于“1”按鍵的映射、字母“abc”被映射到“2”按鍵、字母“def”被映射到“3”按鍵等)。如果輸入是“228”,則可能的排列包括(但是不限于)“aat”、“bat”、“bau”、“bav”和“cat”?;诳赡軉卧~的詞典和用于指示先前單詞的使用頻率的統(tǒng)計數(shù)據(jù),算法可以確定“cat”是基于該輸入的最頻繁地使用的單詞,其后跟著“bat”??梢詫ζ溥M行建議,其后跟著“aat”和“bau”。替代地,在沒有在詞典中的輸入項和/或過去的使用的情況下,可以根本不建議后面的單詞??梢允褂闷渌存I映射,并且,按鍵映射可以取決于用于特定裝置的文本引擎。
在一個實施例中,對于新單詞的輸入項提供文本輸入項建議。例如,可以針對語法和/或主題上下文,通過文本引擎評估先前輸入的單詞(如果有的話),以確定用于完成表達的可能單詞。例如,如果用戶已經(jīng)輸入“發(fā)送”,則文本引擎可以確定下一個可能單詞包括“to”。單詞“to”可以被提供為在進一步輸入提供之前的建議的輸入項。在一些實施例中,可以在界面中提供用于輸入項的多個可能單詞,諸如用于從可能單詞中進行選擇的多個在屏按鍵。
塊306表示確定與文本輸入項建議的一個或多個相關聯(lián)的置信度。例如,基于詞典和使用頻率的分析可以用于對于每一個要提供的建議得出在0和1之間的概率值。又如,文本引擎可以被配置來在輸入的分析期間以置信度標識符(例如,“低”、“中間”或“高”)來標注每一個建議。
在塊308,從多個可能的觸覺效果識別一個或多個觸覺效果。例如,可以訪問觸覺效果庫,并且可以基于用于特定文本輸入項建議的置信度的概率值或其他指示符來選擇一個或多個效果。
可以在不同的情況下識別不同的觸覺效果。例如,在一些實施例中,對于多個文本輸入項建議的每一個識別觸覺效果。然后,當顯示、選擇、或者使用文本輸入項建議的選擇的一個時,可以提供其對應的觸覺效果。又如,可以對于諸如具有最高置信度的建議的單個文本輸入項建議識別觸覺效果。當顯示文本輸入項建議時和/或在選擇或自動地插入文本輸入項建議后,可以提供觸覺效果。
又如,可以基于對集合的文本輸入項建議的置信度進行評估來選擇單個觸覺效果。例如,可以提供多個文本輸入項建議來向用戶進行顯示。每個建議的置信度可以被用作在算法中的輸入以獲得平均、中值或其他集合置信度值。然后,可以使用集合值來識別單個觸覺效果。
例如,當顯示輸入界面時,可以提供單個觸覺效果。這可以當所有可用建議的置信度低時警告用戶進行更密切的關注。另一方面,如果置信度高,則可以顯示不同的、較少“不和諧”的觸覺效果,并且用戶可以僅繼續(xù)進行鍵入,其中,可以通過默認來選擇或插入具有最高置信度的建議。
塊310表示輸出至少一個觸覺信號,以使得一個或多個致動器產(chǎn)生選擇的觸覺效果。例如,用于觸覺信號的定義數(shù)據(jù)可以被訪問并且用于與一個或多個文本輸入項建議的輸出相結合地驅動致動器。
又如,致動器可以被配置來通過產(chǎn)生其本身的驅動信號,例如通過保持不同觸覺輸出的機載存儲器來響應選擇信號以提供一個或多個觸覺效果。這可以是例如當在與處理器進行通信的獨立裝置中包括致動器時的情況。因此,觸摸信號可以包括用于標識選擇的觸覺效果的數(shù)據(jù),并且可以與用于標識何時開始選擇的效果的觸發(fā)一起被發(fā)送到致動器。
可以在任何適當?shù)臅r間提供觸覺效果。例如,如上所述,在一些實施例中,可以當顯示、選擇和/或插入文本輸入項建議時,提供觸覺效果。在特定實施例中,當顯示用于選擇建議的界面時,提供第一觸覺效果,然后,在選擇了文本輸入項建議時提供在輸入界面內的每一個相應的文本輸入項建議的觸覺效果。在一些實施例中,整個單詞被映射到真實或基于屏幕的按鍵。與每一個建議的單詞相關聯(lián)的置信度可以被用作當選擇按鍵時播放的觸覺效果的基礎。這可以例如允許用戶通過在進行最后的選擇之前觸摸相應的按鍵來“感覺到”每一個單詞的置信度。
在上面的示例的一些中,基于由預測文本引擎分析的部分或完整文本輸入,基于來自文本完成/建議引擎的置信度來提供觸覺效果。然而,本主題的方面適用于其他串行輸入。通常,可以通過引擎或算法來分析串行輸入,該引擎或算法提供用于與串行輸入的單元競爭或將其替換的多個輸入項建議??梢耘c一個或多個輸入項建議的顯示、選擇或使用相結合地識別和提供一個或多個觸覺效果,以幫助引擎或算法的使用。
圖4是示出在用于與用于替換串行輸入的單元的一個或多個建議的輸出相結合地提供觸覺效果的方法400中的說明性步驟的流程圖。塊402表示接收串行輸入,諸如用于表示一系列字符、單詞或短語的鍵入的輸入數(shù)據(jù)。基于所述輸入,在塊404,產(chǎn)生多個輸入項建議,以替換在串行輸入內的一個或多個所期望的單元。輸入項建議可以包括但是不限于文本輸入項建議。在該情況下,串行輸入的單元可以包括單詞或短語。
在這個示例的塊406,對于一個或多個輸入項建議確定對應的觸覺效果。如上所述,在一些實施例中,可以基于與由預測文本引擎確定的一個或多個文本輸入項建議相關聯(lián)的置信度來選擇觸覺效果。又如,可以基于可獲得的建議的數(shù)量來選擇觸覺效果。例如,如果未提供或不可獲得輸入項建議,則可以選擇對應的觸覺效果。不同的觸覺效果可以指示大量的選擇。
在塊408,與一個或多個文本輸入項建議的顯示、選擇或其他使用相結合地提供一個或多個觸覺效果。作為補充或替代,可伴隨用于指示建議處理的結果的其他輸出來提供觸覺效果。
在一些實施例中,可以依序顯示多個輸入項建議,當顯示相應的建議時,提供用于每一個元件的相應的觸覺效果。又如,計算系統(tǒng)可以包括多個輸入按鍵,其中,同時顯示多個建議的至少一些,但是其被顯示在被映射到相應的輸入按鍵的位置處。當啟動相應的輸入按鍵時,可以提供用于每一個相應的建議的觸覺效果。“按鍵”可以包括物理按鍵或按鈕,或可以包括在圖形用戶界面中的區(qū)域(例如,按鈕)。按鍵可以當它在圖形用戶界面中被按下、觸摸或點擊/在其上懸置時被確定。
如上所述,本主題的方面可以用在任何串行輸入的上下文中,其中,提供了用于替換串行輸入的一個或多個單元的輸入項建議。
例如,使用指示裝置或移動感測裝置做出的手寫字符或手勢可以是串行輸入的來源??梢允褂檬謱懽R別或手勢識別引擎來識別和提供輸入項建議。該引擎可以提供置信度或感知的識別精度的其他指示符,其可以用于識別一個或多個觸覺效果以向用戶傳送置信度。
又如,文本識別引擎(例如,光學字符識別(ocr))或語音識別引擎可以用于獲得串行輸入,其中,在用于在逐個字母、逐個單詞、逐個短語或其他基礎上確認文本或語音識別的背景中提供觸覺效果。例如,可以經(jīng)由對接到計算機系統(tǒng)的鍵盤或鼠標來提供觸覺效果,該計算機系統(tǒng)用于在單詞處理或其他應用中驗證ocr處理。
串行輸入可以包括一個或多個數(shù)據(jù)文件,該一個或多個數(shù)據(jù)文件包括在單詞處理應用、集成開發(fā)環(huán)境(ide)或其他應用中正在編輯的文本。例如,拼寫檢查器、語法檢查器、或代碼句法分析模塊可以分析文本的單詞或短語,并且提供一個或多個文本輸入項建議以由用戶選擇??梢蕴峁┯|覺效果來如上所述地單獨和/或集合地指示建議的置信度。
上面的幾個示例指的是觸覺效果。觸覺效果可以包括但是不限于諸如裝置的振動的觸摸反饋。觸覺效果可以包括在顯示器的外觀上的改變(例如,不同的顏色)、聲音或其他類型的反饋,或者可以伴隨與在顯示器的外觀上的改變(例如,不同的顏色)、聲音或其他類型的反饋而被提供。另外,在上面的示例的幾個中,當提供觸覺效果的同時,顯示諸如文本輸入項建議的輸入項建議。作為補充或替代,可以經(jīng)由音頻接口向用戶提供輸入項建議。
根據(jù)本主題配置的實施例可以在一些情況下提供優(yōu)點。例如,可以通過減少在自動完成的文本中的錯誤來增強用戶對于裝置的體驗——可以在例如使用錯誤詞之前使得低概率匹配引起用戶的關注。也可以提高文本完成速度。例如,除了如果指示低概率匹配或其他問題之外,不同類型的反饋可以允許用戶不參考顯示器來鍵入,這可以允許更引起興趣的用戶體驗。
如上所述,可以伴隨任何適當?shù)挠脩艚缑媸褂脤嵤├?。用戶界面可以包括但是不限于在觸摸使能的表面上提供的動態(tài)按鍵或文本輸入界面。圖5是用于示出在用于動態(tài)按鍵或文本輸入界面的方法500中的說明性步驟的流程圖。例如,諸如如上所述的模塊118/218的用戶界面模塊可以被配置來提供根據(jù)圖5的實施例,以允許選擇字符、短語和/或詞以經(jīng)由觸摸使能的顯示器或表面來輸入。
轉向圖5,塊502表示顯示鍵盤恢復控制。例如,在一些實施例中,動態(tài)按鍵或文本輸入界面可以包括從視覺上選擇性地隱藏的鍵盤,以便減少由輸入元素占用的顯示區(qū)域。這可能對于小屏幕大小而言特別有益,但是也可以增強任何大小的屏幕的使用。取代鍵盤,裝置可以以一個或多個其他輸入機構為特征。例如,可以顯示一個或多個行的按鈕,其中,按鈕用于提供用于表示整個單詞或短語的輸入。因此,在塊502處,鍵盤恢復控制或標簽被顯示以允許在必要時請求鍵盤以用于提供輸入。在一些實施例中,鍵盤恢復控制被呈現(xiàn)為在顯示區(qū)域的邊緣處的標簽或其他界面元素,并且其可以用于向顯示器上“拉”回鍵盤。
塊504表示接收用于選擇恢復控制的輸入。例如,在觸摸使能的顯示器中,用于標簽的坐標可以被映射到在顯示區(qū)域內的區(qū)域;當觸摸那個區(qū)域時,則可以將標簽看作“被選擇”。塊506表示作為響應來顯示鍵盤的一些或全部。如果將鍵盤恢復控制表示為標簽或其他元素,則用于選擇恢復控制的輸入可以進一步包括將鍵盤拖入視野內。然而,在一些實施例中,在觸摸恢復控制后,鍵盤自動地出現(xiàn)。當顯示鍵盤時,可以播放一個或多個可視和/或觸覺效果。
如果在隱藏鍵盤的同時顯示其他在屏元件,則可以通過鍵盤來補充或替換當前顯示的元件。例如,如果當隱藏鍵盤時顯示四行單詞輸入按鍵,則當顯示鍵盤時,可以僅顯示單行的單詞輸入項按鍵(或不顯示單詞輸入項按鍵)。
塊508表示確定選擇是否是連續(xù)的——即,確定對鍵盤恢復控制或鍵盤的選擇是否出現(xiàn)任何不連續(xù)。在一些實施例中,與不連續(xù)選擇鍵盤恢復控制并且然后選擇一個或多個按鍵不同地處理連續(xù)或近乎連續(xù)地選擇按鍵恢復控制以及隨后在鍵盤上的拖動移動。例如可以通過下述方式來實現(xiàn)這一點:及,通過確定在鍵盤恢復控制和在鍵盤上的按鍵的選擇之間的時間段中,在與觸摸表面接觸中是否存在任何中斷,并且評估任何這樣的中斷的長度來實現(xiàn)。例如,可以查看時序的閾值,以確定是否在恢復控制和一個或多個按鍵的接觸/選擇中的間隙足夠長,從而確定選擇是否是“連續(xù)的”。
在這個示例中,如果選擇不連續(xù),則在塊508,動態(tài)子例程結束,并且顯示鍵盤,直到再一次響應于用戶輸入而隱藏;作為補充或替代,可以在已經(jīng)過去預定時間長度后可以重新隱藏鍵盤。
另一方面,如果選擇是連續(xù)的,則達到塊510。塊510表示:顯示鍵盤直到選擇結束,并且確定在不連續(xù)時到達那個按鍵。例如,用戶可以觸摸鍵盤恢復控制來拉出鍵盤,然后在鍵盤上拖動手指、觸摸筆或其他對象,直到到達期望的按鍵。當用戶停止觸摸鍵盤時或如果用戶逗留在特定按鍵到達閾值時間長度,則可認為選擇結束。
在一些實施例中,與動態(tài)按鈕或文本輸入界面的使用相結合地提供一個或多個觸覺效果。例如,當鍵盤恢復控制的選擇出現(xiàn)時,當顯示鍵盤時,當遇到不同的按鍵時可以播放不同的觸覺效果,以模擬在按鍵之間的間隙和/或模擬其他效果。
塊512表示隱藏鍵盤,并且使用最后選擇的按鍵來作為輸入值。例如,如果用戶拉出鍵盤,將手指拖到“r”按鍵并且然后停止拖動(并且/或停止觸摸鍵盤),則可以認為“r”按鍵是期望的輸入??梢栽诖鎯ζ髦写鎯τ糜跇俗R“r”按鍵的數(shù)據(jù)以由另一個部件使用。
在一些實施例中,最后選擇的按鍵可以被文本引擎用作輸入值以更新一組建議的單詞。例如,如上所述,可以提供一個或多個按鍵以選擇包括整個單詞的文本輸入項。如果在可獲得的候選者中未顯示期望的單詞,則用戶可以將鍵盤拖到視野內,并且提供一個或多個字母。所提供的字母可以用于產(chǎn)生候選單詞的新集合,并且當隱藏鍵盤時可以顯示具有候選單詞的更新的集合的按鈕。
在一些實施例中,可以獨立于基于置信度的觸覺效果,而使用動態(tài)按鍵或文本輸入界面。然而,其他實施例包含觸覺效果的使用,以根據(jù)在圖1-4中如上所述的示例來指示候選單詞的置信度。
圖6a-6d的每一個是示出在使用中的說明性動態(tài)按鍵或文本輸入界面的方面的圖。圖6a表示用于提供界面602的裝置600的初始視圖。在這個示例中,顯示區(qū)域604被提供,并且其可以例如允許用戶編寫電子郵件、sms、博客張貼、文件、命令,或者提供包括文本內容的輸入??梢栽陲@示區(qū)域604中觀看諸如網(wǎng)頁、前一個電子郵件消息等的其他內容。
在這個示例中,在界面602的下半部分中示出輸入?yún)^(qū)域606,以接收用戶輸入。具體地說,多個按鍵608允許選擇用于輸入項的整個單詞或短語,而鍵盤610包括用于在輸入時選擇一個字母/字符的按鍵布置。整個單詞選擇按鍵可以允許當文本引擎指示單個字母的“單詞”時選擇單個字母(諸如在圖6a中所示的“i”)。鍵盤的特定布局和構成僅是示例;其他部件可以包括更多或更少的字母、標點符號、符號、數(shù)字、功能按鍵(例如,移位)等。
在這個示例中,還沒有輸入文本,因此,在顯示區(qū)域604中未示出文本。例如,用戶可能剛剛開始編寫消息。文本引擎已經(jīng)確定多個候選建議,其中三個(“i”、“ok”和“do”)在圖6a中被示出為可以使用對應的整個單詞選擇按鍵608而選擇的選項。在這個示例中,鍵盤610可以被最小化,使得輸入?yún)^(qū)域606可以在大小上相對于顯示區(qū)域604減小,并且/或者使得可以顯示更多的按鍵606以允許選擇整個單詞。
圖6b示出在已經(jīng)最小化鍵盤610后的界面602。在這個示例中,示出具有對應的建議的另外的整個單詞選擇按鍵608(“where”、“hey”、“why”、“am”、“what”和“when”)。另外,鍵盤恢復控制612已經(jīng)被呈現(xiàn)在界面602的底部,以允許用戶請求鍵盤610返回以使用。在這個示例中,鍵盤610脫離界面602的底部,但是可以明白,顯示區(qū)域604、輸入?yún)^(qū)域606的相對位置和布置,以及按鍵608和鍵盤610的大小、布局和格式可以改變。當鍵盤恢復控制612時,通過如向上指示的箭頭所示的從界面612的底邊向上移動,鍵盤610可以返回以使用。
在這個示例中,對單個單詞進行建議。實施例包括:在單個按鍵608中的多個單詞(即,短語)的建議(例如,“noway”),并且/或者,在建議中包括標點符號或其他字符(例如,“l(fā)ol!”)。另外,單個單詞的建議可以包括也在鍵盤上出現(xiàn)的單個字母或字符。例如,字母“a”可以是建議的單詞。文本輸入項建議可以包括使用除了在此示出的那些之外的其他語言或字母表的單詞、字符和/或短語,并且,如果被基礎的文本引擎支持則可以使用語言/字母表的混合。
圖6c圖示鍵盤610的分解視圖。如果可獲得的整個單詞輸入按鍵608不顯示期望單詞,則用戶可能期望使用鍵盤610,來輸入一個或多個字符。在這個示例中,用戶初始選擇恢復控制612,并且向上拖動(由在圖6b中的箭頭示意地圖示)。然后,在將手指、觸摸筆或其他指針與界面600保持接觸,或保持鍵盤610的選擇時,用戶可以跨過按鍵而拖到感興趣的字母,如在圖6c中的箭頭614所示??梢栽谶@樣的移動期間提供觸覺反饋,諸如當用戶的手指從按鍵向按鍵移動時的反饋。
在這個示例中,用戶從恢復控制612向下拖動到“y”按鍵,然后跨過“t”和“r”按鍵,直到到達“d”按鍵。如果用戶逗留在“d”按鍵上超過預定閾值,或在“d”按鍵處中斷與觸摸界面的接觸時,則這個行為可以被解釋為“d”按鍵的選擇。
圖6d圖示在選擇“d”按鍵后的界面600的狀態(tài)。按鍵610已經(jīng)再一次被隱藏,如向下指示的箭頭指示,并且再一次在界面612的邊緣處示出恢復控制612。在616示出多個整個單詞輸入按鍵。然而,按鍵616與按鍵608不同之處在于:已經(jīng)基于“d”按鍵的輸入來更新一組候選建議。在這個示例中,所有的建議的單詞("do","don't","down","dude',"doubtless","dog","disorderly","duh")以字母“d”開始。特定的一組候選建議當然可以取決于文本引擎的操作。例如,基于過去和/或當前的文本信息,以“d”或甚至其他字母開始的其他單詞可以被視為用于輸入項的最可能的單詞,并且可以被反映在可獲得的按鍵614中。如果文本引擎支持不同的語言/字符集,則可以在可獲得的按鍵614中包括外語單詞、字符和短語。
以上相對于觸摸使能的界面而提供了的示例。然而,可以經(jīng)由顯示器和經(jīng)由諸如鼠標或其他外圍裝置的另一個裝置接收的輸入提供動態(tài)按鍵或文本輸入界面。例如,用戶可以將在屏上的指針定位在標簽612處,點擊標簽612,并且在屏拖動鍵盤。然后,用戶可以移動和懸置在感興趣的按鍵上??梢詮闹羔樀倪B續(xù)點擊推斷鍵盤的連續(xù)選擇,并且/或者,鍵盤的連續(xù)選擇可以基于在沒有逗留的情況下的鼠標指針在鍵盤上的移動,直到到達感興趣的按鍵來推斷。
圖7是示出用于提供消息的串行呈現(xiàn)的方法700中的說明性步驟的流程圖。在一些實施例中,裝置可以被配置來在串行呈現(xiàn)模式中操作,其中,單獨地和一個接一個地顯示消息的單獨單元,而不是作為文本或字母串地顯示消息的單獨單元。當用戶不能緊密關注顯示器時,這可能是有益的。取代(或者除了)立即呈現(xiàn)整個消息,可以調用串行呈現(xiàn)模式,并且可以然后逐個地顯示單獨的單詞(或其他單元)。例如,如果一起顯示消息的多個部分,則可以使用比其他可能更大大字體大小來顯示串行單詞(或其他單元)。
塊702表示接收用于選擇串行呈現(xiàn)模式的使用的輸入。例如,移動或其他裝置可以支持多個輸出模式,其中,經(jīng)由菜單、輸入按鍵或其他裝置控制來選擇串行呈現(xiàn)模式。在一些實施例中,可以響應于基于物理的輸入來選擇串行呈現(xiàn)模式。例如,裝置可以包括檢測裝置的移動的一個或多個傳感器,諸如加速計。例如,裝置可以被配置來響應于裝置的振動或輕擊而轉換到串行呈現(xiàn)模式內。
塊704表示訪問串行數(shù)據(jù)流。串行數(shù)據(jù)流可以包括可以被劃分為用于串行輸出的單元的任何通信。例如,串行數(shù)據(jù)流可以包括用于表示文本內容的數(shù)據(jù),諸如電子郵件消息、即時消息、或短消息服務(sms)消息。又如,串行數(shù)據(jù)流可以包括用于表示網(wǎng)頁、單詞處理文件、或另一個文件的內容的數(shù)據(jù)。
塊706表示確定在數(shù)據(jù)流內的單元,或用于輸出數(shù)據(jù)的一個或多個觸覺效果。例如,確定在數(shù)據(jù)流內的單元可以包括從消息的句法中識別單詞、標點符號、和其他字符(例如,圖標、表情符號)——可以例如基于空格和/或標點符號來區(qū)分單詞??梢曰谠谙⒅邪ǖ臄?shù)據(jù)來確定觸覺效果,該數(shù)據(jù)例如是用于請求特定觸覺效果的輸出的信息、將消息內容向觸覺效果映射的數(shù)據(jù)、和/或向特定觸覺效果映射消息行為的數(shù)據(jù)。
例如,裝置可以訪問用于將特定類型的觸覺效果映射到對應的標點符號的數(shù)據(jù)。又如,可以將不同的單詞映射到不同類型的觸覺效果,并且/或者,可以使用單詞特性來確定要使用的效果。例如,可以參考感興趣的關鍵字的列表,并且如果在消息中呈現(xiàn)關鍵字,則可以當顯示關鍵字時播放與關鍵字相關聯(lián)的觸覺效果。又如,不同的觸覺效果可以與消息的不同語法部分相關聯(lián)。例如,裝置可以確定在消息中的一個或多個主語、動詞和賓語,并且當要串行輸出與相應的主語、動詞和賓語對應的單詞時,播放對應的觸覺效果。
另外的實施例可以顯示串行數(shù)據(jù)流的一些但是不是全部的單元。例如,可以使用消息的句法或上下文來識別不需要或不期望的內容,諸如電子郵件首標、在回復中引用的前一個消息的部分,以便促進顯示處理。
塊708表示:顯示數(shù)據(jù)的一個或多個單獨單元,并且/或,提供觸覺效果或效果。例如,可以在播放對應的觸覺效果的同時顯示單詞。作為補充或替代,可以在顯示單詞或其他單元之前和/或之后播放觸覺效果。在一些情況下,可以取代單詞或其他單元來播放觸覺效果。例如,可以提供強烈的振動來取代顯示感嘆號,或可以播放緩慢的振動來取代逗號。也可以使用標點符號來確定顯示器的時序。例如,逗號、分號、句號或其他指示符可能在第一單詞和一個或多個隨后的單詞之間引入延遲。這些暫停在一些情況下可能與觸覺效果相關聯(lián)。
塊710和712表示進行通過串行數(shù)據(jù)流的環(huán)路。在這個示例中,塊710表示查看另外的單元,并且,塊712表示移動到下一個單元,下一個單元然后被用作用于顯示和/或觸摸輸出的基礎,直到不剩余其他的單元。
在這個示例中,處理700進行直到?jīng)]有數(shù)據(jù)單元剩余。在一些實施例中,包括一個或多個另外的步驟以使得串行數(shù)據(jù)的顯示基于用戶輸入。例如,直到或除非接收到諸如用于表示裝置的振動、輕拍或其他移動的觸覺輸入的輸入,否則該方法可以不進行來顯示另外的單元。在一些實施例中,移動裝置可以被解釋為用于向下一個單詞前進的步驟、用于向前一個單詞后退的步驟或用于暫停串行數(shù)據(jù)的顯示的命令。
圖8a和8b的每一個是示出使用串行呈現(xiàn)的消息的說明性輸出的圖。在這個示例中,用戶已經(jīng)向裝置802的用戶發(fā)送包括文本“that'sawesome!”的消息。如圖8a中所示,裝置802已經(jīng)接收到數(shù)據(jù)流,并且確定消息包括三個文本單元:“that's”、“awesome”和“!”。在圖8a中,已經(jīng)顯示了第一單元(“that's”)。圖8b表示的第二單元(“awesome”)的顯示,以及關聯(lián)于感嘆號的觸覺效果的圖形圖示806。在一些實施例中,諸如感嘆號的標點符號被顯示,并且提供觸覺效果,但是在這個示例中,取代顯示感嘆號而提供了觸覺效果。
可以提供不同的觸覺效果,以便保留消息的整個流和音調。例如,可以基于單詞順序和上下文來確定一系列觸覺效果,以確定在語句中的一個或多個強調點。例如,如果消息指示在“星期五下午2點”到期的分配,則可以當顯示到期日期/時間時觸發(fā)觸覺效果。又如,消息的音素可以被識別,并且然后被映射到適當?shù)挠|覺效果,以模擬語音效果。例如,強烈的觸覺效果可以被映射到重讀音節(jié),并且較軟的觸覺效果可以被映射到非重讀音節(jié),并且/或者,觸覺效果的組合可以被映射到音素。當顯示單詞時,可以播放適當?shù)挠|覺效果,以模擬音節(jié)/音素效果。
在一些實施例中,裝置可以基于在一個或多個其他裝置處的輸入或其他行為來提供觸覺效果。圖9是示出用于在通信會話在兩個或更多裝置之間進行的同時,提供觸覺效果的方法900中的說明性步驟的流程圖。塊902表示開始通信會話。例如,兩個或更多的裝置可以經(jīng)由使用適當?shù)臋C載聯(lián)網(wǎng)技術的直接連接和/或經(jīng)由網(wǎng)絡彼此連接。又如,裝置可以登錄到服務提供商內。出于清楚的目的,未示出建立和保持基礎連接和中繼消息的細節(jié),因為這樣的細節(jié)應當在本領域內的普通技術人員的能力范圍內。
塊904表示確定會話是否結束;如果結束,則該方法完成。然而,在這個示例中,當會話繼續(xù)時,評估輸入的數(shù)據(jù)以基于在通信會話中涉及的一個或多個用戶的行為來確定是否應當播放一個或多個觸覺效果。除了與通信的接收相關聯(lián)的觸覺效果之外,可以進一步提供觸覺效果,并且該觸覺效果可以例如允許用戶知道何時其他用戶在輸入數(shù)據(jù)。
塊906表示確定是否已經(jīng)關于遠程用戶或其他遠程行為提供了任何輸入數(shù)據(jù)。例如,在通信會話中涉及的每一個用戶可以使用客戶機,該客戶機提供指示用戶是否在鍵入/輸入用于會話的其他用戶的消息或響應的狀態(tài)數(shù)據(jù)。輸入的數(shù)據(jù)可以簡單地指示被映射到特定觸覺效果的狀態(tài)(例如,“鍵入”、“輸入文本但是不發(fā)送”等)。然而,輸入數(shù)據(jù)可以包括更詳細的信息。例如,在一些實施例中,每次在裝置處選擇字符或單詞時,裝置提供用于與該裝置進行通信的其他用戶的選擇的字符/單詞的指示符。例如,可以將不同的指示符映射到用于單獨字母、標點符號、或整個單詞的選擇的對應的觸覺效果。在一些實施例中,除了指示符之外,發(fā)起裝置發(fā)送指定觸覺效果的數(shù)據(jù)。例如,在裝置鍵入消息的用戶可以配置所述裝置,以當鍵入不同的字母、單詞、標點符號或其他字符時發(fā)送特定的觸覺效果。
遠程行為的另一個示例是在遠程裝置處輸出數(shù)據(jù)的同時播放觸覺效果。例如,遠程裝置可以以諸如結合圖7上述的串行輸出模式或以其中當顯示單詞、字符或其他內容時提供觸覺效果的另一種模式來操作。用于指示這個顯示行為的數(shù)據(jù)可以被提供,使得本地裝置感覺到對應的觸覺效果,諸如在遠程裝置處的觸覺效果的播放的“回聲”。
在塊908處,基于來自遠程用戶行為的數(shù)據(jù)來在裝置處識別和播放觸覺效果。例如,如果明確地識別觸覺效果,則適當?shù)男盘柨梢员划a(chǎn)生和用于驅動一個或多個致動器。如果關于遠程輸入行為的數(shù)據(jù)未指定觸覺效果,則該數(shù)據(jù)可以基于用于將遠程行為映射到觸覺效果的在存儲器中的參考數(shù)據(jù)而被交叉引用到用于播放的觸覺效果。
塊910表示評估在裝置處的輸入和其他行為。如果如此,則在塊912處,發(fā)送關于用戶輸入狀態(tài)的數(shù)據(jù)。例如,如果用戶鍵入字符或單詞,則可以發(fā)送用于識別用戶正在鍵入和/或已經(jīng)鍵入了什么的適當?shù)臄?shù)據(jù)。如果要指定觸覺效果,則可以發(fā)送用于識別觸覺效果的數(shù)據(jù)。如果結合從遠程裝置接收的內容的輸出提供了觸覺效果,則可以向遠程裝置提供用于指示觸覺效果的播放的數(shù)據(jù),使得可以在遠程裝置處提供“回聲”或其他指示符。
一些實施例組合如上所述的實施例的方面。例如,計算系統(tǒng)可以包括致動器、顯示器、傳感器、和訪問包含程序組件的計算機可讀介質的處理器。計算系統(tǒng)可以包括移動裝置、計算機或兩個或更多的移動裝置、計算機或彼此進行通信的其他系統(tǒng)。
程序組件可以包括用戶界面模塊,該用戶界面模塊配置所述系統(tǒng)來接收用于表示一系列字符、單詞或短語的輸入數(shù)據(jù)。可以使用在顯示裝置上呈現(xiàn)的動態(tài)按鍵或文本輸入界面來接收輸入數(shù)據(jù),該動態(tài)按鍵或文本輸入界面被配置來響應于按鍵恢復控制的選擇來選擇性地顯示在屏鍵盤,并且在確定單個按鍵的選擇后隱藏鍵盤。用戶界面模塊也可以配置系統(tǒng)來響應于串行顯示模式的選擇,來單獨和依序地顯示串行數(shù)據(jù)流的單元??梢曰谟蓚鞲衅鳈z測的移動來確定串行數(shù)據(jù)的選擇——如果計算系統(tǒng)包括移動裝置,則移動可以包括該裝置或外圍裝置的振動。
程序組件可以包括文本引擎,該文本引擎被配置來基于接收的輸入數(shù)據(jù)產(chǎn)生多個文本輸入項建議,并且確定與每一個文本輸入項建議相關聯(lián)的置信度。例如,文本輸入項建議可以包括在動態(tài)按鍵/文本輸入界面的單詞選擇按鈕中呈現(xiàn)的一個或多個單詞或短語。作為補充或替代,文本輸入項建議可以包括輸入的文本的自動或建議的校正,和/或部分輸入的文本的完成項。
程序組件可以包括觸覺效果模塊,該觸覺效果模塊被配置來至少部分地基于置信度來從多個可能的觸覺效果識別觸覺效果,并且輸出被配置來使得致動器產(chǎn)生所識別的觸覺效果的至少一個觸覺信號。例如,當選擇或顯示文本輸入項建議時可以播放不同的觸覺效果,并且當使用用來取代先前輸入(或部分輸入)的文本的文本輸入項建議時,可以播放另外的觸覺效果。當恢復、隱藏或使用鍵盤時可以播放另外的觸覺效果。
程序組件也可以包括一個或多個通信應用,諸如電子郵件應用、消息傳送應用、瀏覽器等,其配置所述系統(tǒng)以訪問串行的數(shù)據(jù)流和用于指示遠程用戶的行為或數(shù)據(jù)源的狀態(tài)信息。應用可以例如指示何時遠程用戶在鍵入、觀看,或遠程用戶在鍵入、觀看什么,和/或何時向遠程用戶提供觸覺效果。這個信息可以被觸覺效果模塊用于響應于狀態(tài)信息而提供觸覺效果。
一般考慮
“被適配來”或“被配置來”的使用表示開放和包含性語言,其不排除被適配或配置來執(zhí)行另外的任務或步驟的裝置。另外,“基于”的使用在下述方面表示是開放和包含性的:即,“基于”一個或多個陳述的條件或值的處理、步驟、計算或其他行為可以事實上基于除了所陳述的那些之外的另外的條件或值。在此包括的標題、列表和編號僅為了容易說明,并且不意味著是限定性的。
根據(jù)本主題的方面的實施例可以被實現(xiàn)在數(shù)字電子電路中、計算機元件、固件、軟件或前述部分的組合內。在一個實施例中,計算機可以包括一個或多個處理器。處理器包括或訪問計算機可讀介質,諸如耦合到處理器的隨機存取存儲器(ram)。處理器執(zhí)行在存儲器中存儲的計算機可執(zhí)行程序指令,諸如,執(zhí)行包括預測文本算法或其他輸入識別引擎的一個或多個計算機程序。
這樣的處理器可以包括微處理器、數(shù)字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)和狀態(tài)機。這樣的處理器可以進一步包括可編程電子裝置,諸如plc、可編程中斷控制器(pic)、可編程邏輯器件(pld)、可編程只讀存儲器(prom)、電子可編程只讀存儲器(eprom或eeprom)或其他類似的裝置。
這樣的處理器可以包括介質或可以與介質進行通信,該介質例如是可以存儲指令的有形計算機可讀介質,該指令當被處理器執(zhí)行時可以使得處理器執(zhí)行在此描述為被處理器執(zhí)行或由處理器輔助的步驟。計算機可讀介質的實施例可以包括但是不限于:能夠向諸如在萬維網(wǎng)服務器中的處理器的處理器提供計算機可讀指令的所有電子器件、光學、磁或其他存儲或傳輸裝置。介質的其他示例包括但是不限于軟盤、cd-rom、磁盤、存儲器芯片、rom、ram、asic、配置的處理器、所有光學介質、所有磁帶或其他磁介質、或計算機處理器可以從其讀取的任何其他介質。而且,各種其他裝置可以包括計算機可讀介質,例如,路由器、專用或公共網(wǎng)絡、或其他傳輸裝置。所述的處理器和處理可以在一個或多個結構中,并且可以散布在一個或多個結構上。處理器可以包括用于執(zhí)行在此所述的一個或多個方法(或方法的部分)的代碼。
一些實施例可以是計算密集的。傳統(tǒng)上存在多種方式來處理保證計算密集的應用的足夠性能的問題,例如,通過使用更強大的處理器和更大的存儲器。用于處理這些需要的其他手段包括在裝置處分配一些處理任務,同時依賴于服務器來進行其他的任務。例如,移動裝置可以處理用于產(chǎn)生用戶界面并且接收輸入的處理任務,但是向在遠程服務器或通過網(wǎng)絡連接可訪問的其他裝置處的文本引擎提供調用。又如,遠程服務器或其他裝置可以用于確定適當?shù)挠|覺效果。
雖然已經(jīng)相對于本主題的特定實施例詳細描述了本主題,但是應當明白,本領域內的技術人員在實現(xiàn)理解上述內容時可以容易地產(chǎn)生對于這樣的實施例的替代、其改變和對于其的等價物。因此,應當明白,出于示例而不是限制的目的來提供本公開,并且不排除包括對于本領域內的普通技術人員顯而易見的對本主題的修改、變化和/或增加。