使用上下文鍵盤在計算設備上執(zhí)行操作的制作方法
【專利摘要】本發(fā)明描述了一種用于通過計算設備的鍵盤應用程序執(zhí)行操作的系統(tǒng)和方法。在一些例子中,上下文鍵盤有利于文本輸入和在設備所支持的應用程序的上的操作的性能。例如,上下文鍵盤可接收字宏和/或手勢,并確定接收到的字宏和/或手勢是執(zhí)行一個或多個操作的命令。待執(zhí)行的操作的示例包括搜索信息,存儲信息,發(fā)布信息,發(fā)送信息,增強信息,等等。
【專利說明】使用上下文鍵盤在計算設備上執(zhí)行操作
【背景技術】
[0001]現(xiàn)代鍵盤作為從人到機器的輸入文本的主要方法的起源,可以追溯到19世紀早期的打字機。隨著計算機的發(fā)展,這是一個自然的進化過程以適應打字機鍵盤用于作為輸入文本的主要方法。對于一個熟練的打字員,鍵盤仍然為輸入文本到計算機或其它數(shù)據(jù)處理設備的可行最快方式。
[0002]隨之致力于使計算機更小和更便于攜帶,物理鍵盤已成為大多數(shù)限制計算設備可以小到什么程度的重要的限制因素之一:人的手指的物理尺寸不是計算機設計者可以改變的。其結果是,某些便攜式應用程序的計算設備,如移動設備和平板計算機,被設計為沒有物理鍵盤,而使用觸摸屏或虛擬鍵盤作為設備和用戶之間的主要接口。
[0003]盡管可以通過觸摸屏實現(xiàn),虛擬鍵盤往往被只被視為從用戶接收文本輸入的一種機制。也就是說,雖然許多創(chuàng)新已傳遞鍵盤對于現(xiàn)代設備是有用的,但典型的虛擬鍵盤仍然像它的前輩一樣運行,僅起到從用戶接收文本輸入的功能。這類似于物理鍵盤或早期打字機使用戶在設備上能做的事情,從用戶接收文本輸入。
[0004]因此,需要有一個系統(tǒng),其克服了上述問題,以及提供額外的好處??傮w而言,現(xiàn)有的或相關的系統(tǒng)的在此的實施例中及其相關的限制的目的是說明性的,而不是排他性的?;谝韵略敿毜拿枋觯渌却娴幕颥F(xiàn)有的系統(tǒng)中的限制對那些本領域技術人員而言是顯而易見的。
【專利附圖】
【附圖說明】
[0005]圖1是說明移動設備或其它合適的計算設備的組件的框圖。
[0006]圖2是說明計算設備的鍵盤應用程序的組件的框圖。
[0007]圖3是說明鍵盤應用程序的操作模塊的組件的框圖。
[0008]圖4是通過鍵盤應用程序執(zhí)行操作的的例程的流程圖。
[0009]圖5是說明用于執(zhí)行與種子相關的操作的例程的流程圖。
[0010]圖6是說明用于確定輸入的文本是否是命令或者文本字符串的一部分的例程的流程圖。
[0011]圖7是說明基于被輸入的文本通過鍵盤應用程序執(zhí)行操作的例程的流程圖。
[0012]圖8是說明用于執(zhí)行與通過鍵盤應用程序接收的手勢相關的操作的例程的流程圖。
[0013]圖9是說明用于發(fā)送信息到目標應用程序,以響應由鍵盤應用程序接收的手勢的例程的流程圖。
[0014]圖10A-10D是說明當啟動信息搜索時被執(zhí)行的步驟的屏幕截圖。
[0015]圖11A-11C是說明當啟動信息搜索時被執(zhí)行的步驟的屏幕截圖。
[0016]圖12A-12B是說明當插入鏈接或其他信息到應用程序時被執(zhí)行的步驟的屏幕截圖。
[0017]圖13A-13B是說明當插入鏈接或其他信息到應用程序時,被執(zhí)行的步驟的屏幕截圖。
[0018]圖14A-14D是說明當插入地圖或其他信息到應用程序時,被執(zhí)行的步驟的屏幕截圖。
[0019]圖15A-15B是說明當在數(shù)據(jù)庫中存儲信息時,被執(zhí)行的步驟的屏幕截圖。
[0020]圖16A-16B是說明當在數(shù)據(jù)庫中存儲信息時,被執(zhí)行的步驟的屏幕截圖。
[0021]圖17A-17B是說明當發(fā)布信息至網(wǎng)站或其他位置時,被執(zhí)行的步驟的屏幕截圖。
[0022]圖18A-18B是說明當發(fā)布信息至網(wǎng)站或其他位置時,被執(zhí)行的步驟的屏幕截圖。
【具體實施方式】
[0023]鍵
[0024]用于通過計算設備的鍵盤應用程序執(zhí)行操作的系統(tǒng)和方法,如移動設備或平板設備,被描述。在一些實施例中,系統(tǒng)通過在觸摸屏上顯示的鍵盤或其他有設備程序的被顯示的虛擬鍵盤接收輸入,確定接收到的輸入與要執(zhí)行的操作相關聯(lián),并執(zhí)行和/或啟動操作的性能。
[0025]現(xiàn)在,系統(tǒng)有關的各種實施例將被進行說明。下面的描述為系統(tǒng)的實施例提供透徹理解和啟用說明的具體細節(jié)。然而,本領域技術人員將理解,沒有這些細節(jié)該系統(tǒng)也可以被實施。在其他實施例中,公知的結構和功能沒有被示出或被詳細描述,以避免對系統(tǒng)實施例的描述的不必要地模糊。
[0026]其目的是在下面給出的描述中所使用的術語,以其最廣泛的合理的方式來解釋,即使它被連同系統(tǒng)的某些特定實施例的詳細描述一起使用。某些術語甚至可能被強調,但是,任何意圖以任何限制方式進行解釋的術語將被公開地和具體地定義為在此詳細說明部分。
[0027]合適的系統(tǒng)
[0028]圖1示出計算設備100的框圖,在計算設備可支持的鍵盤應用程序而能夠執(zhí)行例如“上下文鍵盤”的操作。計算設備100可以是移動設備、智能電話、平板電腦、網(wǎng)絡書、移動GPS導航設備、遙控設備、固定電話或通信控制臺或裝置、表面或桌面計算機、投影圖像投影儀、臺式計算機、電子閱讀器、ATM機、自動售貨機或具有設備的用戶接口呈現(xiàn)的鍵盤,例如虛擬的或基于觸摸屏鍵盤,的任何其他設備。計算設備100包括各種硬件和/或軟件組件,配置為基于由計算設備100的鍵盤接收的輸入以執(zhí)行操作。例如,計算設備100包括各種人機界面組件110、設備組件120和存儲器130。
[0029]計算設備100包括觸摸屏112或其他提供輸入到處理器122的輸入組件,如當觸摸屏被觸摸時通知處理器122接觸事件的輸入。觸摸屏可能包括硬件控制器或與硬件控制器進行通信,如觸摸屏驅動,其解釋從觸摸屏接收的原始信號并發(fā)送與接觸事件(例如,按鈕或按鍵指示、接觸點(如觸摸屏、觸摸板或繪圖板上的手指或手寫筆觸摸)的XY坐標)、手勢、敲擊路徑、用戶請求按壓物理或虛擬鍵、指向輸入設備的的當前位置、接觸面積、壓力、持續(xù)時間,等等相關的信息至處理器122。例如,硬件控制器可以發(fā)送信息,該信息與各種指示設備,包括鼠標、軌跡球、操縱桿或模擬棒、指示桿或突起鼠標、滾輪鼠標、腳鼠標、手掌鼠標、光筆、光槍、位置槍、激光指針、陀螺儀或陀螺儀鼠標、加速度計、眼動追蹤裝置、視頻跟蹤設備、手寫筆,等等相關聯(lián)。處理器122與硬件控制器或驅動器通信,該驅動器與顯示器114相關聯(lián)以顯示與檢測到的接觸事件相關的信息(例如,顯示的鍵盤上的接觸鍵的字母)。顯示器114可以被集成到計算設備100,可以是觸摸屏112的一部分,或者可以是一個獨立的設備。示例顯示器114包括觸摸屏顯示器、平板顯示器、陰極射線管、電子墨水顯示器、頭戴式顯示器、液晶顯示器、發(fā)光二極管顯示器、等離子面板顯示器、電致發(fā)光顯示器、真空熒光顯示器、數(shù)字投影機、激光投影儀、抬頭顯示器,等等。設備114可以包括其它接口組件116,這樣的揚聲器提供適當?shù)穆犛X信號以協(xié)助用戶導航顯示的鍵盤或其它顯示的組件。
[0030]計算設備100可包括各種設備組件124,如傳感器(例如,GPS或其他位置確定傳感器、運動傳感器、陀螺儀、光傳感器,等等)、可移動的存儲設備(例如,SIM卡)、相機和其他的視頻捕獲設備、麥克風和其他音頻采集設備、通信設備(例如,藍牙設備、無線電設備,天線),等等。
[0031]處理器122可與存儲在設備100的存儲器130中的數(shù)據(jù)或應用程序進行通信,存儲器130可能包括臨時和/或永久儲存的組合、只讀和可寫存儲器(隨機存取存儲器或RAM)、只讀存儲器(ROM)、可寫的非易失性存儲器如FLASH存儲器、硬盤驅動器、軟盤、基于SM卡的組件,等等。存儲器組件包括各種程序組件或模塊,例如操作系統(tǒng)132以及各種應用程序134,如下載到移動設備100的應用程序。例如,存儲器130可以本地存儲應用程序至設備,其在設備上進行永久操作(例如,提供虛擬鍵盤的鍵盤應用程序,文本消息傳送應用程序,等等),以及由用戶所下載并由設備所推出的應用程序(例如,與社交網(wǎng)站,游戲,等等相關的應用程序)。
[0032]例如,存儲器130可存儲鍵盤應用程序,如上下文鍵盤150。上下文鍵盤150,其可以包括手勢數(shù)據(jù)庫152,在一些實施例中,該手勢數(shù)據(jù)庫提供比標準鍵盤應用程序更強大的功能,如,使鍵盤執(zhí)行操作的功能,提供信息至其他應用程序的功能,等等。有關上下文鍵盤150及其功能的進一步細節(jié)將被在此描述。
[0033]存儲組件150還包括各種數(shù)據(jù)存儲組件,這樣的用戶數(shù)據(jù)的數(shù)據(jù)庫136或其它數(shù)據(jù)庫139為由設備100所執(zhí)行的應用程序提供和/或存儲信息。例如,用戶數(shù)據(jù)庫136可存儲與設備100的用戶相關聯(lián)的信息,例如聯(lián)系人信息、訂戶信息、履歷信息、使用信息、趨勢信息、用戶偏好信息,等等。
[0034]通常,在其他因素中,設備100可存儲或包含任何及所有組件、模塊,或當執(zhí)行操作時,由設備100和/或上下文鍵盤150要求或使用的數(shù)據(jù)文件。
[0035]圖1及在此的討論提供合適的計算環(huán)境的簡短的、一般的描述。在該計算環(huán)境中,上下文鍵盤可以被執(zhí)行。雖然不是必需的,但該系統(tǒng)的各方面在計算機可執(zhí)行指令中的通常的上下文中被描述,如由通用的計算機,例如,移動設備、服務器計算機、或個人計算機執(zhí)行的例程。相關領域技術人員將會理解,該系統(tǒng)可以用其他通信、數(shù)據(jù)處理,或計算機系統(tǒng)配置實施,包括:因特網(wǎng)設備,手持設備(包括平板計算機和/或個人數(shù)字助理(PDA)),各種形式的蜂窩或移動電話,多處理器系統(tǒng),基于微處理器的或可編程的消費電子產(chǎn)品,機頂盒,網(wǎng)絡PC,小型計算機,大型計算機,等等。事實上,術語“計算機”、“主機”和“主計算機”和“移動設備”和“手機”在本文中通常是可互換使用的,并可指上述的任何設備和系統(tǒng),以及任何數(shù)據(jù)處理器。
[0036]系統(tǒng)的各方面可以體現(xiàn)在特殊目的計算設備或數(shù)據(jù)處理器中,該數(shù)據(jù)處理器被進行特殊編程、配置或構造以執(zhí)行在此詳細解釋的計算機可執(zhí)行指令中的一個或多個。系統(tǒng)的各方面可在分布式計算環(huán)境中實行,其中任務或模塊由遠程處理設備執(zhí)行,并通過通信網(wǎng)絡連接,如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN),或互聯(lián)網(wǎng)。在分布式計算環(huán)境中,程序模塊可以位于本地和遠程內(nèi)存存儲設備中。
[0037]系統(tǒng)的各方面可以被存儲在計算機可讀介質上或分布在計算機可讀介質上(例如,物理和/或有形的計算機可讀存儲介質)。計算機可讀介質包括磁或光可讀計算機光盤,硬連線或預編程的芯片(例如,EEPROM半導體芯片),納米技術存儲器,生物存儲器,或其它數(shù)據(jù)存儲介質。事實上,計算機執(zhí)行指令,數(shù)據(jù)結構,屏幕顯示,和系統(tǒng)各方面的其它數(shù)據(jù)可在一段時間內(nèi)通過互聯(lián)網(wǎng)或其他網(wǎng)絡(包括無線網(wǎng)絡)分布在傳播介質的傳播信號上(例如,電磁波,聲波等等),或者它們也可以設置在任何模擬或數(shù)字網(wǎng)絡(分組交換,電路交換,或其他方案)上。相關領域技術人員將認識到部分的系統(tǒng)位于服務器計算機上,而相應的部分位于客戶端計算機上,如移動或便攜式設備。因此,雖然某些硬件平臺被描述于此,但系統(tǒng)的各方面同樣適用于網(wǎng)絡上的節(jié)點。在另一個實施例中,移動設備或便攜式設備可代表服務器部分,而服務器可代表客戶端部分。
[0038]上下文鍵盤
[0039]如本文所述,在一些實施例中,上下文鍵盤或上下文鍵盤應用程序使移動設備的用戶通過鍵盤執(zhí)行操作,該鍵盤通過計算設備觸摸屏或其他用戶接口呈現(xiàn)給用戶。即,在一些實例中,上下文鍵盤是計算設備的鍵盤應用程序,計算設備能夠識別接收到的文本或其它輸入(例如,手勢)作為處理命令,并檢測那些命令被執(zhí)行所基于的計算設備的應用程序環(huán)境中的對象。因此,上下文鍵盤可執(zhí)行雙重功能,促進來自用戶的文本輸入的第一功能和基于通過鍵盤的命令(例如,字宏或手勢)輸入的執(zhí)行操作的第二功能。
[0040]鍵盤是添加功能的有用的地方。通常情況下,鍵盤是軟件層,當使用計算設備和它的各種應用程序時,軟件層通?;蚩偸强稍L問的。因此,在鍵盤內(nèi)加入其他功能或增加與鍵盤相關的其他功能將提供許多好處,比如設備上的應用程序之間的容易或簡單的導航、增強的用戶界面功能及其他好處。例如,鍵盤可以作為信息交換介質,使用戶能夠訪問他們的設備上或他們的設備與之通信的位置的數(shù)據(jù),以及與設備上運行的應用程序或其他程序交換信息?,F(xiàn)在將討論可執(zhí)行這樣技術的上下文鍵盤的各個組件。
[0041]圖2示出的框圖說明了計算設備的鍵盤應用程序150的組件。鍵盤應用程序150有時也被稱為“上下文的鍵盤”,包括輸入模塊210、被配置為接收輸入并生成文本字符串的層或組件,以及操作模塊220、被配置為接收輸入并執(zhí)行或安排執(zhí)行與所接收的輸入相關的一個或多個操作的層或組件。在某些情況下,鍵盤應用程序150包括數(shù)據(jù)庫152、例如用于存儲與手勢、可操作的字(例如,字宏)、執(zhí)行的操作相關聯(lián)的信息和/或其它信息的數(shù)據(jù)庫152。
[0042]在一些實施例中,輸入模塊210包括常規(guī)鍵盤應用程序的組件,如可提供文本輸入功能、鍵擊功能、敲擊、手勢,和/或接觸運動功能,或任何其他協(xié)助來自用戶的基于文本的輸入的接收的功能的組件。輸入模塊210可使計算設備100通過觸摸屏120顯示鍵盤,并經(jīng)由通過觸摸屏120所呈現(xiàn)的被顯示的鍵盤接收輸入。鍵盤可是物理鍵盤或虛擬鍵盤,例如任何在觸敏表面上鍵盤上被實現(xiàn)的鍵盤、觸敏顯示器上呈現(xiàn)的鍵盤、觸敏表面上印壓的鍵盤,等等。示例性鍵盤包括在監(jiān)視器上顯示的鍵盤、觸摸屏上顯示的鍵盤、光投到平面或曲面上的鍵盤或具有被集成到鍵中的電子可變的鍵符的鍵盤,等等。在某些情況下,鍵盤可能是“虛擬”觸摸的,如由某種指示設備或手勢識別控制的屏幕或投影。關于由輸入模塊210提供的合適的文本輸入應用程序的進一步的細節(jié)可以在共同轉讓的美國專利7,542,029,公告于 2009 年 6 月 2 日,題為 “SYSTEM AND METHOD FOR A USER INTERFACE FOR TEXTEDITING AND MENU SELECTION”中找到,該專利以引用方式被完整合并于此。
[0043]在一些實例中,當用戶輸入文本時,由輸入模塊210提供的文本輸入應用程序可以執(zhí)行輸入文本的識別和/或消歧技術。例如,當用戶追蹤虛擬鍵盤上的連續(xù)的路徑時,輸入模塊210可以提供接收文本所輸入的文本輸入應用程序。文本輸入應用程序在美國專利7,098,896,公告于2006年8 月 29 日,標題為“SYSTEM AND METHOD FOR CONTINUOUS STROKEWORD-BASED TEXT INPUT”中被更詳細地描述該專利以引用方式被完整合并于此。
[0044]在一些例子中,操作模塊220包括配置為識別接收到的輸入作為命令來執(zhí)行操作的組件,以及被配置為執(zhí)行或導致執(zhí)行操作的組件,而不是作為通常被添加到文本字符串的文本輸入。圖3系說明鍵盤應用程序的操作模塊220的組件的框圖。
[0045]操作模塊220包括被配置為接收、監(jiān)測和/或審查由鍵盤應用程序接收的輸入的輸入組件310、被配置為確定與所接收的輸入相關聯(lián)的一個或多個操作的操作確定組件320、被配置為識別和/或確定與接收到的輸入相關的上下文的上下文組件330、被配置為執(zhí)行或導致執(zhí)行所確定的一個或多個操作的操作性能組件340、其存儲與接收到的輸入相關的信息和/或要執(zhí)行的操作的數(shù)據(jù)庫350和/或其它便于操作模塊220的操作組件,,例如與鍵盤應用程序150的輸入模塊210的其他組件進行通信的組件,或其他件。關于輸入模塊210、操作模塊220和/或模塊內(nèi)的各組件的操作的進一步細節(jié)將相對于本文所描述的各種例程進行討論。
[0046]在一些實施例中,輸入模塊210可提供信息至操作模塊220,例如,有利于作為與命令相關聯(lián)的輸入識別以執(zhí)行操作。例如,當輸入文本時,輸入模塊210可利用識別和/或消歧技術來識別用戶的意圖。這種技術可在文本被輸出到活動的應用程序作為普通的文本之前,識別部分輸入的文本作為可能的命令,并提供此類信息至操作模塊220。因此,在文本被發(fā)送到活動的應用程序之前,操作模塊220可以攔截文本以執(zhí)行一些其他操作以產(chǎn)生其他好處。
[0047]如本文所述,在一些實施例中,上下文鍵盤150將輸入的各種形式與可執(zhí)行的操作相關聯(lián)。例如,上下文鍵盤150,通過操作模塊的操作確定組件320可以識別一個或多個在由用戶輸入的文字字符串中的“字宏”。字宏是與命令相關的文本字符串,如待執(zhí)行的操作。在某些情況下,字宏是不太可能由鍵盤接收的文本字符串(例如,“EMZ”)。在某些情況下,字宏是類似用戶語言的普通的字或詞(例如,“email”)的文本字符串。通常情況下,字宏將在一定量的文本輸入通過鍵盤接收或選擇之后或期間被接收。當確定輸入是否是字宏或普通文本時,操作模塊220可以利用選定的文本輸入作為“種子”。文本輸入的使用將在本文中進行更詳細地描述。
[0048]作為另一個例子,上下文鍵盤150,通過操作模塊220的操作確定組件320,可識別一個或多個通過鍵盤應用程序150從用戶接收的“手勢”。手勢是手指(或觸筆)穿過屏幕和/或在鍵盤上輸入數(shù)據(jù)以與應用程序交互,和/或指示各種其他用戶意圖的移動。例如,手勢可能是在虛擬鍵盤上或通過虛擬鍵盤追蹤的軌跡,在虛擬鍵盤上或通過虛擬鍵盤繪制的形狀,和/或在虛擬鍵盤上或通過虛擬鍵盤的其他移動。在某些情況下,鍵盤應用程序150可接收手勢而無需用戶和鍵盤之間的任何接觸。例如,接收的手勢可能是設備100內(nèi)的陀螺儀檢測到的設備100的一定的運動,或設備100的照相機檢測到的虛擬顯示上的指針的移動。
[0049]操作模塊220可以存儲與數(shù)據(jù)庫中的各種字宏和/或手勢相關聯(lián)的信息,如宏/手勢數(shù)據(jù)庫350或手勢數(shù)據(jù)庫152。存儲的信息可能包括與可執(zhí)行操作的字宏相關的信息、與可執(zhí)行操作的手勢相關的信息、與用戶的設置(例如,用戶的賬戶信息或用戶的偏好信息)相關的信息,等等。這些信息可使操作模塊220在通過鍵盤應用程序150輸入普通文本到設備100期間基于接收到的命令確定并執(zhí)行操作,以及產(chǎn)生其他好處。
[0050]圖4系示出通過鍵盤應用程序執(zhí)行操作的例程400的流程圖。在步驟410中,計算設備的上下文鍵盤通過設備的鍵盤接收輸入。例如,操作模塊220的輸入組件310監(jiān)測上下文鍵盤的接觸事件,并接收與接觸事件相關聯(lián)的輸入。接收到的輸入可以是字宏、手勢,或其他輸入的形式。
[0051]例如,上下文鍵盤使用戶執(zhí)行手勢告訴上下文鍵盤要執(zhí)行什么操作,執(zhí)行供用戶可選擇要執(zhí)行的操作的菜單的手勢,執(zhí)行手勢并使用鍵盤來選擇執(zhí)行什么操作,和/或使用鍵盤鍵入“字宏”等。
[0052]在步驟420中,上下文鍵盤識別一個或多個要執(zhí)行的操作與所接收的輸入相關聯(lián)的。例如,操作模塊220的操作確定組件320識別和/或確定所接收的輸入被存儲在數(shù)據(jù)庫350中,并與要執(zhí)行的動作相關聯(lián)。被識別的操作可能與搜索信息,鏈接信息,存儲信息,發(fā)布信息,啟動應用程序,等等相關聯(lián)。
[0053]在某些情況下,上下文鍵盤可關聯(lián)執(zhí)行的操作至接收到的輸入,接收到的輸入對于應用程序或其它計算環(huán)境是特定的,其它計算環(huán)境中的用戶正在設備上工作或使用。也就是說,某些字宏和/或手勢可能是應用程序特定的,僅在該應用程序中被認為是字宏或手勢。例如,文本編輯器應用程序可支持與執(zhí)行打印或轉換文檔為PDF版本的操作相關的手勢,而其他應用程序可能不支持這樣的手勢。
[0054]在某些情況下,上下文鍵盤可以識別兩個或以上與接收到的輸入相關的操作。例如,響應于接收到的“email”字宏,操作確定組件320可以識別與發(fā)送具有用戶的個人電子郵件帳戶的電子郵件相關的第一操作,以及與發(fā)送具有用戶公司的電子郵件帳戶的電子郵件相關的第二操作。為了解決歧義,在其他因素中,上下文鍵盤可出現(xiàn)至用戶的選項菜單,該菜單與要執(zhí)行的可用的操作相關聯(lián),或者基于各種上下文信息可以選擇最有可能要執(zhí)行的操作,其中包括要執(zhí)行的動作。例如,上下文鍵盤可做出猜測,基于用戶的過往歷史的選擇,并決定是否作出猜測或提示用戶選擇一個選項,利用上下文來幫助猜測(例如,輸入具有號碼的“呼叫”至左邊可能猜到的意思是“采取行動-拔打此號碼”,而指示具有“我愿意”的“呼叫”至左邊可能是打算作為內(nèi)容),等等。
[0055]在步驟430中,上下文鍵盤執(zhí)行或啟動所識別的(或選定的)關聯(lián)于接收到的輸入的操作。例如,操作模塊220的操作性能組件340執(zhí)行或導致執(zhí)行由操作確定組件320所標識的操作。執(zhí)行該操作可包括導致應用程序啟動,如啟動短信應用程序,傳輸輸入的文本到網(wǎng)站,比如至社交網(wǎng)站,在本地數(shù)據(jù)庫中存儲信息,如存儲輸入的文本到用戶的聯(lián)系人數(shù)據(jù)庫,增強輸入的文字,如添加鏈接,地圖,圖像和/或其他上下文至消息,等等。[0056]也就是說,在一些實施例中,上下文鍵盤實施導致應用程序在計算設備的運行時間系統(tǒng)或環(huán)境中執(zhí)行的操作。例如,被執(zhí)行的操作可在鍵盤應用程序中開始并會導致在運行時間系統(tǒng)中的應用程序啟動并執(zhí)行一個或多個任務,如通過互聯(lián)網(wǎng)訪問網(wǎng)站、通過蜂窩通信信道發(fā)送消息等??杀粓?zhí)行的示例性操作包括:
[0057]通過在計算設備上運行的相關應用程序發(fā)送查詢到搜索引擎;
[0058]通過在計算設備上運行的相關應用程序發(fā)布信息至網(wǎng)站(例如,至社交網(wǎng)絡、在線社區(qū)、微博等);
[0059]在本地或遠程數(shù)據(jù)庫中存儲信息;
[0060]發(fā)送消息或其他信息至收件人;
[0061]檢索內(nèi)容并用檢索到的內(nèi)容更新文本,如在電子郵件中的文本;或
[0062]與網(wǎng)站或其他網(wǎng)絡位置互動,如放置或更新訂單,購買物品,等等。
[0063]因此,在一些實施例中,當某些字宏或手勢通過計算設備的被顯示的鍵盤從用戶接收到時,上下文鍵盤有利于操作的性能,如被在由設備提供的應用程序中或通過由設備提供的應用程序執(zhí)行的操作。
[0064]如本文所述,在一些實施例中,用戶輸入字宏或手勢以使上下文鍵盤執(zhí)行與普通文本相關聯(lián)的操作,如通過上下文鍵盤的文本輸入,或通過應用程序呈現(xiàn)給用戶的文本。例如,用戶可能希望為先前通過上下文鍵盤被輸入至設備的文本的一部分或作為由設備的應用程序呈現(xiàn)的頁面或文檔的一部分的文本的一部分來執(zhí)行操作。這部分文本可以作為上下文鍵盤的“種子”,上下文鍵盤可以使用種子確定執(zhí)行什么操作,以響應接收到的字宏或接收到的手勢。
[0065]許多由上下文鍵盤執(zhí)行的功能使用或依賴種子。種子可以是隱式或顯式的。顯式種子可能是在屏幕上的全部或大部分的可見文本,或屏幕上的被突出顯示的可見文本或屏幕上的以其他方式被選擇的可見文本部分。隱式種子可能是任何在當前上下文中可用的其他類型的信息,比如作者的電子郵件信息,通話記錄中的電話號碼,地理位置等等。
[0066]在某些情況下,用戶明確表示文本的一部分會被認作種子。例如,用戶可突出顯示文本的一部分,指示文本要上下文鍵盤作為種子使用。其他明確指示可包括在一部分文本處或其附近執(zhí)行手勢,包括在字宏中的文本部分,等等。
[0067]在某些情況下,上下文鍵盤中確定文本的一部分或其他信息是否被用作種子。這種確定可能是隱式確定,因為上下文鍵盤基于可能的上下文暗示某些信息或上下文作為種子操作。例如,文本的一部分可以包括地址,并且上下文鍵盤可確定地址是考慮何時確定執(zhí)行什么操作,以響應于接收到的手勢的隱式種子。隱式種子可能包括人、地方或事物的文本指示,在外國語言中的文本,在用戶的數(shù)據(jù)庫中的文本,用戶未知的文本,等等。
[0068]作為另一個示例,上下文鍵盤可考慮其他信息作為種子,該種子幫助被確定要執(zhí)行的操作響應于接收到的命令。例如,上下文鍵盤可考慮上下文信息,如識別計算設備位置的信息,與當前正在使用的應用程序相關聯(lián)的信息,與目前正在使用的應用程序內(nèi)容的相關聯(lián)的信息,與以前執(zhí)行的操作相關聯(lián)的信息,與用戶的喜好相關聯(lián)的信息,等等。
[0069]圖5是用于執(zhí)行與種子相關的操作的例程500的流程圖。在步驟510中,上下文鍵盤通過設備的鍵盤接收輸入。接收到的輸入可以是字宏,手勢,或其他輸入的形式。
[0070]在步驟520中,上下文鍵盤確定所接收的輸入是否是與種子信息相關。例如,操作模塊220的上下文組件330可確定是否有種子的顯式表示(例如,突出顯示的文本的一部分),種子的隱式表示(例如,在計算設備上被使用的應用程序所包含的電話號碼),或者它們的組合。
[0071]在步驟530中,上下文鍵盤基于接收到的輸入及相關的種子信息,識別和/或確定一個或多個要執(zhí)行的操作。例如,操作模塊220的操作確定組件320識別兩個或兩個以上的可執(zhí)行的操作(例如,搜索信息并在聯(lián)系人數(shù)據(jù)庫中存儲信息)與接收到的手勢(例如,搜索內(nèi)容的手勢)相關聯(lián),并基于種子信息(例如,在一封電子郵件中突出顯示的電話號碼)的操作選擇其中的一個操作(例如,將信息存儲在聯(lián)系人數(shù)據(jù)庫)。
[0072]在步驟540中,上下文鍵盤執(zhí)行或啟動所識別的與所接收的輸入和種子信息相關的操作。例如,操作模塊220的執(zhí)行的操作性能組件340執(zhí)行或導致執(zhí)行由操作確定組件320識別的操作(例如,在聯(lián)系人數(shù)據(jù)庫存儲突出顯示的電話號碼)。
[0073]因此,在一些實施例中,上下文鍵盤基于接收到的輸入以及種子信息確定要執(zhí)行的操作,如明確表示作為種子信息的信息,被隱涵地確定為種子信息的信息,等等。因此,在其他因素中,上下文鍵盤可能基于顯式或隱式上下文適應要執(zhí)行的操作,該上下文與用戶如何利用他/她的計算設備相關。
[0074]在一些示例中,當確定接收到的輸入是否被作為命令進行處理或者作為文本的條目進行處理時,上下文鍵盤可利用顯式或隱式的種子信息。圖6是一個流程圖,其說明用于確定輸入的文字是否是命令或者文本字符串的一部分的例程。
[0075]在步驟610中,上下文鍵盤通過計算設備的鍵盤接收輸入。例如,上下文鍵盤,通過操作模塊220的輸入組件310接收輸入,輸入包括可能的字宏,例如“發(fā)送”。
[0076]在步驟620中,上下文鍵盤接收與接收到的輸入相關聯(lián)的種子信息。例如,上下文鍵盤,通過操作模塊220的上下文組件330識別各種可能的種子,例如其他由用戶輸入的字,所述計算設備的位置,由用戶當前觀看的網(wǎng)頁的內(nèi)容,等等。
[0077]在步驟630中,上下文鍵盤確定所接收的輸入是否是與要執(zhí)行的操作相關聯(lián)。即,上下文鍵盤利用種子信息以確定輸入的文本是否是字宏或普通文本。上下文鍵盤,通過操作模塊220的操作確定組件320,可基于種子信息確定輸入的文本是與要執(zhí)行的操作相關聯(lián)的,并且例程600進入步驟650,否則例程600進入步驟640。
[0078]在步驟640中,上下文的鍵盤,在確定所接收的輸入不與字宏相關的基礎上,輸入所接收的輸入作為普通文本。例如,上下文鍵盤確定接收到的輸入“發(fā)送”不是一個字宏,因為它是文本字符串的一部分,例如已被用戶寫入日歷項的“不要忘記給你母親發(fā)送卡片”,并輸入該字符串至日歷條目。
[0079]在步驟650中,上下文的鍵盤,在確定所接收的輸入是在實際上與一個字宏,執(zhí)行與輸入相關聯(lián)的操作。例如,在“今晚比賽見! ”的文本字符串被輸入之后,上下文鍵盤確定接收到的輸入“發(fā)送”被接收,并將文本字符串作為消息發(fā)送給朋友的用戶。
[0080]因此,在其他因素中,上下文鍵盤使用戶明確地指示種子或意圖的操作,或上下文鍵盤可通過確定在輸入的字和存在的顯式或隱式的種子之間的相關性自動確定用戶的意圖,該顯式或隱式種子是使用輸入的字作為命令的合適的目標。
[0081]例如,根據(jù)命令的性質,上下文鍵盤可確定在處理環(huán)境中的最明確的當前種子。在某些情況下,上下文鍵盤可以識別作為接收到的輸入的可能的目標的兩個或更多個種子,并呈現(xiàn)和/或顯示被識別的種子以便于所確定的種子的用戶的選擇。上下文鍵盤可以各種方式呈現(xiàn)列表,諸如從最明確到最不明確的順序排列的可能種子的菜單,基于可能種子的可能采取的操作的菜單,等等。
[0082]因此,系統(tǒng)可基于由接收到的輸入指出的目標種子,諸如手勢或字宏,提供有利于操作性能的上下文的鍵盤。下面是示例性操作的列表,該列表可由上下文鍵盤接收到的輸入指定的目標種子執(zhí)打:
[0083]執(zhí)行種子內(nèi)的內(nèi)容的在線搜索,如在搜索引擎、社交網(wǎng)站的內(nèi)容搜索,等等;
[0084]創(chuàng)建到網(wǎng)站的鏈接,該網(wǎng)站與種子的內(nèi)容相關并將鏈接插入到消息中;
[0085]用種子的內(nèi)容填充消息,如郵件消息或文本信息,并發(fā)送信息;
[0086]拔打與種子的內(nèi)容相關聯(lián)的電話號碼;
[0087]使用支付應用程序支付與種子相關的個人或企業(yè);
[0088]獲得與種子的內(nèi)容相關聯(lián)的位置的地圖;
[0089]存儲種子的內(nèi)容,如姓名和電話號碼,在計算設備的數(shù)據(jù)庫中;
[0090]從計算設備的數(shù)據(jù)庫中檢索與種子的內(nèi)容的相關聯(lián)的信息,等等。
[0091]當然,本領域的普通技術人員將認識到本文描述的系統(tǒng)可以執(zhí)行其它操作并使用其他指示作為種子。
[0092]芏宏`
[0093]如本文所述,在一些實施例中,上下文鍵盤利用字宏作為執(zhí)行操作的命令。圖7是一個流程圖,說明基于通過鍵盤應用程序被輸入的文本而執(zhí)行操作的例程700。在步驟710中,上下文鍵盤通過計算設備的鍵盤接收文本字符串。文本字符串可以是字宏,一個或多個與由上下文鍵盤執(zhí)行和/或啟動的操作相關聯(lián)的字或短語。
[0094]在步驟715中,上下文鍵盤可選地確定接收到的文本字符串與種子信息相關聯(lián)。例如,如本文所述,上下文鍵盤可確定被選擇文本的一部分或包括種子的內(nèi)容指示的文本的一部分。
[0095]在步驟720中,上下文鍵盤識別和/或確定一個或多個要執(zhí)行的與所接收的文本字符串相關的(以及,可選地,與所接收的種子信息相關的)操作。當確定要執(zhí)行的操作響應接收到的文本字符串時,上下文鍵盤可查看表格、列表或其他與字宏、種子,和/或可執(zhí)行的操作相關的數(shù)據(jù)結構。下表(表1)展示了由上下文鍵盤利用的數(shù)據(jù)結構的例子以確定執(zhí)行什么操作:
[0096]
¥SI執(zhí)行的操作?ptr?~
呈現(xiàn)消息選項的菜單^
?μ搜索引擎搜索內(nèi)容?
¥1在數(shù)據(jù)庫中保存信息I
¥1在地圖應用程序中查找I
【權利要求】
1.一種移動設備的鍵盤系統(tǒng),包括: 鍵盤組件,其中所述鍵盤組件被配置為通過所述移動設備的觸摸屏向用戶呈現(xiàn)虛擬鍵盤; 文本輸入組件,其中所述文本輸入元件被配置為通過所述虛擬鍵盤接收文本輸入,并基于所述接收的文本輸入更新文本字符串;以及 操作組件,其中所述操作組件被配置為執(zhí)行一個或多個與通過所述虛擬鍵盤接收的輸入相關聯(lián)的操作。
2.如權利要求1所述的鍵盤系統(tǒng),其中所述操作組件包括: 輸入接收組件,其中所述輸入接收組件被配置為接收通過所述虛擬鍵盤所接收的輸A ; 操作確定組 件,其中所述操作確定組件被配置為確定一個或多個操作與所述接收的輸入相關聯(lián);以及 操作性能組件,其中所述操作性能組件被配置為使所述被確定的一個或多個操作被執(zhí)行。
3.如權利要求1所述的鍵盤系統(tǒng),其中所述操作組件被配置為執(zhí)行一個或多個操作,以響應通過所述虛擬鍵盤所接收的文本輸入。
4.如權利要求1所述的鍵盤系統(tǒng),其中所述操作組件被配置為執(zhí)行一個或多個操作,以響應通過所述虛擬鍵盤所接收的手勢。
5.如權利要求1所述的鍵盤系統(tǒng),其中所述操作組件被配置為執(zhí)行一個或多個操作,以響應通過所述虛擬鍵盤所接收的文本輸入以及由所述移動設備的所述觸摸屏所顯示的種子文本。
6.如權利要求1所述的鍵盤系統(tǒng),其中所述操作組件被配置為執(zhí)行一個或多個操作,以響應通過所述虛擬鍵盤接收的手勢以及由所述移動設備的所述觸摸屏顯示的種子文本。
7.如權利要求1所述的鍵盤系統(tǒng),其中所述操作組件基于由所述移動設備的所述觸摸屏顯示的文本,被配置為執(zhí)行一個或多個操作。
8.如權利要求1所述的鍵盤系統(tǒng),其中所述操作組件被配置為基于由所述移動設備的所述觸摸屏所顯示的被突出顯示的文本的一部分,執(zhí)行一個或多個操作。
9.如權利要求1所述的鍵盤系統(tǒng),其中所述文本輸入組件被配置為當所述移動設備的用戶敲擊所述虛擬鍵盤的鍵時,通過所述虛擬鍵盤接收文本輸入。
10.如權利要求1所述的鍵盤系統(tǒng),其中所述文本輸入組件被配置為當所述移動設備的用戶跟蹤穿過所述虛擬鍵盤的鍵的路徑時,通過所述虛擬鍵盤接收文本輸入。
11.一種計算機可讀存儲介質,當由計算設備的處理器執(zhí)行時,其內(nèi)容使所述計算設備提供上下文鍵盤,其中所述上下文鍵盤包括: 文本輸入層,所述文本輸入層通過由所述計算設備所顯示的鍵盤接收文本輸入;以及操作層,所述操作層執(zhí)行一個或多個操作以響應于通過由所述計算設備所顯示的所述鍵盤接收的命令。
12.如權利要求11所述的計算機可讀存儲介質,其中所述操作層執(zhí)行一個或多個操作,以響應通過由所述計算設備所顯示的所述鍵盤接收的字宏。
13.如權利要求11所述的計算機可讀存儲介質,其中所述操作層執(zhí)行一個或多個操作,以響應通過由所述計算設備所顯示的所述鍵盤接收的手勢。
14.如權利要求11所述的計算機可讀存儲介質,其中所述操作層執(zhí)行一個或多個操作,以在所述計算設備的數(shù)據(jù)庫中存儲由所述計算設備顯示的信息,以響應通過由所述計算設備所顯示的所述鍵盤接收的字宏或手勢。
15.如權利要求11所述的計算機可讀存儲介質,其中所述操作層執(zhí)行一個或多個操作,以發(fā)布與所述接收的文本輸入相關的信息至網(wǎng)頁,以響應通過由所述計算設備顯示的所述鍵盤所接收的字宏或手勢。
16.如權利要求11所述的計算機可讀存儲介質,其中所述操作層執(zhí)行一個或多個操作,以基于與所述接收的文本輸入插入鏈接至內(nèi)容,以響應通過由所述計算設備所顯示的所述鍵盤接收的字宏或手勢。
17.如權利要求11所述的計算機可讀存儲介質,其中所述操作層執(zhí)行一個或多個操作以搜索信息,以響應通過由所述計算設備顯示的所述鍵盤所接收的字宏或手勢。
18.一種由移動設備的鍵盤應用程序執(zhí)行的方法,所述方法包括: 通過所述鍵盤應用程序的虛擬鍵盤接收輸入; 確定所述接收的輸入與由所述鍵盤應用程序執(zhí)行的操作相關聯(lián);以及 執(zhí)行所述相關聯(lián)的操作。
19.如權利要求18所述的方法,其中執(zhí)行所述相關聯(lián)的操作包括:啟動待由在所述移動設備上運行的單獨的應用程序所執(zhí)行的操作。
20.如權利要求18所述的方法,其中所述接收的輸入是文本字符串或手勢,以及其中確定所述接收的輸入與被所述鍵盤應用程序執(zhí)行的操作相關聯(lián)包括確定所述文本字符串或手勢與一個或多個由所述鍵盤應用程序所執(zhí)行的操作相關聯(lián)。
【文檔編號】G06F3/02GK103649876SQ201180065367
【公開日】2014年3月19日 申請日期:2011年11月18日 優(yōu)先權日:2010年11月20日
【發(fā)明者】克利福德·A·庫什勒, 簡·曼寧, 邁克·麥克謝里, 亞倫·希迪 申請人:紐昂斯通信有限公司