專利名稱:與輸入法編輯器計(jì)算設(shè)備的交互的制作方法
技術(shù)領(lǐng)域:
本文件涉及與將字符輸入到輸入法編輯器(input method editor, IME)系統(tǒng)中——諸如通過輸入將被轉(zhuǎn)換為日文或中文字符的羅馬字符——的用戶交互的系統(tǒng)和技術(shù)。
背景技術(shù):
計(jì)算設(shè)備在不斷地變得越來越強(qiáng)大,同時(shí)它們的尺寸越來越小。諸如智能電話這樣的便攜式設(shè)備現(xiàn)在可以執(zhí)行許多以前僅由臺(tái)式計(jì)算機(jī)執(zhí)行的計(jì)算功能。這些設(shè)備的處理能力和圖形能力也都顯著提高。而且,現(xiàn)代數(shù)據(jù)網(wǎng)絡(luò)允許這些移動(dòng)設(shè)備執(zhí)行需要到因特網(wǎng)的幾乎保持不變的、高帶寬連接的功能。在移動(dòng)設(shè)備中心上執(zhí)行的許多功能都圍繞通信。例如,用戶可以發(fā)送和接收文本消息或電子郵件。典型地,用戶還可以發(fā)送查詢到搜索引擎以便檢索包括本地搜索結(jié)果的搜索結(jié)果,諸如用戶周圍的區(qū)域中某一風(fēng)格的餐館的識(shí)別。移動(dòng)設(shè)備上的文字錄入可能比較困難,因?yàn)樵O(shè)備的小尺寸妨礙設(shè)備提供全功能和全尺寸的鍵盤。這些問題在經(jīng)由這樣的語言來進(jìn)行通信時(shí)會(huì)放大其符號(hào)不被具有羅馬(例如,英文)字符集的典型鍵盤完全支持。例如,可以使用輸入法編輯器(IME)執(zhí)行中文錄入,其使用諸如拼音(Pinyin)這樣的替換表示來接收羅馬字符。當(dāng)用戶輸入的特殊羅馬表示是含糊不定的——因其在目標(biāo)字符集中具有多個(gè)解釋——時(shí),這些信息的錄入可能是困難的。結(jié)果,IME可以連同羅馬鍵盤(其可以是觸摸屏設(shè)備上的一個(gè)虛擬鍵盤)一起提供候選框,并且該候選框可以為用戶提供針對(duì)用戶已經(jīng)做出的錄入的可能解決方案。然后用戶可以將合適錄入從候選框中選出。
發(fā)明內(nèi)容
本文件描述了可以用于與像移動(dòng)電話這樣具有觸摸屏用戶界面的計(jì)算設(shè)備的用戶交互的系統(tǒng)和技術(shù)。本文件描述了可以用于與像移動(dòng)電話這樣具有觸摸屏用戶界面的計(jì)算設(shè)備的用戶交互的系統(tǒng)和技術(shù)。通常,所述技術(shù)可以作為IME應(yīng)用——其對(duì)用戶輸入的一個(gè)字符集中的字符做出反應(yīng)以便生成另一字符集中的字符——的部分來執(zhí)行。在一個(gè)例子中,允許用于IME應(yīng)用的候選框“浮動(dòng)”在文本錄入應(yīng)用上,以使得可以將它從軟鍵盤或虛擬鍵盤脫離出來,并且因此可以為文本錄入應(yīng)用的畫布上留出更多空間。(“畫布”是由設(shè)備的用戶輸入在其中的數(shù)據(jù)表現(xiàn)為用戶輸入和接受該數(shù)據(jù)的區(qū)域,諸如文字處理應(yīng)用的 “紙”、記事本應(yīng)用的筆記、或者正在撰寫的電子郵件的正文。)還提供了其它節(jié)省空間的解決方案。例如,可以同時(shí)在鍵盤——其太大以至于不配合設(shè)備的屏幕——上提供添加的鍵和功能。用戶可以在鍵盤上執(zhí)行橫向揮動(dòng)動(dòng)作以從鍵盤的一部分移動(dòng)到另一部分。類似地,候選框或窗口可以比配合設(shè)備的單個(gè)屏幕提供更多候選。用戶可以用他或她的手指或者其它指示器來執(zhí)行橫向揮動(dòng)動(dòng)作,以便使附加候選滑動(dòng)為視圖。鍵盤上的特定鍵,具體來說,在鍵盤的擴(kuò)展部分中的鍵,可以是依賴于上下文的。例如,特定鍵可以示出一個(gè)情緒圖標(biāo)(emoticon),并且該情緒圖標(biāo)可以是已經(jīng)由用戶分配給鍵的圖像,或者具體來說,可以是已經(jīng)由系統(tǒng)確定為一個(gè)流行情緒圖標(biāo)的情緒圖標(biāo)。例如,系統(tǒng)可以分析獨(dú)立于設(shè)備的用戶的、多個(gè)不同用戶的文本錄入項(xiàng),以便確定他們經(jīng)常使用什么情緒圖標(biāo)。這些分析的一個(gè)例子可以在已提交的搜索查詢上、或者在測(cè)試消息或者電子郵件消息(具有適當(dāng)?shù)碾[私限制)上傳導(dǎo)。此外,對(duì)流行使用的監(jiān)控可以用于生成可以向設(shè)備的用戶建議的詞、短語或者更長的句子。例如,如果搜索系統(tǒng)的用戶突然開始在搜索查詢中輸入一個(gè)特殊短語,諸如因?yàn)樵摱陶Z的主題近來在新聞中風(fēng)靡起來,那么可以將該短語提升為IME應(yīng)用中由系統(tǒng)更為經(jīng)?;蛘吒鼮轱@著地向其它用戶建議的短語。這些候選中的某些可以使用"流行趨勢(shì)"應(yīng)用,在該應(yīng)用中從早先的流行趨勢(shì)數(shù)據(jù)中在這些候選循環(huán)出現(xiàn)的年份的特定時(shí)間期間提升候選的重要性。例如,某些關(guān)于體育運(yùn)動(dòng)的短語或者術(shù)語在出現(xiàn)這些體育運(yùn)動(dòng)聯(lián)賽時(shí)變得比較常用??梢韵鄬?duì)于與季節(jié)氣候相關(guān)的事件以及節(jié)假日——其是循環(huán)的,進(jìn)行相似觀察。 用這樣的方式,系統(tǒng)甚至可以在某一周期期間在候選在其它用戶中風(fēng)靡起來之前就開始提供這些候選。在某些實(shí)施方式中,這些系統(tǒng)和技術(shù)可以提供一個(gè)或多個(gè)好處。例如,計(jì)算設(shè)備的用戶可以更加容易且準(zhǔn)確地以這樣的語言輸入信息其字符集不直接由計(jì)算設(shè)備上的鍵盤支持。而且,用戶可以接收能夠提高它們?cè)谠O(shè)備上的文本錄入項(xiàng)的候選,以使得他們可以更加有效且高效地與其它用戶或者使用他們?cè)O(shè)備的各種主機(jī)服務(wù)通信。在一個(gè)實(shí)施方式中,公開了一種計(jì)算機(jī)實(shí)現(xiàn)的用戶界面方法。所述方法包括在計(jì)算設(shè)備的觸摸屏上顯示通過第一字符集定義的鍵盤,以及在所述觸摸屏上顯示電子畫布, 隨著用戶選擇鍵盤上的鍵而在該電子畫布上顯示與鍵盤上的鍵相應(yīng)的信息,所述信息以不同于第一字符集的第二字符集出現(xiàn)。所述方法還包括在畫布的前表面上生成候選區(qū)域,以及隨著信息被添加到畫布而自動(dòng)控制候選區(qū)域的位置,以便將所述候選區(qū)域移開以免覆蓋所述畫布上的位置,所述畫布上的位置當(dāng)前是或者接近信息將被添加到所述畫布的位置。 所述方法還可以包括接收用于使所述候選區(qū)域停駐在所述鍵盤的用戶輸入,并且隨后保持所述候選區(qū)域停駐在所述鍵盤直到隨后用于使所述候選區(qū)域從所述鍵盤脫離的用戶輸入。在一些方面,第一字符集包括基于羅馬字符的字符集,第二字符集包括符號(hào)字符集。所述方法還可以包括接收用戶在所述候選區(qū)域中的候選選擇,將所選擇的候選添加到所述畫布,并且如果所述候選窗口使得所述畫布上的下一個(gè)數(shù)據(jù)錄入?yún)^(qū)域基本上不清楚的話就移動(dòng)所述候選窗口。此外,所述方法可以包括改變候選區(qū)域的高寬比以及橫向移動(dòng)所述候選區(qū)域靠近所述顯示器的一側(cè)。此外,所述方法可以包括接收所述鍵盤上的橫向揮動(dòng)輸入,以及沿橫向揮動(dòng)輸入的方向挪動(dòng)所述鍵盤。而且,所述方法可以包括接收所述候選區(qū)域上的橫向揮動(dòng)動(dòng)作,以及響應(yīng)于所述橫向揮動(dòng)動(dòng)作,挪動(dòng)在所述候選區(qū)域中的多個(gè)候選錄入。在另一實(shí)施方式中,公開了一種包括存儲(chǔ)程序代碼的計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)的物品,所述程序代碼可操作用于使得一個(gè)或多個(gè)機(jī)器執(zhí)行操作。所述操作包括將由第一字符集定義的鍵盤顯示在計(jì)算設(shè)備的觸摸屏上;將電子畫布顯示在觸摸屏上,隨著用戶選擇鍵盤上的鍵而在該電子畫布上顯示與鍵盤上的鍵相應(yīng)的信息,所述信息以不同于第一字符
5集的第二字符集出現(xiàn);在畫布的前表面上生成候選區(qū)域;以及隨著信息被添加到畫布而自動(dòng)控制候選區(qū)域的位置,以便將所述候選區(qū)域移開以免覆蓋所述畫布上的位置,所述畫布上的位置當(dāng)前是信息將被添加到所述畫布的位置或者靠近信息將被添加到所述畫布的位置。所述程序代碼還可操作用于執(zhí)行以下操作,包括接收用于使所述候選區(qū)域停駐在所述鍵盤的用戶輸入,并且隨后保持所述候選區(qū)域停駐在所述鍵盤直到隨后用于使所述候選區(qū)域從所述鍵盤脫離的用戶輸入。在一些方面,第一字符集包括基于羅馬字符的字符集,第二字符集包括符號(hào)字符集。而且,所述程序代碼可操作用于執(zhí)行以下操作,包括接收用戶在所述候選區(qū)域中的候選選擇,將所選擇的候選添加到所述畫布,并且如果所述候選窗口使得所述畫布上的下一個(gè)數(shù)據(jù)錄入?yún)^(qū)域基本上不清楚的話就移動(dòng)所述候選窗口。所述程序代碼還可操作用于執(zhí)行以下操作,包括改變所述候選區(qū)域的高寬比以及橫向移動(dòng)所述候選區(qū)域靠近所述顯示器的一側(cè)。在又一實(shí)施方式中,公開了一種計(jì)算機(jī)實(shí)現(xiàn)的用戶界面系統(tǒng),并且包括圖形顯示系統(tǒng),用于呈現(xiàn)輸入法編輯器和文本錄入應(yīng)用,該文本錄入應(yīng)用具有用于顯示用戶輸入的信息的畫布區(qū)域以及用于呈現(xiàn)將添加到所述畫布區(qū)域的符號(hào)的候選區(qū)域。所述系統(tǒng)還包括觸摸屏用戶輸入機(jī)構(gòu),用于依照輸入法編輯器的顯示接收用戶選擇;以及輸入法接口管理器模塊,其可與輸入法編輯器一起操作,用于隨著信息被添加到所述畫布而自動(dòng)控制候選區(qū)域的位置,以便將所述候選區(qū)域移開以免覆蓋所述畫布上的位置,所述畫布上的位置當(dāng)前是信息將被添加到所述畫布的位置或者靠近信息將被添加到所述畫布的位置。所述輸入法編輯器可操作用于接收第一字符集中的輸入以及生成不同于第一字符集的第二字符集中的輸出,所述第一字符集不與所述觸摸屏用戶輸入機(jī)構(gòu)上的鍵相應(yīng)。而且,所述輸入法編輯器接口管理器模塊還可操作用于接收用戶在所述候選區(qū)域中的候選選擇,提供所選擇的候選以添加到所述畫布,并且如果所述候選窗口使得所述畫布上的下一個(gè)數(shù)據(jù)錄入?yún)^(qū)域基本上不清楚的話就移動(dòng)所述候選窗口。在某些方面,所述輸入法編輯器接口管理器模塊還可操作用于自動(dòng)改變所述候選區(qū)域的高寬比以及橫向移動(dòng)所述候選區(qū)域靠近所述顯示器的一側(cè)。而且,所述觸摸屏用戶輸入機(jī)構(gòu)可操作用于接收所述圖形顯示器上顯示的鍵盤上的橫向揮動(dòng)輸入,以及所述圖形顯示系統(tǒng)可操作用于響應(yīng)于所述橫向揮動(dòng)輸入沿橫向揮動(dòng)輸入的方向挪動(dòng)所述鍵盤。所述觸摸屏用戶輸入機(jī)構(gòu)可操作用于接收所述候選區(qū)域上的橫向揮動(dòng)輸入,以及所述圖形顯示系統(tǒng)可操作用于響應(yīng)于所述橫向揮動(dòng)動(dòng)作挪動(dòng)所述候選區(qū)域中的候選錄入。在另一實(shí)施方式中,公開了一種計(jì)算機(jī)實(shí)現(xiàn)的用戶界面系統(tǒng)。所述系統(tǒng)包括圖形顯示器,用于呈現(xiàn)輸入法編輯器以及文本錄入應(yīng)用,該文本錄入應(yīng)用具有用于顯示用戶輸入的信息的畫布區(qū)域;觸摸屏用戶輸入機(jī)構(gòu),用于依照輸入法編輯器的顯示接收用戶選擇; 以及用于在畫布的一部分上生成浮動(dòng)候選窗口的裝置。在附圖以及下面的說明中闡述了本發(fā)明的一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)。本發(fā)明的其他特征和優(yōu)點(diǎn)將從說明書和附圖以及從權(quán)利要求中變得明顯。
圖1示出具有浮動(dòng)候選窗口的移動(dòng)觸摸屏設(shè)備的一系列屏幕截圖。
圖2A示出具有擴(kuò)大的可滾動(dòng)鍵盤的移動(dòng)觸摸屏設(shè)備的一系列屏幕截圖。圖2B示出可定制鍵盤的一系列屏幕截圖。圖3示出具有可滾動(dòng)候選框的移動(dòng)觸摸屏設(shè)備的一系列屏幕截圖。圖4是響應(yīng)于對(duì)于IME系統(tǒng)的觸摸屏輸入提供用戶交互的系統(tǒng)的示意圖。圖5A是用于提供自動(dòng)移動(dòng)候選框的示范性處理過程的流程圖。圖5B是對(duì)到IME系統(tǒng)的用戶輸入的反應(yīng)的示范性處理過程的流程圖。圖5C是提供熱門術(shù)語作為移動(dòng)設(shè)備上的候選的示范性處理過程的流程圖。圖5D是在軟鍵盤上提供熱門情緒圖標(biāo)或者其它符號(hào)的示范性處理過程的流程圖。圖6A是為移動(dòng)設(shè)備的用戶提供當(dāng)前候選的示范性處理過程的泳道示意圖。圖6B是為計(jì)算設(shè)備提供流行情緒圖標(biāo)的示范性處理過程的泳道示意圖。圖7示出可用于實(shí)現(xiàn)這里描述的技術(shù)的計(jì)算機(jī)設(shè)備和移動(dòng)計(jì)算機(jī)設(shè)備的例子。在各種附圖中同樣的參考標(biāo)記表示同樣的元素。
具體實(shí)施例方式本文件描述了移動(dòng)設(shè)備可以利用其與這些設(shè)備的用戶交互的系統(tǒng)和技術(shù)。例如, 用戶可以輸入第一字符集中的字符并且能夠?qū)⑤敵鲆缘诙址尸F(xiàn)在畫布上。以第二字符集呈現(xiàn)針對(duì)在第一字符集中輸入的數(shù)據(jù)的可能解的候選框可以通過畫布示出,并且候選框可以改變其相對(duì)于畫布的位置以使得它在正在被添加到或者即將被添加到畫布的文本的路徑之外移動(dòng)。候選框可以采用各種形式,并且其自動(dòng)運(yùn)動(dòng)可以允許更多的畫布可見——比通過永久停駐的候選框?qū)⒖赡茉试S的要多。而且,某些文本錄入機(jī)構(gòu)(mechanism)可以不適合鍵盤的單個(gè)屏幕,或者某些建議的候選可以不配合候選框的單個(gè)屏幕。在這種情況下,可以允許用戶分別橫向在鍵盤或者候選框上揮動(dòng)他們的手指,以便沿他們揮動(dòng)的方向?qū)㈡I盤或者候選框向左或右挪。這種附加或者輔助鍵盤上的鍵也可以手動(dòng)或者自動(dòng)可編程,以便表示第二字符集中的字符、詞、 短語、句子或者情緒圖標(biāo)。對(duì)于鍵的自動(dòng)編程來說,可以給鍵分配已經(jīng)被確定是流行詞、短語或者句子的那些。可以通過從各種用戶接收信息——諸如以搜索請(qǐng)求或者電子通信(例如,文本消息或者電子郵件)的形式——的中央服務(wù)確定流行度。然后,這些流行詞、短語或者句子可以自動(dòng)提供給鍵盤上的鍵,因此設(shè)備的用戶能夠僅僅通過按壓相關(guān)鍵來將它們迅速地輸入設(shè)備。也能夠按照候選框中被推薦給用戶來提升流行術(shù)語的重要性??梢酝ㄟ^向用戶的設(shè)備提供詞典數(shù)據(jù)來發(fā)生這些提升,其中設(shè)備依賴于詞典,所述詞典表示詞的相對(duì)重要性以便幫助設(shè)備對(duì)候選框中所示的建議進(jìn)行評(píng)級(jí)。系統(tǒng)可以以“原子”詞典的形式保存多個(gè)詞典,其中每個(gè)詞典可以導(dǎo)向某一特定目的。例如,體育運(yùn)動(dòng)詞典可以包含對(duì)于某些運(yùn)動(dòng)員的姓名的第二字符集的表示,并且可以將詞典提供給常去某些與體育運(yùn)動(dòng)相關(guān)的網(wǎng)站的用戶、完成表示他們是體育運(yùn)動(dòng)粉絲的簡(jiǎn)檔的用戶或者專門問與體育運(yùn)動(dòng)相關(guān)的原子詞典的用戶。除了特定話題之外或者取代特定話題,也可以將原子詞典或者其它詞典束縛在特定位置。例如,可以提供這些信息以幫助用戶完成搜索術(shù)語的錄入以便建議基于當(dāng)?shù)氐男g(shù)語,并且還幫助保證用戶無誤差地輸入術(shù)語。可以根據(jù)從設(shè)備接收到的位置指示符——諸如IP地址、蜂窩三角塔(cell tower triangulation)或者GPS坐標(biāo)——向用戶的設(shè)備提供特定當(dāng)?shù)匦畔?。?dāng)?shù)匦畔⒖梢园ɡ绠?dāng)?shù)赜^光點(diǎn)、當(dāng)?shù)夭宛^、當(dāng)?shù)爻鞘幸约捌渌畔ⅰ?例如,可以向在北京的用戶一一不論是否是在旅行——提供像街道、餐館等等之類的重要 POI (感興趣的點(diǎn),Points of hterests)的重要名稱或者甚至是部分方言詞語的原子詞典。類似地,可以給在上海的人提供上海版本。具體來說,這些詞典可以幫助用戶與地圖應(yīng)用交互,諸如當(dāng)輸入北京的特定街道名稱“五道口”——正常情況下它應(yīng)當(dāng)不在主系統(tǒng)詞典中——時(shí)。通常,用戶必須輸入三個(gè)音節(jié)“mi”、“da0”和“kou”,并且逐個(gè)選擇正確的字符,但是如果給他或者她提供了當(dāng)?shù)卦釉~典,那么他或者她就可以僅輸入“wdk”(每個(gè)音節(jié)的第一個(gè)羅馬字母)來得到候選。 舉一個(gè)幫助用戶輸入適當(dāng)?shù)淖址幕谖恢玫脑釉~典作為例子,考慮一個(gè)在北京的旅客,其在地圖中輸入“五到口”并且正常情況下將不會(huì)得到任何結(jié)果,因?yàn)檎_的詞是“五道口”(這兩個(gè)字串發(fā)音相同)。通過當(dāng)?shù)卦釉~典,他或者她將更有可能輸入正確的那個(gè)。 用這樣的方式,用戶的設(shè)備可以加載多個(gè)詞典——它們?cè)贗ME的候選窗口中一起提供建議。 詞典中的一個(gè)是基本詞典,同時(shí)其它可以是以用戶的當(dāng)前狀況(例如,位置)或者用戶的已知興趣為目標(biāo)的特定狀況詞典或者特定用戶詞典。圖1示出具有浮動(dòng)候選窗口的移動(dòng)觸摸屏設(shè)備的一系列屏幕截圖。一般而言,在示出設(shè)備的不同狀態(tài)的三個(gè)例子102-106中示出設(shè)備,其中,用戶正在輸入由設(shè)備上的IME 應(yīng)用處理的文本。在由字母(a)標(biāo)記的第一個(gè)例子102中,設(shè)備被示為顯示劃線的畫布區(qū)域,其中用戶正在使用IME輸入中文字符。呈現(xiàn)畫布的應(yīng)用是一個(gè)"筆記"應(yīng)用,并且依賴IME響應(yīng)于用戶使用羅馬文(亦稱拉丁文)字符的拼音錄入向它提供中文字符。IME應(yīng)用向用戶呈現(xiàn)羅馬鍵盤和候選窗口(其也可被稱作候選框,但是它的形狀不需要是矩形的)。用戶已經(jīng)輸入一行文本到筆記應(yīng)用,并且正在輸入另一個(gè)“wo men”的過程中。該錄入項(xiàng)在候選窗口示出,伴隨著許多可能匹配該錄入項(xiàng)的、用于該錄入項(xiàng)的候選中文字符。用戶將選擇一個(gè)用于將突出顯示的候選添加到畫布中的鍵,或者可以觸摸其中一個(gè)候選或者觸摸并向上拖拽候選以對(duì)其完成相同動(dòng)作。本例中的候選窗口不停駐(dock)在鍵盤,而是一個(gè)浮動(dòng)窗口,其可以出現(xiàn)在畫布上方的不同區(qū)域。用這樣的方式,設(shè)備可以為畫布分配更多屏幕區(qū)域,并且用戶可以獲得更寬的、他或她將輸入設(shè)備的文本環(huán)境。例如,用戶能夠看到一行或兩行額外的畫布,并且能夠更自由地操作那些額外行——比他們示出較少他們文本的情況下要更自由。在以字母(b)標(biāo)記的例子102中,用戶不是輸入他們?cè)诶?02中準(zhǔn)備輸入的 ("wo men”的中文字符),而是輸入了一個(gè)關(guān)于體育運(yùn)動(dòng)的短語?,F(xiàn)在設(shè)備準(zhǔn)備接收畫布的第三行上的錄入項(xiàng)。然而,候選框先前(在例子102中)覆蓋了畫布的第三行。結(jié)果,在例子104中,候選框向下移動(dòng)并且自動(dòng)停駐在鍵盤上以便在畫布上為第三行創(chuàng)建空間。如果畫布上已經(jīng)有較多空間可用,那么該框可以僅僅向下移動(dòng)而無需停駐,如果較小空間可用,那么候選框可以與鍵盤稍微重疊(包括通過覆蓋鍵盤最頂行的數(shù)字鍵)。而且,當(dāng)鍵盤被部分地覆蓋或者大小縮減時(shí),可以利用動(dòng)作或者聲音執(zhí)行鍵盤的某些功能,諸如通過使設(shè)備猛地向上抽的運(yùn)動(dòng)代表大寫鎖定(caps lock),向下?lián)u晃代表回車鍵,向右搖晃代表后跟一個(gè)或兩個(gè)空格的句號(hào)(period punctuation)。在由字母(C)表示的例子106中,用戶已經(jīng)輸入了不同短語,并且現(xiàn)在正在試圖在畫布的下一行輸入他或者她的初始術(shù)語“wo men”。在這種情況下,錄入項(xiàng)已經(jīng)低到?jīng)]有候選框的空間了。在這樣的情況下,可以向上滾動(dòng)畫布以便不覆蓋畫布上新的行——數(shù)據(jù)錄入項(xiàng)可以在其上繼續(xù)。然而,取而代之的是,如例子106中所示,候選窗口已經(jīng)自動(dòng)從軟鍵盤脫離(imdock)并且已經(jīng)向上移動(dòng)到顯示器上的一些其它行頂部。用戶還可以通過在候選框上按壓和滑動(dòng)來將其移動(dòng)到更加方便的位置。因此,典型地,如果候選框所示的最初候選是準(zhǔn)確的,那么用戶可以將該框向設(shè)備的顯示器的右側(cè)滑動(dòng),以使得較低等級(jí)的候選甚至不在顯示器上示出,并且候選框可以采取比這里所示的高寬比窄的高寬比。而且,用戶可以選擇將候選框從例子104向下滑回它的位置,這將導(dǎo)致窗口變?yōu)橥qv在鍵盤并且一直停駐到用戶再次脫離候選框(也即,一旦用戶手動(dòng)停駐了候選框,在一個(gè)會(huì)話中將不會(huì)發(fā)生自動(dòng)脫離,直到用戶手動(dòng)脫離候選框)。也可以以其它方式改變候選框或者窗口的高寬比,就好像框的位置改變一樣。例如,如果框在畫布的較低行上并且用戶打算添加文本,那么框就可以從基本橫向一如圖1 中所示一改變?yōu)榛究v向,此處多個(gè)候選堆疊在彼此之上。而且,候選框可以對(duì)于在畫布中做出的且與框重疊的選擇不受影響。例如,如果選擇文本進(jìn)行剪切-粘貼操作,此處選擇框與候選框重疊,那么可以選擇該框下面的文本,并且可以實(shí)質(zhì)上忽略該框。用這樣的方式,候選框或者窗口可以實(shí)質(zhì)上浮動(dòng)在IME系統(tǒng)中的畫布上??蚩梢噪S著文本被添加到畫布而自動(dòng)移動(dòng),以使得大量畫布可以顯示給用戶——相比如果框停駐在一個(gè)或多個(gè)畫布邊緣周圍可能顯示的要多。這樣的方法可以允許用戶看到更多畫布,或者至少是更加重要的畫布部分——相比不這樣做他們將看到的來說。圖2A示出具有擴(kuò)大的可滾動(dòng)鍵盤的移動(dòng)觸摸屏設(shè)備的一系列屏幕截圖??偟膩碚f,圖中示出用于IME應(yīng)用的鍵盤的大量例子202-206,其中鍵盤太大而不能配合單個(gè)顯示
ο在用字母(a)指定的第一個(gè)例子202中,示出一個(gè)標(biāo)準(zhǔn)QWERTY鍵盤,但是除了羅馬字母表的字母和阿拉伯?dāng)?shù)字之外幾乎沒有其它鍵的空間。還是在例子202中,示出用戶的手,用戶的食指按壓在鍵盤的一個(gè)區(qū)域(在此情況下,“T"和"Y"鍵之間)上并且向左滑動(dòng)。該動(dòng)作由設(shè)備中的處理器解釋為用于將鍵盤滑向左的用戶命令。如用(b)指明的例子204中所示,鍵盤已經(jīng)響應(yīng)于用戶向左滑的輸入滑動(dòng)?,F(xiàn)在, 先前在顯示器右邊截止的一部分鍵盤被示出。該部分鍵盤包括在草圖中先前在顯示器的右邊截止的附加鍵。這些鍵可以代表字符集中的其它字符,或者在本例中,它們代表用戶可以通過按壓適當(dāng)?shù)逆I容易地輸入的情緒圖標(biāo)。如圖所示,初始顯示的中間部分仍然被示出,并且這些數(shù)字已經(jīng)在頂部但是以不同次序重復(fù)(但是,僅僅在鍵盤移動(dòng)時(shí)滑動(dòng)最上面的行, 并且因此可以保持其初始方向和布局)。由用戶完成的滑動(dòng)也可以與用戶滑動(dòng)他或她的手指的距離成正比(例如,如果用戶幾乎沒有滑動(dòng)的話,就只移動(dòng)一個(gè)鍵或者兩個(gè)鍵),但是一旦用戶已經(jīng)滑動(dòng)得足夠遠(yuǎn),則可能導(dǎo)致跳到或者鎖定到最右的位置。其中,全鍵盤是顯示器的寬度的兩倍,當(dāng)用戶在初始鍵盤上揮動(dòng)時(shí)初始鍵盤可以被整體移出顯示器(但是諸如數(shù)字行這樣的一些部分可以挪開)??商鎿Q地,1/2 (one-half)顯示寬度的鍵盤可以位于初始鍵盤的兩端,以使得用戶可
9以從主鍵盤的兩個(gè)方向之一來移動(dòng)(如例子204中所示)。鍵盤的“額外”部分可以實(shí)現(xiàn)不同功能或者甚至可以包含相同字符,以使得用戶在一個(gè)方向上而非其它方向上揮動(dòng)的決定僅僅控制在鍵盤的補(bǔ)充部分上的鍵的相對(duì)位置,并且該1/2的初始鍵盤將被示出。也可以利用相似的揮動(dòng)動(dòng)作使這些鍵更寬或者更窄(或者更矮或者更高)。例如, 為了使鍵更窄,并且因此配合在單個(gè)顯示器上更多鍵,用戶可以按第一個(gè)手指在顯示器上, 然后按第二個(gè)手指并且向第一個(gè)手指滑動(dòng)第二個(gè)手指。這樣的動(dòng)作可以導(dǎo)致先前在顯示器邊緣截止的、最靠近第二個(gè)手指的鍵被帶到顯示器上。將手指彼此遠(yuǎn)離地滑動(dòng)可以使鍵變寬。變窄或變寬可以存在,就好像用戶執(zhí)行滑動(dòng)時(shí)的現(xiàn)場(chǎng)動(dòng)畫一樣,以使得用戶能夠立即看到他或者她的動(dòng)作的效果。因此,手指瘦或者尖的用戶可以選擇看到更加廣闊但具有較小的鍵的鍵盤,因?yàn)榭紤]到他們?nèi)匀荒軌蛲ㄟ^這樣的鍵盤接收準(zhǔn)確的輸入。如果用戶從使用他們的大拇指進(jìn)行文本錄入改變?yōu)槭褂盟麄兊闹讣怃浫?,那么他們也可以以相似方式改變鍵盤的相對(duì)寬度。除了正常鍵盤之外的、鍵上的特定符號(hào)可以手動(dòng)設(shè)置或者自動(dòng)設(shè)置。例如,用戶可以從畫布選擇文本,并且然后可以長按鍵盤上的其中一個(gè)鍵以便將所選擇的文本分配給特定鍵??赡懿荒軌蛴眠@樣的方式分配某些鍵,諸如鍵盤中央部分的鍵。然而,通過那些鍵并且通過其它鍵,用戶可以選擇某些文本,然后長按某一鍵并同時(shí)保持控制鍵或者功能鍵按下。然后,可以將文本分配給任一稍后的、控制鍵或者功能鍵與字母鍵組合的按壓。這樣的將字母手動(dòng)分配給鍵可以提供容易且直觀的方式,用戶能夠通過這樣的方式創(chuàng)建快捷鍵。將字符或者術(shù)語自動(dòng)分配(與手動(dòng)分配相反)給某一個(gè)鍵可以經(jīng)由用于將流行詞或者短語分配給某一個(gè)鍵的、基于服務(wù)器的處理過程來發(fā)生??梢曰谄渌脩羰褂媚骋恍g(shù)語來判定這些流行度,并且可以假定特定設(shè)備的用戶將更有可能使用該術(shù)語——因?yàn)槟切┢渌脩粝鄬?duì)頻繁地使用它,所以該設(shè)備的用戶將會(huì)喜歡分配給它的“熱鍵”。例如,搜索引擎系統(tǒng)可以確定其用戶經(jīng)常使用的術(shù)語或者字符,并且可以識(shí)別那些術(shù)語和字符以使得它們可以被下載到移動(dòng)設(shè)備并且分配給擴(kuò)展鍵盤上的鍵。在術(shù)語太大而不能配合鍵(例如,因?yàn)樗且粋€(gè)長短語或者長句子)的情況下,可以顯示一部分術(shù)語或者占位符,整個(gè)術(shù)語可以在用戶將其手指放在該鍵上時(shí)從該鍵上彈出。而且,單個(gè)鍵可以用作每當(dāng)用戶想要尋找流行短語時(shí)就能夠訪問的"流行短語"鍵,并且他們選擇該鍵可以導(dǎo)致顯示多個(gè)流行短語的彈出窗口,以使得用戶能夠通過以下方式來選擇特定短語將他們的手指從該鍵上滑到彈出窗口中的其中一個(gè)短語,并且將他們的手指從觸摸屏顯示器釋放以使得釋放點(diǎn)下的術(shù)語被選擇。例子206顯示了可以從用戶第二次向左揮動(dòng)他們的手指或者在例子202中在第一次揮動(dòng)中使他們的手指揮動(dòng)較長距離和/或以較高速度揮動(dòng)他們的手指得到的顯示。如這里所示,所有初始鍵盤都被顯示情緒圖標(biāo)的鍵所替換。圖2B示出用戶可定制鍵盤的一系列屏幕截圖??偟膩碚f,在每個(gè)實(shí)例中,已經(jīng)使用戶能夠選擇對(duì)達(dá)到他們的目的最佳的鍵盤,然后能夠進(jìn)一步定制鍵盤。在以字母(a)表示的第一個(gè)例子208中,用戶顯示基本QWERTY鍵盤在移動(dòng)設(shè)備上。在以字母(b)表示的第二個(gè)例子210中,用戶已經(jīng)切換到"壓縮"鍵盤,其中鍵各個(gè)都較大,但是每個(gè)鍵都被分配了多個(gè)字母。而且,在本例中,鍵上的字母按字母順序排序而非根據(jù)QWERTY標(biāo)準(zhǔn)。在以字母(c)表示的第三個(gè)例子212中,以又一種不同方式分配字母。正如通過第二個(gè)例子210那樣,多個(gè)字符被分配給各個(gè)鍵,但是承載字符的鍵現(xiàn)在在數(shù)量上變得較多以使得只有兩個(gè)字符被分配給各個(gè)鍵。結(jié)果,由鍵盤一次只能顯示較少的功能,但是各個(gè)鍵按下產(chǎn)生的不明確將變少,并且用于辨識(shí)用戶想要的意思的程序可以更好地運(yùn)行了。這樣的鍵盤可以通過正常的英文錄入來使用并且也作為IME應(yīng)用的部分。當(dāng)用戶觸摸諸如“kl k2 k3”之類的一系列鍵(其中kl、k2和k3分別表示一個(gè)軟鍵)時(shí),IME將在其詞典(不論單個(gè)的還是作為原子詞典的組合分組的一部分)中搜索全部項(xiàng)目(或者項(xiàng)目組合——例如,如果用戶打出一長串鍵,則中文IME可以給出句子級(jí)候選),以搜索哪些字母分別匹配kl、k2和k3,并且可以根據(jù)它們的得分將這些候選排序??梢允褂么砀鱾€(gè)詞并且具有相對(duì)頻率——詞或者短語以該相對(duì)頻率被使用——的指示的詞典生成得分。通過這樣的方式,最佳匹配候選將自動(dòng)建議給用戶。例如,如果用戶在第二個(gè)例子210中打出 “43556”,則將自動(dòng)建議"hello".如所述,詞典可以被自動(dòng)且連續(xù)地定制到用戶或者用戶的狀況。例如,如果用戶對(duì)特定字段或者主題表示出興趣,那么該字段或者主詞中的詞或者短語就可以被自動(dòng)下載到用戶的設(shè)備中作為原子詞典的部分。同樣地,如果發(fā)現(xiàn)用戶在特定位置或者接近特定位置, 諸如某一特定城市,那么原子詞典(例如,包含特有街道名稱或者餐館名稱)可以從網(wǎng)絡(luò)上一個(gè)遠(yuǎn)端服務(wù)器添加到用戶的設(shè)備中。也可以提供用于允許用戶自由地更換他或她的鍵盤的布局的應(yīng)用。例如,用戶可以通過選擇可以建議給用戶的若干“基本”鍵盤中的一個(gè)來開始這樣的應(yīng)用。然后,用戶可以按下各個(gè)鍵上的字母數(shù)字字符并且將該字符滑到其它鍵,諸如滑到相鄰鍵,以便放置更多或更少字符在特定鍵上。字符到鍵的映射可以存儲(chǔ)在設(shè)備上的存儲(chǔ)器中某一簡(jiǎn)單的表中,以使得當(dāng)用戶按特定鍵時(shí),分配給該鍵的字符或多個(gè)字符被傳遞到跟蹤用戶動(dòng)作的應(yīng)用。甚至用戶尚未定制的"標(biāo)準(zhǔn)"鍵盤也可以使用這樣的映射接口——其可以提供到在設(shè)備上運(yùn)行的各種應(yīng)用的API,并且當(dāng)用戶選擇在鍵之間移動(dòng)字符時(shí),表中的映射可以僅僅變?yōu)槭褂脩籼峁┑淖兓ヅ滏I盤布局。圖3示出具有可滾動(dòng)候選框的移動(dòng)觸摸屏設(shè)備的一系列屏幕截圖。總的來說,候選框可以包括比單個(gè)顯示器上能夠配合的要多出許多的候選。盡管最高得分的候選可以首先顯示(也即,在最左邊位置),但是這樣的候選可能不是期望候選,也可能不是一開始顯示的——諸如在以字母(a)代表的例子300中的——任一其它候選。因此,如例子300和例子302中所示,用戶能夠按下并且沿著候選揮動(dòng)他們的手指以便沿特定方向(不論向左還是向右)挪動(dòng)或者滾動(dòng)候選窗口。因此,在例子302中,第一個(gè)候選已經(jīng)被推出屏幕的左手邊緣并且第六個(gè)候選已經(jīng)出現(xiàn)在屏幕的右邊緣,所有其它候選向左移動(dòng)一個(gè)切口(notch)。通過相似的方式,在例子304中候選已經(jīng)全部向左移動(dòng)到另一索引位置??梢栽O(shè)置這樣的挪動(dòng)(panning)候選, 因?yàn)閷?duì)于每個(gè)用戶輸入只挪開一個(gè)候選槽(candidate slot)??商鎿Q地,挪動(dòng)可以是成比例的,因?yàn)閷?duì)于更快或更長的手指揮動(dòng)來說挪動(dòng)的等級(jí)可以較大。而且,挪動(dòng)可以是離散的或連續(xù)的。例如,顯示可以跳至每個(gè)位置或可以在用戶輸入了挪動(dòng)輸入之后“快速跳”到某一位置,以使得各種候選沿著顯示橫向地出現(xiàn)在可重復(fù)位置上。可替換地,顯示可以是連續(xù)的或類似的,因?yàn)楹蜻x位置完全依賴于用戶輸入的等級(jí),并且不停在特定位置或快速跳到特定位置。
圖4是響應(yīng)于對(duì)于IME系統(tǒng)的觸摸屏輸入提供用戶交互的系統(tǒng)的示意圖。系統(tǒng)400 可以使用諸如設(shè)備402這樣的移動(dòng)設(shè)備實(shí)現(xiàn)。設(shè)備402包括各種輸入和輸出機(jī)構(gòu),諸如觸摸屏顯示器404和滾動(dòng)球406。設(shè)備402內(nèi)的大量組件可以被配置為提供在顯示器404上的各種選擇功能,諸如在IME應(yīng)用中選擇并且錄入信息。一個(gè)這樣的組件是顯示器管理器412,其可以負(fù)責(zé)呈現(xiàn)用于呈現(xiàn)在顯示器404上的內(nèi)容。顯示器管理器412可以從大量源接受與圖形相關(guān)的內(nèi)容并且可以確定這些內(nèi)容將如何提供給用戶。例如,可能需要顯示用于設(shè)備404上各種應(yīng)用410的大量不同窗口,并且顯示器管理器412可以確定哪些顯示、哪些隱藏以及當(dāng)各種圖形對(duì)象之間存在重疊顯示或隱藏什么。顯示器管理器412可以包括用于提供與所顯示的組件交互的特定功能的各種組件——它們可能在多個(gè)應(yīng)用之間共享,并且例如,可以由設(shè)備402的操作系統(tǒng)提供。例如, 這樣的功能可以由輸入法編輯器應(yīng)用(IME)415提供,輸入法編輯器應(yīng)用415可以負(fù)責(zé)從用戶接收輸入以及將信息變換為具有不同字符集的形式。在本例中,羅馬鍵盤405顯示在顯示器404上,并且可以類似于在上面屏幕截圖中顯示的鍵盤。具體來說,鍵盤405可以與來自其它應(yīng)用的特征組合提供,其中鍵盤405用作其它應(yīng)用的輸入機(jī)構(gòu)以及從一個(gè)字符集到另一字符集的變換器。鍵盤405以及其它ME功能可以由在設(shè)備上運(yùn)行的IME 415提供。IME415可以是設(shè)備操作系統(tǒng)的一部分或者可以是一個(gè)獨(dú)立的應(yīng)用,并且可以提供到其它應(yīng)用的API以使得它們可以從其接收輸入。而且,在本例中,設(shè)備具有規(guī)則的“硬”鍵盤,并且當(dāng)設(shè)備的屏幕滑動(dòng)得在硬鍵盤以外的路徑之外足夠遠(yuǎn)時(shí),輸入控制可以從硬鍵盤傳遞到軟鍵盤以使得可以可靠地使用其。操作系統(tǒng)和顯示器管理器412可以協(xié)作以便顯示疊加在其它應(yīng)用上的IME特征。 IME 415的這些呈現(xiàn)可以由IME接口管理器417操控,其可以負(fù)責(zé)IME 415呈現(xiàn)給用戶的方式。例如,IME接口管理器417可以通過上面和下面討論的那些方式類似的方式,用圖形呈現(xiàn)鍵盤和候選框。IME翻譯器419負(fù)責(zé)生成用于IME 415的內(nèi)容。例如,IME翻譯器419負(fù)責(zé)接收由用戶輸入的羅馬字符并且將那些字符變換為一個(gè)或多個(gè)候選。單個(gè)應(yīng)用410能夠依照API通過顯示器管理器412來自行登記,以便指示它們可能需要的顯示元素的排序。輸入管理器414可以負(fù)責(zé)翻譯由設(shè)備402的用戶提供的命令。例如,這樣的命令可以來自鍵盤、來自觸摸屏顯示器404、來自軌跡球406或者來自其它這樣的源,包括專用按鈕或者軟按鈕(例如,其功能可以隨時(shí)間改變的按鈕、以及其功能可以顯示在與特定按鈕鄰接的、顯示器404的區(qū)域上的按鈕)。例如,輸入管理器414可以確定正在顯示器的什么區(qū)域中接收命令,并且由此這些命令將要供給顯示器上正在顯示的什么應(yīng)用中。此外,可以將觸摸屏404上的輸入動(dòng)作解析為公用格式并且將那些經(jīng)解析的動(dòng)作(例如,短按、長按、 輕擊以及直線拖拽)傳遞給適當(dāng)?shù)膽?yīng)用。輸入管理器414還可以將這些輸入報(bào)告給事件管理器(未顯示),事件管理器接著將它們報(bào)告給適當(dāng)?shù)哪K或者應(yīng)用。當(dāng)IME功能針對(duì)某一設(shè)備被激活時(shí),輸入管理器可以將軟鍵盤的區(qū)域中的輸入傳遞給IME 415。各種應(yīng)用410——通常在公用微處理器上——可以在設(shè)備402上運(yùn)行。應(yīng)用410 可以是各種形式,諸如地圖應(yīng)用、電子郵件以及其它消息應(yīng)用、瀏覽器應(yīng)用、音樂和視頻播放器以及各種在瀏覽器內(nèi)運(yùn)行或者瀏覽器的擴(kuò)展內(nèi)運(yùn)行的各種應(yīng)用。應(yīng)用410可以包括接收某一字符集中的輸入——諸如中文或者日文字符——的應(yīng)用,IME 415可以用作來自用戶的羅馬字符的輸入與這些應(yīng)用410之間的翻譯層。無線接口 408管理與無線網(wǎng)絡(luò)的通信,無線網(wǎng)絡(luò)可以是還承載話音通信的數(shù)據(jù)網(wǎng)絡(luò)。無線接口可以以熟悉的方式運(yùn)行,諸如根據(jù)下面討論的例子,并且可以提供用于設(shè)備 402與諸如文本消息、電子郵件和電話語音郵件消息之類的消息業(yè)務(wù)的通信。此外,無線接口 408可以支持通過無線網(wǎng)絡(luò)進(jìn)行內(nèi)容和計(jì)算機(jī)代碼的下載和上傳??梢蕴峁└鞣N形式的永久存儲(chǔ),諸如使用硬盤和/或固態(tài)存儲(chǔ)器件。這里示出兩個(gè)例子。首先,詞典416包括輸入字符與它們可能表示的其它字符之間的關(guān)系,其中輸入字符表示某些其它字符的可能性以這樣的方式保存以可能性降序次序提供對(duì)某一文本錄入的解的建議或者候選。詞典416可以用于幫助完成不完整錄入,以便消除在將多個(gè)字符分配給各個(gè)鍵的鍵盤上存在的錄入歧義,或者用于將在第一字符集錄入的數(shù)據(jù)變換為第二字符集中的輸出的IME應(yīng)用。詞典416可以包括一個(gè)整體詞典(monolithic dictionary),或者多個(gè)如上所討論的原子詞典。其它存儲(chǔ)器包括用戶默認(rèn)418,其可以是存儲(chǔ)在相同媒介上作為詞典416的用戶的簡(jiǎn)檔信息。用戶默認(rèn)418包括關(guān)于設(shè)備402的用戶的各種參數(shù)。在與這里相關(guān)的例子中, 用戶簡(jiǎn)檔可以包括定義用戶傾向于使鍵盤以此方式顯示在設(shè)備上的方式、用戶傾向于以該語言操作(在一些環(huán)境下,以便使得當(dāng)用戶啟動(dòng)一個(gè)采用原文輸入的應(yīng)用時(shí)自動(dòng)提供給用戶的IME接口)的語言的數(shù)據(jù)。使用這些圖形組件以及為了簡(jiǎn)要起見而在這里省略的其它組件,設(shè)備402可以響應(yīng)于用戶輸入提供特定動(dòng)作。具體地說,設(shè)備402可以通過建議不同字符集中的候選來響應(yīng)用戶的輸入。而且,某些輸入可以使得在鍵盤中以及候選框或者窗口中發(fā)生變化。圖5A是用于提供自動(dòng)移動(dòng)候選框的示范性處理過程的流程圖。總的來說,處理過程包括通過在其中輸入文本的畫布區(qū)域來顯示候選區(qū)域,以及隨著文本被輸入到畫布區(qū)域上而移動(dòng)候選區(qū)域以便保持候選區(qū)域在將被輸入的文本的路徑之外。用這樣的方式,畫布區(qū)域可以較大——比如果將候選區(qū)域設(shè)置在一個(gè)位置上(諸如通過將其停駐在鍵盤最上方)的情況要大。處理過程從框402開始,其中鍵盤被顯示為示出第一字符集。例如,字符集可以是羅馬字符集或者拉丁字符集,并且鍵盤可以是標(biāo)準(zhǔn)IME實(shí)施方式的部分。鍵盤可以是軟鍵盤,以使得用戶在屏幕最上方打字以輸入信息到鍵盤,并且使得諸如當(dāng)設(shè)備從肖像模式移動(dòng)到風(fēng)景模式時(shí)可以移動(dòng)或者改變鍵盤上的信息。在框504處,畫布被顯示為具有疊加的建議或者候選框。畫布可以根據(jù)用戶當(dāng)前輸入數(shù)據(jù)到其的特定應(yīng)用采取各種形式。例如,應(yīng)用可以是文字處理應(yīng)用、文本消息應(yīng)用或者電子郵件應(yīng)用,并且畫布可以表示用戶針對(duì)這些應(yīng)用寫在其上的頁。數(shù)據(jù)可以隨著用戶輸入數(shù)據(jù)而顯示在畫布上。然而,在IME的場(chǎng)景中,用戶經(jīng)常輸入第一字符集的數(shù)據(jù),并且第二字符集的結(jié)果直到用戶從所提供的候選當(dāng)中選擇了特定結(jié)果才被顯示。因此候選窗口可以是用于響應(yīng)于來自用戶的信息錄入而顯示多個(gè)結(jié)果的機(jī)構(gòu)。在框506處,接收部分用戶輸入并且用針對(duì)該部分用戶輸入的候選解填充建議或者候選框。例如,用戶可以輸入有限數(shù)量的、可以映射到多個(gè)字符或者目標(biāo)字符集中的字符集合的字符。在框508處,用戶已經(jīng)選擇了特定候選,并且針對(duì)該候選的第二字符集中的文本被添加到畫布。這樣的添加通常可以包括顯示可能與基于字母的字符(像羅馬字母表中的那些)有所區(qū)別的符號(hào)字符,諸如中文中的那些字符。通過添加到畫布的新文本,針對(duì)生成畫布的應(yīng)用的文本錄入點(diǎn)可以移動(dòng)到新的位置,諸如通過在畫布上向下移動(dòng)一行。在這樣的狀況下,其中建議或者候選框位于畫布底部,概念上來說下一個(gè)輸入可以正常存在于建議或者候選框之下。在這樣的狀況下,畫布可以向上滾動(dòng)以使得在建議或者候選框上方可以看到新添加的文本。可替換地,在已經(jīng)輸入文本在其中的畫布的區(qū)域上,可以諸如通過移動(dòng)接近畫布頂部的候選框來向上移動(dòng)候選框。而且,如果用戶通常僅采用畫布的最左邊部分輸入文本,那么候選框的高寬比可以從水平方向相對(duì)較長且垂直方向相對(duì)較短變?yōu)榇怪狈较蜉^長而水平方向相對(duì)較窄。例如,可以將候選框移動(dòng)到屏幕的右手邊緣,在此處它位于可能已經(jīng)由用戶輸入的大多數(shù)文本的路徑之外。在該處理過程的結(jié)束處,處理過程返回到框506上方的區(qū)域,并且等待從某一用戶或者多個(gè)用戶接收到另外的輸入。圖5B是對(duì)到IME系統(tǒng)的用戶輸入的反應(yīng)的示范性處理過程的流程圖。該處理過程通常示出EVE應(yīng)用能夠?qū)碜杂脩舻那宄墓δ茌斎胱龀龇磻?yīng)的方式。處理過程從框512開始,其中顯示了具有第一字符集的部分鍵盤。這里引用鍵盤為部分鍵盤,因?yàn)樗硗獾逆I這些鍵一開始沒有顯示在鍵盤上但是能夠?qū)τ脩糨斎胱龀龇磻?yīng)而顯示以替換鍵盤上的某些其它鍵。在框514處,設(shè)備以正常方式接收輸入。例如,用戶可以打羅馬字符到IME的文字錄入?yún)^(qū)域中,IME系統(tǒng)可以顯示匹配用戶輸入的信息的、第二字符集中的一個(gè)或多個(gè)候選。用戶可以持續(xù)輸入這樣的字符達(dá)不確定的時(shí)間。最后,用戶可能想要停止輸入文本,并且可能想要改變(affect)接收該文本錄入的IME應(yīng)用或者基礎(chǔ)應(yīng)用的外觀或者感覺。結(jié)果,設(shè)備可以接收與正常字符錄入不同的用戶輸入(框516)到這樣的系統(tǒng)中。在本例中,表示了四個(gè)這樣的清楚用戶輸入。例如,在框518處,用戶輸入一個(gè)輕拍輸入到IME的鍵盤上。鍵盤上這樣的輕拍可以解釋為要添加基本羅馬字符到解中的意圖,并且因此,可以更新建議或者候選以反映最新輸入的數(shù)據(jù)。在框522處,系統(tǒng)對(duì)用戶的向上揮動(dòng)動(dòng)作做出反應(yīng)。處理過程可以將這樣的輸入解析為表示用戶想要以特定方式改變第一字符集中的文本錄入。例如,這樣的動(dòng)作可以解析為改變鍵盤上各個(gè)鍵的響應(yīng)諸如通過將每個(gè)鍵變?yōu)榇髮懽帜福蛘咦優(yōu)楣δ苕I組合、變?yōu)榍榫w符號(hào),或者變?yōu)榱硪恍问降逆I盤(在初始向上揮動(dòng)之后向下?lián)]動(dòng)可以將鍵盤返回到其初始狀態(tài))。其它用戶輸入可以包括在鍵盤本身上的側(cè)揮動(dòng)作。這樣的輸入可以導(dǎo)致軟鍵盤沿特定方向滑動(dòng),以使得可以顯示通常使用(但不是主要的一開始顯示的鍵盤那樣通常)鍵盤的部分,諸如情緒圖標(biāo)或者其它經(jīng)常使用的一個(gè)或多個(gè)鍵按下組合。如框5M中所示,揮動(dòng)動(dòng)作可能導(dǎo)致設(shè)備確定在用戶揮動(dòng)的方向是否存在另外的鍵盤。如果存在,那么設(shè)備就能夠在其顯示器上生成鍵盤的新視圖。這樣的視圖可以既包括靜態(tài)鍵又包括動(dòng)態(tài)鍵。靜態(tài)鍵是一個(gè)一般在設(shè)備上不發(fā)生變化的鍵,諸如字母表的字母。動(dòng)態(tài)鍵是打算改變其內(nèi)容的鍵。例如,可以預(yù)留某些鍵以使得流行字符或者短語能夠被容易地添加到設(shè)備上的鍵盤,甚至從中央服務(wù)器推出到設(shè)備上。
14
第四用戶選項(xiàng)包括將橫向揮動(dòng)引導(dǎo)到建議或者候選框上。這樣的揮動(dòng)首先導(dǎo)致系統(tǒng)確定在屏幕邊緣是否存在另外的候選(框528),然后導(dǎo)致挪動(dòng)表示候選的色帶,如上面所述。圖5C是提供熱門術(shù)語作為移動(dòng)設(shè)備上的候選的示范性處理過程的流程圖??偟膩碚f,處理過程包括在服務(wù)器系統(tǒng)上識(shí)別已經(jīng)在各種用戶中流行或者正在變得流行的多個(gè)術(shù)語。用這樣的方式,可以在假定用戶可能正在寫關(guān)于在其它用戶流行的術(shù)語或者搜索這些術(shù)語的條件下建議這些術(shù)語給用戶。處理過程在框534處開始,其中一開始就啟動(dòng)IME。IME可以包括候選窗口,并且因此可能需要對(duì)有關(guān)用戶正在嘗試輸入什么到系統(tǒng)中做出有依據(jù)的論據(jù)。在框536處,下載“熱門”列表,并且包括最近流行的術(shù)語或者諸如情緒圖標(biāo)之類的其它項(xiàng)目的列表。熱門列表可以添加到用于IME的詞典以使得流行術(shù)語或者短語在給設(shè)備的用戶的建議候選的最上方。例如,熱門列表中的術(shù)語可以添加到術(shù)語詞典中并且可以給予其(至少臨時(shí)地) 相對(duì)于詞典中其它較為靜態(tài)的術(shù)語來說較高的評(píng)級(jí)得分??梢酝ㄟ^將術(shù)語集成到基本詞典中,或者通過添加大量原子詞典到系統(tǒng),然后通過查看已經(jīng)加載到設(shè)備上的每個(gè)這樣的詞典來對(duì)可能解進(jìn)行等級(jí)排序,來運(yùn)行添加到詞典。在框538處,用戶提供一個(gè)或多個(gè)羅馬字符到他們的設(shè)備。在框540處,部分錄入被應(yīng)用于詞典或者將為用戶生成第二字符集中的解的其它結(jié)構(gòu)。如所述的那樣,詞典或者其它結(jié)構(gòu)可以存儲(chǔ)反映這些術(shù)語以相似方式被使用的相對(duì)流行度的數(shù)據(jù)(例如,當(dāng)用戶采用IME寫電子郵件時(shí)電子郵件的匹配使用)。在框542處,詞典引擎或者其它模塊可以返回能夠匹配已經(jīng)輸入的文本的候選的結(jié)果,并且可以通過它們準(zhǔn)確反映用戶的預(yù)期行為的等級(jí)對(duì)結(jié)果進(jìn)行排序。因此,在框544處,處理過程顯示根據(jù)它們的重要性——依照至少部分地利用在基于服務(wù)器的大型系統(tǒng)中匹配建議或者候選的流行度所判定的——排序的匹配建議或者候選。圖5D是在軟鍵盤上提供熱門情緒圖標(biāo)或者其它符號(hào)的示范性處理過程的流程圖??偟膩碚f,處理過程包括在IME應(yīng)用的場(chǎng)景中加載以及呈現(xiàn)熱門情緒圖標(biāo)。處理過程在框550處開始,其中啟動(dòng)IME應(yīng)用。如同先前的處理過程那樣,然后, IME過程可以從服務(wù)器系統(tǒng)下載一個(gè)或多個(gè)"熱門"情緒圖標(biāo)。然而,不是添加這些情緒圖標(biāo)到設(shè)備上的詞典,或者除了添加這些情緒圖標(biāo)到設(shè)備上的詞典之外,情緒圖標(biāo)還可以直接應(yīng)用于設(shè)備的輔助鍵盤部分上的鍵,如上面的圖中所示。為鍵盤選擇情緒圖標(biāo)可以慢速進(jìn)行以便降低鍵盤上情緒圖標(biāo)的“攪動(dòng)(churn) ”, “攪動(dòng)”是用戶不知道具有特定情緒圖標(biāo)的鍵盤,然后一旦該情緒圖標(biāo)變得不流行就使其突然從他們的鍵盤消失。因此,例如,可以創(chuàng)建某些延遲以便放慢提供情緒圖標(biāo)給客戶端鍵盤的出現(xiàn)和消失。而且,可以跟蹤用戶選擇特定情緒圖標(biāo)的次數(shù),并且考慮到用戶經(jīng)常采用被使用多于閾值次數(shù)的情緒圖標(biāo)并且應(yīng)當(dāng)不想要它們發(fā)生變化,可以將它們保存以免被刪除或者替換。在框554處,可以使用情緒圖標(biāo),好像由用戶在鍵盤上揮動(dòng)激起的那樣(框554)。 例如,情緒圖標(biāo)可以設(shè)置在虛擬鍵盤的輔助部分或者補(bǔ)充部分的鍵上,通常虛擬鍵盤不是可見的。如果用戶將諸如橫向揮動(dòng)這樣的揮動(dòng)輸入應(yīng)用在觸摸屏上軟鍵盤的表面上,那么就可以顯示這些補(bǔ)充部分(框556)。然后,鍵盤的另外部分,包括情緒圖標(biāo),可以對(duì)用戶輸入開放,并且用戶可以按鍵盤的補(bǔ)充部分上的鍵來做出這樣的輸入(框558)。圖6A是為移動(dòng)設(shè)備的用戶提供當(dāng)前候選的示范性處理過程的泳道示意圖??偟膩碚f,處理過程示出客戶端設(shè)備與服務(wù)器系統(tǒng)之間的示范性交互——可以借此為設(shè)備動(dòng)態(tài)地更新詞典,以使得使用這些信息將不明確的錄入溶入到候選或者實(shí)際選擇中。處理過程在框602處開始,其中服務(wù)器系統(tǒng)識(shí)別當(dāng)前流行術(shù)語或者短語。例如,系統(tǒng)可以分析搜索引擎查詢的日志以便確定可能已經(jīng)被某一變?yōu)榱餍忻浇榻裹c(diǎn)的特定話題觸發(fā)的公共查詢??梢噪S著用戶輸入不明確的輸入而由服務(wù)器系統(tǒng)或者由用戶的設(shè)備來執(zhí)行這些數(shù)據(jù)的供應(yīng)。在后一實(shí)例中,如虛線框604所示,服務(wù)器系統(tǒng)將關(guān)于這些流行術(shù)語和短語的數(shù)據(jù)格式化對(duì)于插入到用戶設(shè)備上的詞典中(604)。在框606處,設(shè)備被投入使用并且設(shè)備將自己識(shí)別到服務(wù)器系統(tǒng)(框608),該服務(wù)器系統(tǒng)將在這些數(shù)據(jù)將要被設(shè)備自己使用時(shí)發(fā)送詞典數(shù)據(jù)到設(shè)備。在稍后(框612),用戶能夠提供部分輸入到設(shè)備,因此輸入是不明確的。在詞典數(shù)據(jù)已經(jīng)被發(fā)送到設(shè)備的情況下,設(shè)備能夠自己檢查匹配和得分并且將它們進(jìn)行等級(jí)排序(框614)??商鎿Q地,隨著用戶輸入字符,字符可以被提交給服務(wù)器系統(tǒng)(框616),其可以自己識(shí)別候選,包括通過集成框 602中所確定的候選。服務(wù)器系統(tǒng)還能夠從這些信息中生成建議或者候選并且通過網(wǎng)絡(luò)提供這些建議給設(shè)備。在框620處,客戶端設(shè)備顯示針對(duì)用戶輸入的建議或者候選給用戶,包括通過使用有關(guān)“熱門話題”的信息。用戶在框622處選擇候選中的一個(gè),并且服務(wù)器系統(tǒng)能夠登記用戶選擇的特定術(shù)語。通過這樣的方式,假定該詞相對(duì)流行并且可能被其它用戶使用,那么服務(wù)器系統(tǒng)就可以自動(dòng)增加用戶選擇的術(shù)語在詞典中的得分。在用戶選擇了候選或者建議之后,它就被提供給控制在設(shè)備上的畫布的相關(guān)應(yīng)用。然后,處理過程結(jié)束并且可以重復(fù)另外的錄入。圖6B是為計(jì)算設(shè)備提供流行情緒圖標(biāo)的示范性處理過程的泳道示意圖。總的來說,處理過程示出特定客戶端在受到其它客戶端與服務(wù)器系統(tǒng)的交互影響下與服務(wù)器系統(tǒng)的交互。處理過程通常包括提供可能重要或者流行的情緒圖標(biāo)給移動(dòng)設(shè)備,以使得用戶可以通過他們?cè)O(shè)備上的鍵盤有簡(jiǎn)單的接觸以便將情緒圖標(biāo)添加到他們?cè)O(shè)備上他們的消息中的一個(gè)。處理過程在框630處開始,其中各種用戶提交消息給服務(wù)器系統(tǒng),諸如電子郵件消息或者搜索查詢,服務(wù)器系統(tǒng)接著又識(shí)別消息中的情緒圖標(biāo)或者其它對(duì)象(框632)。然后,服務(wù)器系統(tǒng)根據(jù)目標(biāo)數(shù)據(jù)集中特定情緒圖標(biāo)的出現(xiàn)頻率對(duì)它們進(jìn)行等級(jí)排序。這樣的數(shù)據(jù)集可以是恒定不變的,也可以是動(dòng)態(tài)的,因?yàn)樗梢詫?duì)較短時(shí)段上的流行度做出反應(yīng), 諸如在假日或者假期。稍后,用戶啟動(dòng)IME應(yīng)用(框636),其使得應(yīng)用聯(lián)絡(luò)服務(wù)器系統(tǒng)。然后,服務(wù)器系統(tǒng)通過發(fā)送情緒圖標(biāo)信息到客戶端設(shè)備來應(yīng)答(框638),以該信息可以被容易地部署并且由客戶端設(shè)備使用的方式對(duì)其格式化。然后,在框640處,客戶端設(shè)備存儲(chǔ)從服務(wù)器系統(tǒng)接收到的詞典數(shù)據(jù),其中它可以用于影響鍵盤的外觀,諸如設(shè)備上鍵盤的補(bǔ)充區(qū)域。因此,在框642處,用戶提供命令到客戶端設(shè)備用于從標(biāo)準(zhǔn)字母數(shù)字鍵盤改變?yōu)檠a(bǔ)充鍵盤,該補(bǔ)充鍵盤的鍵表示諸如情緒圖標(biāo)之類的各種另外項(xiàng)目。在框644處,顯示補(bǔ)充鍵盤,并且在鍵盤的補(bǔ)充部分上的區(qū)域中顯示最流行的情緒圖標(biāo)。某些其它情緒圖標(biāo)可以較為持久,而非僅僅基于通常的公共流行度。例如,用戶可以看到它們喜歡的情緒圖標(biāo)并且可以輸入用于“凍結(jié)”他們鍵盤上特定情緒圖標(biāo)的命令(例如,通過長按該鍵并且從作為長按的結(jié)果彈出的菜單中選擇“凍結(jié)”命令)??商鎿Q地,設(shè)備可以跟蹤特定鍵被使用的次數(shù)并且可以防止經(jīng)常使用的鍵被更新。這樣的鍵可以視為將被“凍結(jié)”,并且可以在框646處識(shí)別,以使得當(dāng)其余鍵與流行情緒圖標(biāo)疊加(框644)時(shí)它們不被重寫。用這樣的方式,可以至少部分地使用從多個(gè)不同第三方接收到的信息來填充鍵盤的鍵,以使得這些鍵表示已經(jīng)被確定為在那些第三方中流行的信息。圖7示出可以通過這里描述的技術(shù)使用的通用計(jì)算機(jī)設(shè)備700和通用移動(dòng)計(jì)算機(jī)設(shè)備750的例子。計(jì)算設(shè)備700是用來表示各種形式的數(shù)字計(jì)算機(jī),諸如膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、工作站、個(gè)人數(shù)字助理、服務(wù)器、刀片服務(wù)器、主機(jī)以及其它合適的計(jì)算機(jī)。計(jì)算設(shè)備750是用來表示各種形式的移動(dòng)設(shè)備,諸如個(gè)人數(shù)字助理、蜂窩電話、智能手機(jī)以及其它類似計(jì)算設(shè)備。這里示出的組件、它們的連接和關(guān)系以及它們的功能僅僅意在示范性的, 并且不意在限制本文件中描述和/或主張的本發(fā)明的實(shí)施方式。計(jì)算設(shè)備700包括處理器702、存儲(chǔ)器704、存儲(chǔ)設(shè)備706、連接到存儲(chǔ)器704和高速擴(kuò)展端口 710的高速接口 708以及連接到低速總線714和存儲(chǔ)設(shè)備706的低速接口 712。 組件702、704、706、708、710和712中的每一個(gè)都使用各種總線互連,并且可以安裝在公共母板上或者根據(jù)情況以其它方式安裝。處理器702可以處理用于在計(jì)算設(shè)備700內(nèi)運(yùn)行的指令,包括存儲(chǔ)在存儲(chǔ)器704中或者存儲(chǔ)設(shè)備706上用于將GUI的圖形信息顯示在外部輸入-輸出設(shè)備上的指令,外部輸入-輸出設(shè)備諸如耦接到高速接口 708的顯示器716。在其它實(shí)施方式中,可以根據(jù)情況連同多個(gè)存儲(chǔ)器和多種類型的存儲(chǔ)器一起使用多個(gè)處理器和 /或多個(gè)總線。而且,可以連接多個(gè)計(jì)算設(shè)備700,每個(gè)設(shè)備提供必要操作的部分(例如,作為服務(wù)器庫、刀片服務(wù)器組或者多處理器系統(tǒng))。存儲(chǔ)器704存儲(chǔ)計(jì)算設(shè)備700內(nèi)的信息。在一個(gè)實(shí)施方式中,存儲(chǔ)器704是一個(gè)易失性存儲(chǔ)單元或者多個(gè)易失性存儲(chǔ)單元。在另一實(shí)施方式中,存儲(chǔ)器704是一個(gè)非易失性存儲(chǔ)單元或者多個(gè)非易失性存儲(chǔ)單元。存儲(chǔ)器704還可以是其它形式的計(jì)算機(jī)可讀媒介, 諸如磁盤或者光盤。存儲(chǔ)設(shè)備706能夠提供用于計(jì)算設(shè)備700的大容量存儲(chǔ)空間。在一個(gè)實(shí)施方式中,存儲(chǔ)設(shè)備706可以是計(jì)算機(jī)可讀媒介或者包含計(jì)算機(jī)可讀媒介,諸如軟盤設(shè)備、硬盤設(shè)備、光盤設(shè)備或者磁帶設(shè)備、閃存或者其它類似固態(tài)存儲(chǔ)設(shè)備,或者設(shè)備陣列,包括存儲(chǔ)區(qū)域網(wǎng)絡(luò)或者其它構(gòu)造中的設(shè)備。計(jì)算機(jī)程序產(chǎn)品可以被有形地具體實(shí)現(xiàn)在信息載體中。計(jì)算機(jī)程序產(chǎn)品還可以包含當(dāng)被運(yùn)行時(shí)執(zhí)行諸如上面所描述的那些一個(gè)或多個(gè)方法的指令。信息載體是計(jì)算機(jī)或者機(jī)器可讀媒介,諸如存儲(chǔ)器704、存儲(chǔ)設(shè)備706、處理器702 上的存儲(chǔ)器或者傳播信號(hào)。高速控制器708管理計(jì)算設(shè)備700的帶寬密集型(bandwidth intensive)操作, 低速控制器712管理較低的帶寬密集型操作。這些功能分配僅是示范性的。在一個(gè)實(shí)施方式中,高速控制器708耦接到存儲(chǔ)器704、顯示器716(例如,通過圖形處理器或者加速器) 以及耦接到可以接受各種擴(kuò)展卡(未示出)的高速擴(kuò)展端口 710。在該實(shí)施方式中,低速控制器712耦接到存儲(chǔ)設(shè)備706和低速擴(kuò)展端口 714??梢园ǜ鞣N通信端口(例如,USB、 藍(lán)牙、以太網(wǎng)、無線以太網(wǎng))的低速擴(kuò)展端口可以耦接到一個(gè)或多個(gè)輸入-輸出設(shè)備,諸如鍵盤、定點(diǎn)設(shè)備、掃描儀或者諸如通過網(wǎng)絡(luò)適配器的交換機(jī)或者路由器這樣的網(wǎng)絡(luò)設(shè)備。
17
計(jì)算設(shè)備700可以以大量不同形式實(shí)現(xiàn),如圖中所示。例如,它可以實(shí)現(xiàn)為標(biāo)準(zhǔn)服務(wù)器720或者許多倍這樣的服務(wù)器組。它還可以實(shí)現(xiàn)為架式(rack)服務(wù)器系統(tǒng)724。此外,可以實(shí)現(xiàn)在諸如膝上型計(jì)算機(jī)722這樣的個(gè)人計(jì)算機(jī)中??商鎿Q地,來自計(jì)算設(shè)備700 的組件可以與諸如設(shè)備750的移動(dòng)設(shè)備(未示出)中的其它組件組合。這些設(shè)備中的每一個(gè)可以包含一個(gè)或多個(gè)計(jì)算設(shè)備700、750,并且整個(gè)系統(tǒng)可以組成相互通信的多個(gè)計(jì)算設(shè)備 700,750ο計(jì)算設(shè)備750除了其它組件之外還包括處理器752、存儲(chǔ)器764、諸如顯示器7Μ 這樣的輸入-輸出設(shè)備、通信接口 766和收發(fā)器768。設(shè)備750還可以提供為具有用于提供額外存儲(chǔ)的存儲(chǔ)設(shè)備,諸如微驅(qū)動(dòng)器或者其它設(shè)備。組件750、752、764、754、766和768中的每一個(gè)使用各種總線互連,組件中的若干個(gè)可以安裝在公共母板上或者根據(jù)情況以其它方式安裝。處理器752可以運(yùn)行計(jì)算設(shè)備750內(nèi)的指令,包括存儲(chǔ)在存儲(chǔ)器764中的指令。 處理器可以實(shí)現(xiàn)為包括單獨(dú)的多個(gè)模擬和數(shù)字處理器的芯片的芯片集。例如,處理器可以提供設(shè)備750的其它組件的協(xié)作,諸如用戶界面的控制、設(shè)備750運(yùn)行的應(yīng)用以及通過設(shè)備 750的無線通信。處理器752可以通過控制接口 758以及耦接到顯示器754的顯示器接口 756與用戶通信。例如,顯示器7Μ可以是TFT IXD (薄膜晶體管液晶顯示器)或者OLED (有機(jī)發(fā)光二極管)顯示器或者其它合適的顯示技術(shù)。顯示器接口 756可以包括用于驅(qū)動(dòng)顯示器754 呈現(xiàn)圖形信息以及其它信息給用戶的合適電路??刂平涌?758可以從用戶接收命令并且將它們進(jìn)行變換以提交給處理器752。此外,可以提供外部接口 762與處理器752通信,以便使得設(shè)備750能夠與其它設(shè)備的鄰近區(qū)域通信。例如,外部接口 762可以提供用于在一些實(shí)施方式中的有線通信,或者用于在其它實(shí)施方式中的無線通信,并且還可以使用多個(gè)接口。存儲(chǔ)器764存儲(chǔ)計(jì)算設(shè)備750內(nèi)的信息。存儲(chǔ)器764可以實(shí)現(xiàn)為一個(gè)或多個(gè)計(jì)算機(jī)可讀媒介或者媒質(zhì)、一個(gè)易失性存儲(chǔ)單元或者多個(gè)易失性存儲(chǔ)單元或者一個(gè)非易失性存儲(chǔ)單元或者多個(gè)非易失性存儲(chǔ)單元。還可以提供擴(kuò)展存儲(chǔ)器774并且通過擴(kuò)展接口 772連接至設(shè)備750,擴(kuò)展接口 772可以包括例如SIMM (Single In Line Memory Module,單在線存儲(chǔ)模塊)卡接口。這些擴(kuò)展存儲(chǔ)器774可以提供用于設(shè)備750的額外的存儲(chǔ)空間,或者還可以存儲(chǔ)用于設(shè)備750的應(yīng)用或者其它信息。具體地說,擴(kuò)展存儲(chǔ)器774可以包括用于實(shí)行或者補(bǔ)充上面描述的處理過程的指令,并且還可以包括安全信息。因此,例如,擴(kuò)展存儲(chǔ)器774可以提供為用于設(shè)備750的安全模塊,并且可以利用允許設(shè)備750的安全使用的指令對(duì)其進(jìn)行編程。此外,安全應(yīng)用可以連同附加信息一起經(jīng)由SIMM卡提供,諸如將有關(guān) SIMM卡的識(shí)別信息以不可黑客的方式設(shè)置。存儲(chǔ)器可以包括例如閃存和/或NVRAM存儲(chǔ)器,如下面所討論的那樣。在一個(gè)實(shí)施方式中,計(jì)算機(jī)程序產(chǎn)品可以被有形地具體實(shí)現(xiàn)在信息載體中。計(jì)算機(jī)程序產(chǎn)品可以包含當(dāng)被運(yùn)行時(shí)執(zhí)行諸如上面所描述的那些一個(gè)或多個(gè)方法的指令。信息載體是計(jì)算機(jī)或者機(jī)器可讀媒介,諸如存儲(chǔ)器764、擴(kuò)展存儲(chǔ)器774、處理器752上的存儲(chǔ)器或者可以例如通過收發(fā)器768或者外部接口 762接收的傳播信號(hào)。設(shè)備750可以通過通信接口 766無線地進(jìn)行通信,通信接口 766必要時(shí)可以包括數(shù)字信號(hào)處理電路。通信接口 766可以提供用于在各種模式或者協(xié)議下進(jìn)行通信,諸如GSM 語音呼叫、SMS、EMS 或者 MMS 消息、CDMA、TDMA、PDC、WCDMA、CDMA2000 或者 GPRS 等等。這些通信可以例如通過無線頻率收發(fā)器768存在。此外,短范圍通信可以存在,諸如使用藍(lán)牙、 WiFi或者其它這樣的收發(fā)器(未示出)。此外,GPS(全球定位系統(tǒng))接收機(jī)模塊770可以提供另外的導(dǎo)航與涉及位置的無線數(shù)據(jù)給設(shè)備750,其可以根據(jù)情況由設(shè)備750上運(yùn)行的應(yīng)用使用。設(shè)備750還可以使用音頻編解碼器760進(jìn)行可聽通信,音頻編解碼器可以從用戶接收說話信息并且將其變換為可用的數(shù)字信息。音頻編解碼器760可以同樣地為用戶生成可聽聲音,諸如通過揚(yáng)聲器,例如設(shè)備750中的耳機(jī)。這些聲音可以包括來自語音電話呼叫的聲音,可以包括已記錄聲音(例如,語音消息、音樂文件等等)并且還可以包括通過設(shè)備 750上運(yùn)行的應(yīng)用生成的聲音。計(jì)算設(shè)備750可以以大量不同形式實(shí)現(xiàn),如圖中所示。例如,它可以實(shí)現(xiàn)為蜂窩電話780。它還可以實(shí)現(xiàn)為智能電話782、個(gè)人數(shù)字助理或者其它類似移動(dòng)設(shè)備的部分。設(shè)備750還可以包括能夠感測(cè)動(dòng)作的一個(gè)或多個(gè)不同設(shè)備。示例包括但是不局限于加速計(jì)和羅盤。加速計(jì)和羅盤或者能夠檢測(cè)動(dòng)作或者位置的其它設(shè)備可從任意數(shù)量的賣主得到,并且可以以各種方式感測(cè)動(dòng)作。例如,加速計(jì)可以檢測(cè)加速度的改變,而羅盤可以檢測(cè)分別在磁極北極或者南極方向上的改變。這些動(dòng)作上的改變可以由設(shè)備750檢測(cè)到并且用于根據(jù)這里描述的處理過程和技術(shù)更新各個(gè)設(shè)備750的顯示。這里描述的系統(tǒng)和技術(shù)的各種實(shí)施方式可以在數(shù)字電子線路、集成電路、專門設(shè)計(jì)的ASIC(專用集成電路)、計(jì)算機(jī)硬件、固件、軟件和/或其組合中實(shí)現(xiàn)。這些各種實(shí)施方式可以包括可編程系統(tǒng)上可執(zhí)行和/或可解釋的一個(gè)或多個(gè)計(jì)算機(jī)程序中的實(shí)施方式,可編程系統(tǒng)包括耦接用于從存儲(chǔ)系統(tǒng)接收數(shù)據(jù)和指令以及發(fā)送數(shù)據(jù)和指令到存儲(chǔ)系統(tǒng)的、 可以是專用或者通用的至少一個(gè)可編程處理器;存儲(chǔ)系統(tǒng);至少一個(gè)輸入設(shè)備和至少一個(gè)輸出設(shè)備。這些計(jì)算機(jī)程序(亦稱程序、軟件、軟件應(yīng)用或者代碼)包括用于可編程處理器的機(jī)器指令,并且可以以高級(jí)程序語言和/或面向?qū)ο蟮木幊陶Z言和/或匯編/機(jī)器語言來實(shí)現(xiàn)。如這里所使用的那樣,術(shù)語"機(jī)器可讀媒介"、“計(jì)算機(jī)可讀媒介"指的是用于提供機(jī)器指令和/或數(shù)據(jù)給可編程處理器的任意計(jì)算機(jī)程序產(chǎn)品、裝置和/或設(shè)備(例如,磁盤、光盤、存儲(chǔ)器、可編程邏輯器件(PLD)),包括接收機(jī)器指令作為機(jī)器可讀信號(hào)的機(jī)器可讀媒介。術(shù)語“機(jī)器可讀信號(hào)”指的是用于提供機(jī)器指令和/或數(shù)據(jù)給可編程處理器的任意 目號(hào)。為了提供與用戶的交互,這里描述的系統(tǒng)和技術(shù)可以在具有用于顯示信息給用戶的顯示設(shè)備(例如,CRT(陰極射線管)或者LCD(液晶顯示器)監(jiān)視器)以及用戶可以通過其向計(jì)算機(jī)提供輸入的鍵盤和定點(diǎn)設(shè)備(例如,鼠標(biāo)或者軌跡球)的計(jì)算機(jī)上實(shí)現(xiàn)。其它種類的設(shè)備也可用于提供與用戶的交互;例如,提供給用戶的反饋可以是任何形式的傳感反饋(例如(視覺反饋、聽覺反饋或者觸覺反饋);以及可以以任何形式接收來自用戶的輸入,包括聲音、語音或者觸覺輸入。這里描述的系統(tǒng)和技術(shù)可以在計(jì)算系統(tǒng)中實(shí)現(xiàn),計(jì)算系統(tǒng)包括后端組件(例如, 作為數(shù)據(jù)服務(wù)器)、或者包括中間件組件(例如,應(yīng)用服務(wù)器)或者包括前端組件(例如,具有圖形用戶界面或者瀏覽器——用戶通過它們可以與這里描述的系統(tǒng)和技術(shù)的實(shí)施方式進(jìn)行交互——的客戶端計(jì)算機(jī))或者這些后端、中間件或者前端組件的任意組合。系統(tǒng)的組件可以通過任意形式或者數(shù)字?jǐn)?shù)據(jù)通信媒介(例如,通信網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的例子包括局域網(wǎng)(“LAN")、廣域網(wǎng)(“WAN")和因特網(wǎng)。計(jì)算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器通常相互遠(yuǎn)離并且一般通過通信網(wǎng)絡(luò)交互??蛻舳伺c服務(wù)器的關(guān)系由于在各個(gè)計(jì)算機(jī)上運(yùn)行并且相互之間具有客戶端-服務(wù)器關(guān)系的計(jì)算機(jī)程序而引起。已經(jīng)描述了許多實(shí)施例。然而,應(yīng)當(dāng)理解,在不脫離本發(fā)明的精神和范圍的條件下可以進(jìn)行各種修改。例如,已經(jīng)相對(duì)于消息應(yīng)用和地圖應(yīng)用描述了本文件的大部分,但是也可以處理其它形式的圖形應(yīng)用,諸如交互程序向?qū)?、網(wǎng)頁導(dǎo)航和縮放以及其它這樣的應(yīng)用。此外,圖中描繪的邏輯流不要求示出的特定次序或者順序次序來實(shí)現(xiàn)期望的結(jié)果。此外,可以提供其它步驟,或者從所描述的流程中去掉一些步驟,并且可以添加其它組件到所描述的系統(tǒng)或者從其中去除。因此,其它實(shí)施例在后附權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的用戶界面方法,包括將由第一字符集定義的鍵盤顯示在計(jì)算設(shè)備的觸摸屏上;將電子畫布顯示在觸摸屏上,隨著用戶選擇鍵盤上的鍵而在該電子畫布上顯示與鍵盤上的鍵相應(yīng)的信息,所述信息以不同于第一字符集的第二字符集出現(xiàn);在畫布的前表面上生成候選區(qū)域;以及隨著信息被添加到畫布而自動(dòng)控制候選區(qū)域的位置,以便將所述候選區(qū)域移開以免覆蓋所述畫布上的位置,所述畫布上的位置當(dāng)前是信息將被添加到所述畫布的位置或者靠近信息將被添加到所述畫布的位置。
2.如權(quán)利要求1所述的方法,還包括接收用于使所述候選區(qū)域停駐在所述鍵盤的用戶輸入,并且隨后保持所述候選區(qū)域停駐在所述鍵盤直到隨后用于使所述候選區(qū)域從所述鍵盤脫離的用戶輸入為止。
3.如權(quán)利要求2所述的方法,其中,第一字符集包括基于羅馬字符的字符集,第二字符集包括符號(hào)字符集。
4.如權(quán)利要求1所述的方法,還包括接收用戶在所述候選區(qū)域中的候選選擇,將所選擇的候選添加到所述畫布,并且如果所述候選窗口使得所述畫布上的下一個(gè)數(shù)據(jù)錄入?yún)^(qū)域基本上不清楚的話就移動(dòng)所述候選窗口。
5.如權(quán)利要求1所述的方法,還包括改變所述候選區(qū)域的高寬比以及橫向移動(dòng)所述候選區(qū)域靠近所述顯示器的一側(cè)。
6.如權(quán)利要求1所述的方法,還包括接收所述鍵盤上的橫向揮動(dòng)輸入,以及沿所述橫向揮動(dòng)輸入的方向挪動(dòng)所述鍵盤。
7.如權(quán)利要求1所述的方法,還包括接收所述候選區(qū)域上的橫向揮動(dòng)動(dòng)作,以及響應(yīng)于所述橫向揮動(dòng)動(dòng)作,挪動(dòng)在所述候選區(qū)域中的多個(gè)候選錄入。
8.一種包括存儲(chǔ)程序代碼的計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)的物品,所述程序代碼可操作用于使得一個(gè)或多個(gè)機(jī)器執(zhí)行操作,所述操作包括將由第一字符集定義的鍵盤顯示在計(jì)算設(shè)備的觸摸屏上;將電子畫布顯示在觸摸屏上,隨著用戶選擇鍵盤上的鍵而在該電子畫布上顯示與鍵盤上的鍵相應(yīng)的信息,所述信息以不同于第一字符集的第二字符集出現(xiàn);在畫布的前表面上生成候選區(qū)域;以及隨著信息被添加到畫布而自動(dòng)控制候選區(qū)域的位置,以便將所述候選區(qū)域移開以免覆蓋所述畫布上的位置,所述畫布上的位置當(dāng)前是信息將被添加到所述畫布的位置或者靠近信息將被添加到所述畫布的位置。
9.如權(quán)利要求9所述的物品,其中,所述程序代碼可操作用于執(zhí)行以下操作,包括接收用于使所述候選區(qū)域停駐在所述鍵盤的用戶輸入,并且隨后保持所述候選區(qū)域停駐在所述鍵盤直到隨后用于使所述候選區(qū)域從所述鍵盤脫離的用戶輸入為止。
10.如權(quán)利要求9所述的物品,其中,第一字符集包括基于羅馬字符的字符集,第二字符集包括符號(hào)字符集。
11.如權(quán)利要求8所述的物品,其中,所述程序代碼可操作用于執(zhí)行以下操作,包括接收用戶在所述候選區(qū)域中的候選選擇,將所選擇的候選添加到所述畫布,并且如果所述候選窗口使得所述畫布上的下一個(gè)數(shù)據(jù)錄入?yún)^(qū)域基本上不清楚的話就移動(dòng)所述候選窗口。年
12.如權(quán)利要求8所述的物品,其中,所述程序代碼可操作用于執(zhí)行以下操作,包括改變所述候選區(qū)域的高寬比以及橫向移動(dòng)所述候選區(qū)域靠近所述顯示器的一側(cè)。
13.如權(quán)利要求8所述的物品,其中,所述程序代碼可操作用于執(zhí)行以下操作,包括接收所述鍵盤上的橫向揮動(dòng)輸入,以及沿所述橫向揮動(dòng)輸入的方向挪動(dòng)所述鍵盤。
14.如權(quán)利要求8所述的物品,其中,所述程序代碼可操作用于執(zhí)行以下操作,包括接收所述候選窗口上的橫向揮動(dòng)動(dòng)作,以及響應(yīng)于所述橫向揮動(dòng)動(dòng)作,挪動(dòng)所述候選區(qū)域中的多個(gè)候選錄入。
15.一種計(jì)算機(jī)實(shí)現(xiàn)的用戶界面系統(tǒng),包括圖形顯示系統(tǒng),用于呈現(xiàn)輸入法編輯器和文本錄入應(yīng)用,該文本錄入應(yīng)用具有用于顯示用戶輸入的信息的畫布區(qū)域以及用于呈現(xiàn)將添加到所述畫布區(qū)域的符號(hào)的候選區(qū)域;觸摸屏用戶輸入機(jī)構(gòu),用于依照?qǐng)D像法編輯器的顯示接收用戶選擇;以及輸入法接口管理器模塊,其可與圖像法編輯器一起操作,用于隨著信息被添加到所述畫布而自動(dòng)控制候選區(qū)域的位置,以便將所述候選區(qū)域移開以免覆蓋所述畫布上的位置, 所述畫布上的位置當(dāng)前是信息將被添加到所述畫布的位置或者靠近信息將被添加到所述畫布的位置。
16.如權(quán)利要求15所述的系統(tǒng),所述圖像法編輯器可操作用于接收第一字符集中的輸入以及生成不同于第一字符集的第二字符集中的輸出,所述第一字符集不與所述觸摸屏用戶輸入機(jī)構(gòu)上的鍵相應(yīng)。
17.如權(quán)利要求15所述的系統(tǒng),其中,所述圖像法編輯器接口管理器模塊還可操作用于接收用戶在所述候選區(qū)域中的候選選擇,提供所選擇的候選以添加到所述畫布,并且如果所述候選窗口使得所述畫布上的下一個(gè)數(shù)據(jù)錄入?yún)^(qū)域基本上不清楚的話就移動(dòng)所述候選窗口。
18.如權(quán)利要求15所述的方法,其中,所述圖像法編輯器接口管理器模塊還可操作用于自動(dòng)改變所述候選區(qū)域的高寬比以及橫向移動(dòng)所述候選區(qū)域靠近所述顯示器的一側(cè)。
19.如權(quán)利要求1所述的方法,其中,所述觸摸屏用戶輸入機(jī)構(gòu)可操作用于接收所述圖形顯示器上顯示的鍵盤上的橫向揮動(dòng)輸入,以及所述圖形顯示系統(tǒng)可操作用于響應(yīng)于所述橫向揮動(dòng)輸入沿橫向揮動(dòng)輸入的方向挪動(dòng)所述鍵盤。
20.如權(quán)利要求1所述的方法,其中,所述觸摸屏用戶輸入機(jī)構(gòu)可操作用于接收所述候選區(qū)域上的橫向揮動(dòng)輸入,以及所述圖形顯示系統(tǒng)可操作用于響應(yīng)于所述橫向揮動(dòng)動(dòng)作, 挪動(dòng)所述候選區(qū)域中的多個(gè)候選錄入。
21.一種計(jì)算機(jī)實(shí)現(xiàn)的用戶界面系統(tǒng),包括圖形顯示器,用于呈現(xiàn)輸入法編輯器以及文本錄入應(yīng)用,該文本錄入應(yīng)用具有用于顯示用戶輸入的信息的畫布區(qū)域;觸摸屏用戶輸入機(jī)構(gòu),用于依照輸入法編輯器的顯示接收用戶選擇;以及用于在畫布的一部分上生成浮動(dòng)候選窗口的裝置。
全文摘要
本發(fā)明公開一種計(jì)算機(jī)實(shí)現(xiàn)的用戶界面方法,包括將由第一字符集定義的鍵盤顯示在計(jì)算設(shè)備的觸摸屏上;將電子畫布顯示在觸摸屏上,隨著用戶選擇鍵盤上的鍵而在該電子畫布上顯示與鍵盤上的鍵相應(yīng)的信息,所述信息以不同于第一字符集的第二字符集出現(xiàn);在畫布的前表面上生成候選區(qū)域;以及隨著信息被添加到畫布而自動(dòng)控制候選區(qū)域的位置,以便將所述候選區(qū)域移開以免覆蓋所述畫布上的位置,所述畫布上的位置當(dāng)前是信息將被添加到所述畫布的位置或者靠近信息將被添加到所述畫布的位置。
文檔編號(hào)G06F3/041GK102439544SQ200980159415
公開日2012年5月2日 申請(qǐng)日期2009年3月20日 優(yōu)先權(quán)日2009年3月20日
發(fā)明者吳根清, 段小濤, 黃泰一 申請(qǐng)人:谷歌股份有限公司