器202、通信單元216 (例如,網(wǎng)絡(luò)接口 204)、數(shù)據(jù) 存儲(chǔ)設(shè)備206、電源208、一個(gè)或多個(gè)麥克風(fēng)210、一個(gè)或多個(gè)揚(yáng)聲器212和存在敏感顯不器 12的交互。
[0041] 圖形鍵盤模塊120和/或手勢(shì)取消模塊122可以包括可執(zhí)行指令以接收手勢(shì)輸入 并且基于該手勢(shì)輸入生成文本輸出。圖形鍵盤模塊120和/或手勢(shì)取消模塊122可以包括 可執(zhí)行指令以接收手勢(shì)取消輸入并且通過(guò)取消候選文本串而不是將該候選文本串錄入到 應(yīng)用的文本顯示GUI或文本輸入特征來(lái)對(duì)該手勢(shì)取消輸入作出響應(yīng)。圖形鍵盤模塊120和 /或手勢(shì)取消模塊122還可以包括可執(zhí)行指令以執(zhí)行或促成本公開中所討論的任意或全部 手勢(shì)鍵盤特征或行為,或者本公開的任意其它方面。
[0042] 圖形鍵盤模塊120和/或手勢(shì)取消模塊122均可以是獨(dú)立應(yīng)用或應(yīng)用處理,并且 在一些示例中,圖形鍵盤模塊120和/或手勢(shì)取消模塊122還均可以從應(yīng)用模塊185中的 其它應(yīng)用收集或接收數(shù)據(jù)。在一些示例中,圖形鍵盤模塊120和/或手勢(shì)取消模塊122還 可以是單個(gè)應(yīng)用或應(yīng)用處理內(nèi)的可執(zhí)行代碼的一部分。圖形鍵盤模塊120和/或手勢(shì)取消 模塊122還可以是與一個(gè)或多個(gè)應(yīng)用模塊185集成的插件。如以下進(jìn)一步描述的,圖形鍵 盤模塊120和/或手勢(shì)取消模塊122的部分或全部功能還可以由操作系統(tǒng)190的多個(gè)部分 所執(zhí)行、支持或促成。
[0043] 圖形鍵盤模塊120和/或手勢(shì)取消模塊122可以包括能夠由計(jì)算設(shè)備10或者計(jì) 算設(shè)備10的一個(gè)或多個(gè)處理器200中的至少一個(gè)所執(zhí)行的程序指令和/或數(shù)據(jù)。例如,圖 形鍵盤模塊120和/或手勢(shì)取消模塊122可以包括使得計(jì)算設(shè)備10執(zhí)行本公開中所描述 的任意一個(gè)或多個(gè)操作和動(dòng)作的計(jì)算機(jī)可執(zhí)行軟件指令。在各個(gè)示例中,操作系統(tǒng)190以 及圖形鍵盤模塊120和/或手勢(shì)取消模塊122可以包括代碼和/或數(shù)據(jù),其存儲(chǔ)在一個(gè)或 多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備206上并且由一個(gè)或多個(gè)處理器200所讀取并執(zhí)行或處理而且在處理中 可以至少被臨時(shí)存儲(chǔ)在存儲(chǔ)器202中。
[0044] 在圖2所描繪的計(jì)算設(shè)備10的說(shuō)明性示例中,操作系統(tǒng)190可以包括操作系統(tǒng)內(nèi) 核192,其例如可以包括各種設(shè)備驅(qū)動(dòng)器、內(nèi)核擴(kuò)展和內(nèi)核模塊。操作系統(tǒng)190還可以包括 庫(kù)180的集合或者與之進(jìn)行交互,所述庫(kù)180可以包括各種或多或少的標(biāo)準(zhǔn)、專用、開放源 和/或?qū)S械膸?kù)。這些可以包括專用的庫(kù),諸如圖形鍵盤框架182,其可以執(zhí)行或支持依據(jù) 這里所描述的任意示例的圖形鍵盤功能(例如,手勢(shì)取消)。諸如利用圖形鍵盤框架182在 操作系統(tǒng)190中而不是僅在頂層應(yīng)用的級(jí)別執(zhí)行或支持圖形鍵盤功能,可能使得能夠進(jìn)行 包括手勢(shì)輸入和手勢(shì)取消在內(nèi)的手勢(shì)輸入交互,其具有更快或更為計(jì)算有效的性能,與應(yīng) 用模塊185中的其它應(yīng)用更為緊密或更為可靠的整合,或者一些實(shí)施方式中的其它優(yōu)勢(shì)。
[0045] 在諸如圖2所描繪的計(jì)算設(shè)備10的說(shuō)明性示例中,操作系統(tǒng)190可以包括運(yùn)行時(shí) 間194或者與之進(jìn)行交互,所述運(yùn)行時(shí)間194可以包括各種核心庫(kù)196和/或虛擬機(jī)198, 諸如示例實(shí)施方式中的Dalvik虛擬機(jī)。虛擬機(jī)198可以對(duì)計(jì)算設(shè)備10的某些方面和屬性 進(jìn)行抽象并且允許更高級(jí)應(yīng)用模塊185在虛擬機(jī)198的環(huán)境中執(zhí)行,從而更高級(jí)應(yīng)用模塊 185中的軟件代碼可以被編譯為待由虛擬機(jī)198所執(zhí)行的字節(jié)碼。虛擬機(jī)198隨后可以將 指令編譯為計(jì)算設(shè)備10的任意一個(gè)或多個(gè)處理器200的本地機(jī)器代碼,這可以包括專針對(duì) 于那些處理器200的優(yōu)化。計(jì)算設(shè)備10還可以具有應(yīng)用框架130,其在運(yùn)行時(shí)間194和庫(kù) 180頂端執(zhí)行并且可以包括用于促成在所述應(yīng)用框架130的頂端執(zhí)行的應(yīng)用模塊185的執(zhí) 行的資源。其它實(shí)施例可以包括操作系統(tǒng)內(nèi)核192和頂級(jí)應(yīng)用模塊185之間的軟件棧的其 它元件。
[0046] 例如,應(yīng)用框架130可以包括圖形鍵盤管理器132,其自身可以包括可執(zhí)行指令以 執(zhí)行或促成手勢(shì)鍵盤中的任意或全部手勢(shì)取消功能,或者本公開中的任意其它方面。無(wú)論 其是否與圖形鍵盤框架182相結(jié)合,諸如利用圖形鍵盤管理器132執(zhí)行或支持應(yīng)用框架130 中的手勢(shì)鍵盤功能還可以使得能夠進(jìn)行包括手勢(shì)取消在內(nèi)的手勢(shì)輸入交互,其具有更快或 更為計(jì)算有效的性能或者一些實(shí)施方式中的其它優(yōu)勢(shì)。計(jì)算設(shè)備10可以利用圖形鍵盤模 塊120、手勢(shì)取消模塊122、應(yīng)用框架130中的圖形鍵盤管理器132、庫(kù)180中的圖形鍵盤框 架182或者包括于計(jì)算設(shè)備10中或者可由其操作訪問(wèn)的軟件棧的任意其它元件中的任意 一個(gè)或者全部來(lái)執(zhí)行或促成這里所描述的任意圖形鍵盤功能。
[0047] 在各個(gè)示例中,用于諸如圖形鍵盤模塊120和/或手勢(shì)取消模塊122的應(yīng)用或軟 件元件的可執(zhí)行指令可以以可以由計(jì)算設(shè)備10作為本地代碼來(lái)執(zhí)行的可執(zhí)行指令進(jìn)行編 寫。作為另一個(gè)示例,在各個(gè)示例中,用于諸如圖形鍵盤模塊120和/或手勢(shì)取消模塊122 的應(yīng)用或軟件元件的可執(zhí)行指令可以以高級(jí)編程語(yǔ)言進(jìn)行編寫,隨后被編譯為虛擬機(jī)可執(zhí) 行的字節(jié)碼以便由虛擬機(jī)198來(lái)執(zhí)行,最后在虛擬機(jī)198的抽象下作為本地代碼由計(jì)算設(shè) 備10來(lái)執(zhí)行。在另一個(gè)說(shuō)明性示例中,用于諸如圖形鍵盤模塊120和/或手勢(shì)取消模塊 122的應(yīng)用或軟件元件的可執(zhí)行指令可以從諸如JavaScript之類的較高級(jí)語(yǔ)言直接編譯 為本地機(jī)器代碼以供一個(gè)或多個(gè)處理器執(zhí)行。在另一個(gè)說(shuō)明性示例中,庫(kù)180可以包括標(biāo) 準(zhǔn)C庫(kù)(Iibc)或另一個(gè)C庫(kù),其為C功能提供本地支持,并且圖形鍵盤模塊120和/或手 勢(shì)取消模塊122可以以C進(jìn)行編寫并且由庫(kù)180中的Iibc所支持。
[0048] 在不同實(shí)施方式中,操作系統(tǒng)190和/或虛擬機(jī)198可以能夠執(zhí)行以各種其它 語(yǔ)言所編寫的代碼,僅給出幾個(gè)非限制性示例,上述語(yǔ)言諸如C++、Go、JavaScript、Dart、 Python、Ruby或Clojure,它們?cè)诒镜貓?zhí)行或者被編譯為虛擬機(jī)可執(zhí)行的字節(jié)碼或中間語(yǔ) 言,或者例如可能使用準(zhǔn)時(shí)制(JIT)編譯而被編譯為匯編語(yǔ)言或者計(jì)算設(shè)備10的一個(gè)或多 個(gè)處理器200本地的機(jī)器代碼。各個(gè)示例可以不使用虛擬機(jī)或中間語(yǔ)言,并且可以使用在 計(jì)算設(shè)備10上本地執(zhí)行或者使用一些其它技術(shù)、編譯器、解釋器或抽象層以便將較高級(jí)語(yǔ) 言解釋為在計(jì)算設(shè)備10上本地執(zhí)行的代碼的應(yīng)用。
[0049] 圖形鍵盤框架182、庫(kù)180或者操作系統(tǒng)190或者處于應(yīng)用模塊185以下的軟件棧 的其它方面可以包括用于提供依據(jù)這里所描述的任意示例用于針對(duì)圖形鍵盤輸入執(zhí)行手 勢(shì)取消的任意或全部功能的代碼,并且可以在應(yīng)用模塊185的基礎(chǔ)級(jí)別對(duì)功能進(jìn)行抽象。 用于實(shí)施本公開的任意方面的功能的代碼因此可以包括于在計(jì)算設(shè)備10上執(zhí)行或者可由 計(jì)算設(shè)備10操作訪問(wèn)的整個(gè)軟件棧的任意級(jí)別或部分之中,諸如包括于在計(jì)算設(shè)備10外 部的資源上執(zhí)行但是與計(jì)算設(shè)備10進(jìn)行交互的web應(yīng)用或其它程序之中,上述交互諸如通 過(guò)無(wú)線連接而經(jīng)由超文本傳輸協(xié)議(HTTP)來(lái)進(jìn)行。
[0050] 在各個(gè)示例中,計(jì)算設(shè)備10還可以具有各種應(yīng)用編程接口(API),其處于操作系 統(tǒng)190本地并且在操作系統(tǒng)190的頂端執(zhí)行,并且其意在提供自動(dòng)執(zhí)行或者促成訪問(wèn)一個(gè) 或多個(gè)API的更高級(jí)應(yīng)用的資源。這些一個(gè)或多個(gè)API可以包括對(duì)象庫(kù)或其它庫(kù)、工具集 或框架,并且可以與用于編寫應(yīng)用的本地編程環(huán)境相關(guān)聯(lián)。除了圖2所描繪的示例組織形 式以外,計(jì)算設(shè)備10還可以具有與操作系統(tǒng)190相關(guān)聯(lián)或者在其頂端構(gòu)建的API、庫(kù)、框架、 運(yùn)行時(shí)間和/或虛擬機(jī)的不同特定組織形式。
[0051] 諸如圖形鍵盤模塊120和/或手勢(shì)取消模塊122的較高級(jí)應(yīng)用因此可以利用任意 的操作系統(tǒng)190、0S內(nèi)核192、庫(kù)180、圖形鍵盤框架182、運(yùn)行時(shí)間194、核心庫(kù)196、虛擬機(jī) 198、應(yīng)用框架130、圖形鍵盤管理器132或者其它編譯器、解釋器、框架、API或者其它類型 的資源或者它們的組合所提供的任意的各種抽象、屬性、庫(kù)或低級(jí)功能,計(jì)算設(shè)備10利用 它們而被配置為支持諸如圖形鍵盤中的手勢(shì)取消功能的功能或者如這里所描述的其它功 能。
[0052] 在各個(gè)示例中,一個(gè)或多個(gè)處理器200可以被配置為實(shí)施功能和/或處理用于在 計(jì)算設(shè)備10內(nèi)執(zhí)行的指令。例如,處理器200能夠處理存儲(chǔ)在存儲(chǔ)器202中的指令或者存 儲(chǔ)在數(shù)據(jù)存儲(chǔ)設(shè)備206上的指令。計(jì)算設(shè)備10可以包括多個(gè)處理器,并且可以將某些任務(wù) 在不同處理器之間進(jìn)行劃分。例如,處理器200可以包括中央處理器(CPU),其可以具有一 個(gè)或多個(gè)處理核心。處理器200還可以包括一個(gè)或多個(gè)圖形處理單元(GPU)和/或附加處 理器。處理器200可以被配置用于多線程處理。處理器200和/或操作系統(tǒng)190可以根據(jù) 各種標(biāo)準(zhǔn)將任務(wù)在不同處理器或處理器核心之間進(jìn)行劃分,并且各個(gè)任務(wù)或任務(wù)部分也可 以在軟件和硬件的不同層之間進(jìn)行劃分。
[0053] 在各個(gè)示例中,存儲(chǔ)器202可以被配置為在操作期間存儲(chǔ)計(jì)算設(shè)備10內(nèi)的信息。 在各個(gè)示例中,存儲(chǔ)器202可以包括計(jì)算器可讀存儲(chǔ)介質(zhì)。在各個(gè)示例中,存儲(chǔ)器202是 臨時(shí)存儲(chǔ)器,并且針對(duì)長(zhǎng)期存儲(chǔ),計(jì)算設(shè)備10可以更多地依賴于一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備 206而不是存儲(chǔ)器202。在各個(gè)示例中,存儲(chǔ)器202可以是易失性存儲(chǔ)器,這意味著存儲(chǔ)器 202 -旦掉電,諸如在計(jì)算設(shè)備10被關(guān)機(jī)時(shí),就不會(huì)長(zhǎng)期保存所存儲(chǔ)的內(nèi)容。可以表征存儲(chǔ) 器202的易失性存儲(chǔ)器的示例包括隨機(jī)存取存儲(chǔ)器(RAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜 態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)以及其它形式的易失性存儲(chǔ)器。在各個(gè)示例中,存儲(chǔ)器202可以 被用來(lái)存儲(chǔ)程序指令以供處理器200所執(zhí)行。在各個(gè)示例中,存儲(chǔ)器202可以由計(jì)算設(shè)備 10上執(zhí)行的軟件或應(yīng)用用來(lái)在應(yīng)用執(zhí)行期間臨時(shí)存儲(chǔ)數(shù)據(jù)和/或軟件代碼。
[0054] 在各個(gè)示例中,一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備206可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或者 多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒介。數(shù)據(jù)存儲(chǔ)設(shè)備206可以被配置為存儲(chǔ)比存儲(chǔ)器202更為大量的 信息。數(shù)據(jù)存儲(chǔ)設(shè)備206可以進(jìn)一步被配置為用于信息的長(zhǎng)期存儲(chǔ)。在各個(gè)示例中,數(shù)據(jù) 存儲(chǔ)設(shè)備206包括非易失性存儲(chǔ)元件。這樣的非易失性存儲(chǔ)元件的示例包括磁性硬盤、光 盤、軟盤、閃存,或者電可編程存儲(chǔ)器(EPROM)或電可擦除可編程(EEPROM)存儲(chǔ)器的形式。 在其它示例中,存儲(chǔ)器202也可以被配置為用于長(zhǎng)期數(shù)據(jù)存儲(chǔ),并且任意的各種技術(shù)可以 模糊存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)之間以及易失性和非易失性之間的界線。存儲(chǔ)器202和數(shù)據(jù)存儲(chǔ)設(shè) 備206也可以包括不同級(jí)別的高速緩存以及任意的各種緩沖器或其它臨時(shí)存儲(chǔ)器,它們可 以整合于處理架構(gòu)的任意各個(gè)級(jí)別并且具有各種延時(shí)和容量概況,例如包括專用于特定處 理核心或處理芯片的專用高速緩存。
[0055] 在各個(gè)示例中,計(jì)算設(shè)備10還可以包括一個(gè)或多個(gè)通信單元216 (例如,網(wǎng)絡(luò)接口 204)。在一些示例中,計(jì)算設(shè)備10使用通信單元216經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)與諸如服務(wù)器或 數(shù)據(jù)中心的外部設(shè)備進(jìn)行通信,上述網(wǎng)絡(luò)可以包括一個(gè)或多個(gè)無(wú)線網(wǎng)絡(luò)。網(wǎng)絡(luò)接口 204可 以是或包括網(wǎng)絡(luò)接口卡,諸如以太網(wǎng)卡、光學(xué)收發(fā)器、射頻收發(fā)器,或者被配置為發(fā)送和接 收信息的任意其它類型的組件。這樣的網(wǎng)絡(luò)接口的其它示例可以包括被配置為用于移動(dòng)計(jì) 算設(shè)備的Bluetooth?、3G、4G、LTE和WiFi?無(wú)線電,以及通用串行總線(USB)。在各個(gè)示 例中,計(jì)算設(shè)備10可以使用通信單元216與諸如服務(wù)器或數(shù)據(jù)中心的外部設(shè)備進(jìn)行無(wú)線通 信,所述外部設(shè)備可以向計(jì)算設(shè)備10提供數(shù)據(jù)。
[0056] 計(jì)算設(shè)備10還可以包括任意各種其它輸入和/或輸出設(shè)備或者被配置為與之相 連接,上述輸入和/或輸出設(shè)備諸如揚(yáng)聲器、麥克風(fēng)、物理按鈕、虛擬或物理鍵盤或小鍵盤、 鼠標(biāo)、觸摸板、軌跡球、語(yǔ)音用戶界面系統(tǒng)、聲學(xué)振動(dòng)傳感器、聲卡、視頻圖形適配卡、連接至 視頻手勢(shì)輸入解釋系統(tǒng)的視頻相機(jī),或者用于檢測(cè)和/或解釋來(lái)自用戶的輸入或者用于將 信號(hào)轉(zhuǎn)換為用戶所能夠感知的圖形、音頻、觸覺(jué)或其它形式的用戶輸出的任意其它類型的 設(shè)備。這些可以作為計(jì)算設(shè)備10的一部分而包括在用戶接口設(shè)備214中,并且還可以包括 操作連接至計(jì)算設(shè)備10的單獨(dú)和/或遠(yuǎn)程設(shè)備。
[0057] 在各個(gè)示例中,計(jì)算設(shè)備10可以包括一個(gè)或多個(gè)電源208,其可以是可充電的并 且為計(jì)算設(shè)備10提供電力。在各個(gè)示例中,電源208可以是鋰離子電池、鎳鉻電池、鎳金屬 混合物電池或者其它適當(dāng)電源。
[0058] 計(jì)算設(shè)備10因此是用于實(shí)施具有以圖2的圖形鍵盤模塊120、手勢(shì)取消模塊122、 圖形鍵盤管理器132和/或圖形鍵盤框架182 (此后統(tǒng)稱為"模塊120/122/132/182")的 形式并且如圖1中的操作中說(shuō)明性示出的