本文中公開的主題涉及虛擬鍵盤,更具體地,涉及管理由虛擬鍵盤接收的輸入。
背景技術(shù):
電子設(shè)備可以包括觸摸屏,觸摸屏響應(yīng)于用戶用一個(gè)或多個(gè)手指或輸入設(shè)備如觸針進(jìn)行的觸摸來接收來自用戶的輸入。一些電子設(shè)備可以被配置成在其觸摸屏上呈現(xiàn)虛擬輸入設(shè)備如屏幕鍵盤。屏幕鍵盤可以被配置成響應(yīng)于用戶經(jīng)由觸摸屏與虛擬鍵盤的“按鈕”進(jìn)行交互來接收用戶輸入。然而,由于屏幕鍵盤檢測和接收觸摸輸入的方式,一些虛擬鍵盤不允許用戶在鍵入時(shí)將其手舒適地停留在觸摸屏上。從而,用戶被迫將其手懸停在屏幕鍵盤上方,這是在鍵入時(shí)要保持的不舒適且疲勞的姿勢。
技術(shù)實(shí)現(xiàn)要素:
公開了一種用于屏幕鍵盤管理的裝置。方法和計(jì)算機(jī)程序產(chǎn)品還執(zhí)行該裝置的功能。在一個(gè)實(shí)施例中,該裝置包括顯示屏幕鍵盤的觸摸屏和可操作地耦接至該觸摸屏的處理器。在又一實(shí)施例中,該裝置包括存儲(chǔ)能夠由處理器執(zhí)行的代碼的存儲(chǔ)器。在一些實(shí)施例中,該裝置包括響應(yīng)于對屏幕鍵盤的鍵按壓來確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間的代碼。在某些實(shí)施例中,該裝置包括響應(yīng)于確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間滿足預(yù)定閾值而忽略鍵按壓的代碼。
在一個(gè)實(shí)施例中,鍵事件包括鍵按下事件,并且與鍵按下事件相關(guān)聯(lián)的持續(xù)時(shí)間包括進(jìn)行鍵按壓的時(shí)間量。在一些實(shí)施例中,該鍵按壓響應(yīng)于該持續(xù)時(shí)間超過預(yù)定閾值而被忽略。在又一實(shí)施例中,鍵事件包括鍵釋放事件,并且與鍵釋放事件相關(guān)聯(lián)的持續(xù)時(shí)間包括該鍵按壓的鍵釋放事件與后續(xù)鍵按壓的鍵按下事件之間的時(shí)間量。在一些實(shí)施例中,后續(xù)鍵按壓響應(yīng)于該持續(xù)時(shí)間低于預(yù)定閾值而被忽略。
在又一實(shí)施例中,鍵事件包括鍵按下事件,并且與該鍵按下事件相關(guān)聯(lián)的持續(xù)時(shí)間包括鍵按壓的鍵按下事件與后續(xù)鍵按壓的鍵按下事件之間的時(shí)間量。在一些實(shí)施例中,鍵按壓和后續(xù)鍵按壓響應(yīng)于該持續(xù)時(shí)間低于預(yù)定閾值而被忽略。在一個(gè)實(shí)施例中,該裝置包括調(diào)整預(yù)定閾值以對應(yīng)于用戶的擊鍵計(jì)時(shí)模式的代碼。在某些實(shí)施例中,預(yù)定閾值響應(yīng)于跟蹤用戶的擊鍵計(jì)時(shí)模式預(yù)定時(shí)間段而被調(diào)整。
在一些實(shí)施例中,該裝置可以包括保存鍵按壓和后續(xù)鍵按壓的到達(dá)順序的代碼。在又一個(gè)實(shí)施例中,從鍵按壓接收的輸入響應(yīng)于后續(xù)鍵按壓的鍵釋放事件發(fā)生在鍵按壓的鍵釋放事件之前而在從后續(xù)鍵按壓接收的輸入之前被識別。
在一個(gè)實(shí)施例中,該裝置包括響應(yīng)于鍵按壓被忽略來建議包括與忽略的鍵按壓相關(guān)聯(lián)的字符的至少一個(gè)詞的代碼。在又一個(gè)實(shí)施例中,該裝置包括根據(jù)與該鍵事件相關(guān)聯(lián)的鍵位于預(yù)定義的停留位置將鍵事件延遲的代碼。在這樣的實(shí)施例中,鍵事件包括鍵按下事件。在一些實(shí)施例中,該裝置包括響應(yīng)于確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間超過預(yù)定閾值來禁用與鍵按壓相關(guān)聯(lián)的駐留功能的代碼。在這樣的實(shí)施例中,鍵事件包括鍵按下事件。在一些實(shí)施例中,該裝置包括根據(jù)與鍵按壓相關(guān)聯(lián)的鍵位于預(yù)定義的鍵盤停留位置來禁用與該鍵按壓相關(guān)聯(lián)的駐留功能的代碼。
在一個(gè)實(shí)施例中,一種方法包括利用處理器響應(yīng)于對屏幕鍵盤的鍵按壓來確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間。在又一實(shí)施例中,該方法包括響應(yīng)于確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間滿足預(yù)定閾值而忽略鍵按壓。在一些實(shí)施例中,鍵事件包括鍵按下事件,并且與該鍵按下事件相關(guān)聯(lián)的持續(xù)時(shí)間包括進(jìn)行鍵按壓的時(shí)間量。在一些實(shí)施例中,響應(yīng)于持續(xù)時(shí)間超過預(yù)定閾值而忽略鍵按壓。
在又一個(gè)實(shí)施例中,鍵事件包括鍵釋放事件,并且與該鍵按壓相關(guān)聯(lián)的持續(xù)時(shí)間包括在鍵按壓的鍵釋放事件與后續(xù)鍵按壓的鍵按下事件之間的時(shí)間量。在某些實(shí)施例中,響應(yīng)于該持續(xù)時(shí)間低于預(yù)定閾值而忽略后續(xù)鍵按壓。
在一個(gè)實(shí)施例中,鍵事件包括鍵按下事件,并且與該鍵按壓相關(guān)聯(lián)的持續(xù)時(shí)間包括鍵按壓的鍵按下事件與后續(xù)鍵按壓的鍵按下事件之間的時(shí)間量。在一些實(shí)施例中,響應(yīng)于該持續(xù)時(shí)間低于預(yù)定閾值而忽略鍵按壓和后續(xù)鍵按壓。在一個(gè)實(shí)施例中,該方法包括調(diào)整預(yù)定閾值以匹配用戶的擊鍵計(jì)時(shí)模式。在一些實(shí)施例中,響應(yīng)于跟蹤用戶的擊鍵計(jì)時(shí)模式預(yù)定時(shí)間 段來調(diào)整預(yù)定閾值。
在一些實(shí)施例中,該方法包括保存鍵按壓和后續(xù)鍵按壓的到達(dá)順序。在又一個(gè)實(shí)施例中,響應(yīng)于后續(xù)鍵按壓的鍵釋放事件發(fā)生在鍵按壓的鍵釋放事件之前,在從后續(xù)鍵按壓接收的輸入之前識別從鍵按壓接收的輸入。
在又一實(shí)施例中,該方法包括根據(jù)與該鍵事件相關(guān)聯(lián)的鍵位于預(yù)定義的停留位置將鍵事件延遲。在這樣的實(shí)施例中,鍵事件包括鍵按下事件。在一些實(shí)施例中,該方法包括響應(yīng)于確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間超過預(yù)定閾值來禁用與鍵按壓相關(guān)聯(lián)的駐留功能。在這樣的實(shí)施例中,鍵事件包括鍵按下事件。在一些實(shí)施例中,該方法還包括根據(jù)與鍵按壓相關(guān)聯(lián)的鍵位于預(yù)定義的鍵盤駐留位置來禁用與該鍵按壓相關(guān)聯(lián)的駐留功能。
在一個(gè)實(shí)施例中,公開了一種包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的程序產(chǎn)品,該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)能夠由處理器執(zhí)行的代碼。在某些實(shí)施例中,可執(zhí)行代碼響應(yīng)于對屏幕鍵盤的鍵按壓來確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間。在又一實(shí)施例中,可執(zhí)行代碼響應(yīng)于確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間滿足預(yù)定閾值而忽略鍵按壓。
附圖說明
將通過參照附圖中所示的具體實(shí)施例給出以上所簡要描述的實(shí)施例的更具體描述。要理解的是,這些附圖僅描繪一些實(shí)施例,因此不應(yīng)被視為對范圍的限制,將通過利用附圖來更具體和詳細(xì)地描述和說明實(shí)施例,在附圖中:
圖1是示出了用于屏幕鍵盤管理的系統(tǒng)的一個(gè)實(shí)施例的示意性框圖;
圖2示出了包括被配置成呈現(xiàn)屏幕鍵盤的觸摸屏的信息處理設(shè)備的一個(gè)實(shí)施例;
圖3是示出了鍵盤管理模塊的一個(gè)實(shí)施例的示意性框圖;
圖4是示出了鍵盤管理模塊的另一個(gè)實(shí)施例的示意性框圖;
圖5示出了屏幕鍵盤的一個(gè)實(shí)施例;
圖6示出了屏幕鍵盤管理的一個(gè)實(shí)施例;
圖7示出了屏幕鍵盤管理的另一個(gè)實(shí)施例;
圖8示出了屏幕鍵盤管理的一個(gè)實(shí)施例;
圖9示出了屏幕鍵盤管理的另一個(gè)實(shí)施例;
圖10是示出了用于屏幕鍵盤管理的方法的一個(gè)實(shí)施例的示意性流程圖;以及
圖11是示出了用于屏幕鍵盤管理的方法的另一個(gè)實(shí)施例的示意性流程圖。
具體實(shí)施方式
本領(lǐng)域技術(shù)人員將理解,實(shí)施例的各個(gè)方面可以實(shí)施為系統(tǒng)、方法或程序產(chǎn)品。因此,實(shí)施例可以采用下述形式:完全硬件實(shí)施例、完全軟件實(shí)施例(包括固件、駐留軟件、微代碼等)或者結(jié)合軟件方面和硬件方面的實(shí)施例,在本文中通常都可以稱為“電路”、“模塊”或“系統(tǒng)”。另外,實(shí)施例可以采用在存儲(chǔ)機(jī)器可讀代碼、計(jì)算機(jī)可讀代碼和/或程序代碼(在下文中被稱為代碼)的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)設(shè)備中實(shí)現(xiàn)的程序產(chǎn)品的形式。存儲(chǔ)設(shè)備可以是有形的、非暫態(tài)的和/或非傳輸?shù)?。存?chǔ)設(shè)備可以不實(shí)施信號。在一些實(shí)施例中,存儲(chǔ)設(shè)備可以僅實(shí)施用于訪問代碼的信號。
在本說明書中描述的許多功能單元被標(biāo)記為模塊,以更特別地強(qiáng)調(diào)其實(shí)現(xiàn)獨(dú)立性。例如,模塊可以被實(shí)現(xiàn)為包括定制VLSI電路或門陣列、諸如邏輯芯片、晶體管的現(xiàn)成半導(dǎo)體、或其他分立部件的硬件電路。模塊也可以以可編程硬件器件諸如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯器件等來實(shí)現(xiàn)。
模塊也可以以由各種類型的處理器執(zhí)行的代碼和/或軟件來實(shí)現(xiàn)。代碼的標(biāo)識模塊可以例如包括可以例如被組織為對象、過程或函數(shù)的可執(zhí)行代碼的一個(gè)或多個(gè)物理或邏輯塊。然而,標(biāo)識模塊的可執(zhí)行部分不需要物理上位于一起,而是可以包括存儲(chǔ)在不同位置的不同的指令,當(dāng)這些不同的指令邏輯地結(jié)合在一起時(shí),構(gòu)成模塊并且實(shí)現(xiàn)針對該模塊的規(guī)定目的。
實(shí)際上,代碼的模塊可以是單個(gè)指令或多個(gè)指令,甚至可以分布到若干不同的代碼段上、不同程序中以及跨越若干存儲(chǔ)設(shè)備。類似地,操作數(shù)據(jù)在這里可以在模塊內(nèi)被標(biāo)識和說明,并且可以以任何適當(dāng)形式被實(shí)施并被組織在任何適當(dāng)類型的數(shù)據(jù)結(jié)構(gòu)內(nèi)。操作數(shù)據(jù)可以被采集為單個(gè)數(shù)據(jù)集,或者可以分布到不同的位置上,包括分布到不同的計(jì)算機(jī)可讀存儲(chǔ)設(shè)備上。在模塊或模塊的一部分以軟件來實(shí)現(xiàn)的情況下,多個(gè)軟件部分存儲(chǔ) 在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)設(shè)備上。
可以使用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任何組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是存儲(chǔ)代碼的存儲(chǔ)設(shè)備。存儲(chǔ)設(shè)備可以是例如但不限于電子、磁性、光學(xué)、電磁、紅外、全息、微機(jī)械或半導(dǎo)體系統(tǒng)、裝置或設(shè)備,或前述的任何適當(dāng)組合。
存儲(chǔ)設(shè)備的更多具體示例(非窮盡清單)可包括以下:具有一條或更多條導(dǎo)線的電氣連接件、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器(EPROM或閃速存儲(chǔ)器)、便攜式光盤只讀存儲(chǔ)器(CD-ROM)、光學(xué)存儲(chǔ)設(shè)備、磁性存儲(chǔ)設(shè)備或前述的任何適當(dāng)組合。在本文的上下文中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何有形介質(zhì),其可以包含或存儲(chǔ)供指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或者與指令執(zhí)行系統(tǒng)、裝置或設(shè)備結(jié)合使用的程序。
可以以一種或更多種編程語言的任何組合來編寫用于執(zhí)行針對實(shí)施例的操作的代碼,所述編程語言包括諸如Python、Ruby、Java、Smalltalk、C++等的面向?qū)ο缶幊陶Z言以及諸如“C”編程語言或類似的編程語言的傳統(tǒng)過程性編程語言和/或諸如匯編語言的機(jī)器語言。代碼可以全部在用戶的計(jì)算機(jī)上執(zhí)行,部分地在用戶的計(jì)算機(jī)上執(zhí)行,作為獨(dú)立軟件包執(zhí)行,部分地在用戶的計(jì)算機(jī)上執(zhí)行并且部分地在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行,或者全部在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后一情況下,遠(yuǎn)程計(jì)算機(jī)可以通過任何類型的網(wǎng)絡(luò)(包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN))連接至用戶的計(jì)算機(jī),或者可以進(jìn)行到外部計(jì)算機(jī)的連接(例如利用互聯(lián)網(wǎng)服務(wù)提供商、通過互聯(lián)網(wǎng))。
在整個(gè)本說明書中對“一個(gè)實(shí)施例”、“實(shí)施例”或類似語言的提及表示結(jié)合實(shí)施例所描述的特定的特征、結(jié)構(gòu)或特性包括在至少一個(gè)實(shí)施例中。因此,在整個(gè)本說明書中短語“在一個(gè)實(shí)施例中”、“在實(shí)施例中”以及類似語言的出現(xiàn)可以但未必全部指的是同一實(shí)施例,而是表示“一個(gè)或多個(gè)但不是全部實(shí)施例”,除非另有明確規(guī)定。術(shù)語“包括(including)”、“包含(comprising)”、“具有(having)”及其變型表示“包括但不限于”,除非另有明確規(guī)定。所列舉的項(xiàng)的列表并不意味著這些項(xiàng)中的任何項(xiàng)或全部項(xiàng)是互相排斥的,除非另有明確規(guī)定。術(shù)語“一(a)”、“一個(gè)(an)”以及“該(the)”也指“一個(gè)或多個(gè)”,除非另有明確規(guī)定。
另外,所描述的實(shí)施例的特征、結(jié)構(gòu)或特性可以以任何適當(dāng)方式進(jìn)行組合。在下面的描述中,提供了許多具體細(xì)節(jié),諸如編程、軟件模塊、用 戶選擇、網(wǎng)絡(luò)交易、數(shù)據(jù)庫查詢、數(shù)據(jù)庫結(jié)構(gòu)、硬件模塊、硬件電路、硬件芯片等的示例,以提供對實(shí)施例的透徹理解。然而本領(lǐng)域技術(shù)人員將認(rèn)識到,實(shí)施例可以在沒有一個(gè)或多個(gè)具體細(xì)節(jié)的情況下,或者利用其他方法、元件、材料等來實(shí)踐。在其他實(shí)例中,沒有詳細(xì)示出或描述已知的結(jié)構(gòu)、材料或操作,以避免使實(shí)施例的方面變得模糊。
下面參照根據(jù)實(shí)施例的方法、裝置、系統(tǒng)以及程序產(chǎn)品的示意性流程圖和/或示意性框圖來描述實(shí)施例的各個(gè)方面。將理解,示意性流程圖和/或示意性框圖中的每個(gè)框以及示意性流程圖和/或示意性框圖中的框的組合可以由代碼來實(shí)現(xiàn)??梢詫⑦@些代碼提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器以產(chǎn)生機(jī)器,使得經(jīng)由計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的指令創(chuàng)建用于實(shí)現(xiàn)在示意性流程圖和/或示意性框圖的一個(gè)或多個(gè)框中指定的功能/動(dòng)作的裝置。
還可以將代碼存儲(chǔ)在存儲(chǔ)設(shè)備中,該代碼可以引導(dǎo)計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置或其他設(shè)備以特定方式起作用,使得存儲(chǔ)在存儲(chǔ)設(shè)備中的指令產(chǎn)生包括實(shí)現(xiàn)在示意流程圖和/或示意框圖的一個(gè)或多個(gè)框中指定的功能/動(dòng)作的指令的制品。
也可以將代碼加載到計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置或其他設(shè)備上,以使得在計(jì)算機(jī)、其他可編程裝置或其他設(shè)備上執(zhí)行一系列操作步驟來生成計(jì)算機(jī)實(shí)現(xiàn)的處理,使得在計(jì)算機(jī)或其他可編程裝置上執(zhí)行的代碼提供用于實(shí)現(xiàn)在流程圖和/或框圖的一個(gè)或多個(gè)框中指定的功能/動(dòng)作的處理。
圖中的示意性流程圖和/或示意性框圖示出了根據(jù)各種實(shí)施例的裝置、系統(tǒng)、方法和程序產(chǎn)品的可能實(shí)現(xiàn)的架構(gòu)、功能和操作。關(guān)于這點(diǎn),示意性流程圖和/或示意性框圖中的每個(gè)框可以代表模塊、段或部分代碼,所述模塊、段或部分代碼包括用于實(shí)現(xiàn)所指定的一個(gè)或多個(gè)邏輯功能的代碼的一個(gè)或多個(gè)可執(zhí)行指令。
還應(yīng)該注意,在一些替選實(shí)現(xiàn)中,框中所注明的功能可以不按圖中所注明的順序發(fā)生。例如,根據(jù)所涉及的功能,連續(xù)示出的兩個(gè)框?qū)嶋H上可以基本上同時(shí)執(zhí)行,或者各個(gè)框有時(shí)可以以相反順序執(zhí)行。可以考慮在功能、邏輯或效果上與所示圖中的一個(gè)或多個(gè)框或其一部分等同的其他步驟和方法。
雖然可以在流程圖和/或框圖中使用各種箭頭類型和線類型,但是它 們被理解為不限制相應(yīng)實(shí)施例的范圍。實(shí)際上,一些箭頭或其他連接符可以用于僅指示所描繪的實(shí)施例的邏輯流程。例如,箭頭可以指示所描繪的實(shí)施例的所列舉步驟之間的未指定持續(xù)時(shí)間的等待或監(jiān)視時(shí)段。還要注意,框圖和/或流程圖中的每個(gè)框以及框圖和/或流程圖中的框的組合可以由執(zhí)行指定功能或動(dòng)作的基于專用硬件的系統(tǒng)或?qū)S糜布痛a的組合來實(shí)施。
對每個(gè)圖中的要素的描述可以參考在之前的圖中的元件。相似的附圖標(biāo)記指代所有圖中的相似的元件,包括相似的要素的替選實(shí)施例。
圖1描繪了用于屏幕或虛擬鍵盤管理的系統(tǒng)100的一個(gè)實(shí)施例。在一個(gè)實(shí)施例中,系統(tǒng)100包括信息處理設(shè)備102、鍵盤管理模塊104、數(shù)據(jù)網(wǎng)絡(luò)106和服務(wù)器108,下面更詳細(xì)地描述它們。雖然在圖1中描繪了系統(tǒng)100的要素102至108的具體數(shù)量,但是在用于屏幕鍵盤管理的系統(tǒng)100中可以包括任意數(shù)量的要素102至108。
在一個(gè)實(shí)施例中,信息處理設(shè)備102包括電子計(jì)算設(shè)備如臺式電腦、手提電腦、膝上型電腦、智能電視、智能電話、服務(wù)器等。在某些實(shí)施例中,信息處理設(shè)備102包括一個(gè)或多個(gè)觸摸啟用顯示器。如本文中所使用的,觸摸啟用顯示器(另外已知為觸摸屏)是用戶可以通過用觸針/筆和/或一個(gè)或多個(gè)手指觸摸屏幕來通過簡單的或多點(diǎn)觸摸的姿勢進(jìn)行控制的電子虛擬顯示器。在某些實(shí)施例中,信息處理設(shè)備102包括用戶可以在觸摸啟用顯示器上與其交互的虛擬輸入接口如虛擬或屏幕鍵盤、菜單、圖標(biāo)等。
在一個(gè)實(shí)施例中,鍵盤管理模塊104被配置成響應(yīng)于在屏幕鍵盤上檢測到的鍵按壓來確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間,并且還被配置成響應(yīng)于確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間滿足預(yù)定閾值而忽略鍵按壓。在某些實(shí)施例中,如下面更詳細(xì)地描述的,鍵盤管理模塊104允許用戶將其手指停留(rest)在屏幕鍵盤上方的觸摸啟用顯示器上,而不從由于用戶將其手指停留在觸摸啟用顯示器上而發(fā)生的鍵按壓接收輸入。
在一個(gè)實(shí)施例中,數(shù)據(jù)網(wǎng)絡(luò)106包括傳輸數(shù)字通信的數(shù)字通信網(wǎng)絡(luò)。數(shù)據(jù)網(wǎng)絡(luò)106可以包括無線網(wǎng)絡(luò)如無線蜂窩網(wǎng)絡(luò)、諸如Wi-Fi網(wǎng)絡(luò)、藍(lán)牙()網(wǎng)絡(luò)、近場通信(NFC)網(wǎng)絡(luò)、自組網(wǎng)(ad hoc)的無線局域網(wǎng),等等。數(shù)據(jù)網(wǎng)絡(luò)106可以包括廣域網(wǎng)(WAN)、存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)、局域網(wǎng)(LAN)、光纖網(wǎng)絡(luò)、因特網(wǎng)、互聯(lián)網(wǎng)或其他數(shù)字通信網(wǎng)絡(luò)。數(shù)據(jù)網(wǎng)絡(luò)106可以包括兩個(gè)或更多個(gè)網(wǎng)絡(luò)。數(shù)據(jù)網(wǎng)絡(luò)106可以包括一 個(gè)或多個(gè)服務(wù)器、路由器、開關(guān)和/或其他聯(lián)網(wǎng)設(shè)備。數(shù)據(jù)網(wǎng)絡(luò)106還可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)如硬盤驅(qū)動(dòng)器、光學(xué)驅(qū)動(dòng)器、非易失性存儲(chǔ)器、隨機(jī)存儲(chǔ)存儲(chǔ)器(RAM)等。
在一個(gè)實(shí)施例中,系統(tǒng)100包括服務(wù)器108。服務(wù)器108可以被實(shí)施為臺式電腦、膝上型電腦、大型機(jī)、云服務(wù)器、虛擬機(jī)等。在一些實(shí)施例中,信息處理設(shè)備102通過數(shù)據(jù)網(wǎng)絡(luò)106通信上耦接至服務(wù)器108。服務(wù)器108可以包括能夠由信息處理設(shè)備102通過數(shù)據(jù)網(wǎng)絡(luò)106訪問的數(shù)據(jù)。在一些實(shí)施例中,服務(wù)器108可以被配置為文件服務(wù)器、媒體服務(wù)器、電子郵件服務(wù)器、游戲服務(wù)器等。
圖2描繪了包括觸摸啟用顯示器202和屏幕鍵盤204的信息處理設(shè)備102的一個(gè)實(shí)施例200。在某些實(shí)施例中,信息處理設(shè)備102可以被實(shí)施為包括觸摸屏202和虛擬鍵盤204的平板電腦。虛擬鍵盤204可以響應(yīng)于用戶與虛擬鍵盤204的一個(gè)或多個(gè)鍵上方的觸摸屏202交互來接收鍵事件。信息處理設(shè)備102可以包括鍵盤管理模塊104的實(shí)例,鍵盤管理模塊104響應(yīng)于由虛擬鍵盤204檢測到的鍵按壓來確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間,并且還被配置成響應(yīng)于確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間滿足預(yù)定閾值而忽略鍵按壓。在一些實(shí)施例中,鍵盤管理模塊104允許用戶將其手指停留在屏幕鍵盤上方的觸摸啟用顯示器上,而不從由于用戶將其手指停留在觸摸啟用顯示器上而發(fā)生的鍵按壓接收輸入。
與被設(shè)計(jì)成響應(yīng)于鍵機(jī)制的鍵按下事件來生成字符的物理鍵盤不同,為了保存想要的字符順序并且限制感知延遲,虛擬鍵盤204通常響應(yīng)于鍵釋放事件來生成字符。通過響應(yīng)于鍵釋放事件來生成字符,虛擬鍵盤202能夠避免由單個(gè)停留的手指導(dǎo)致的意外的鍵事件,并且可以啟用駐留(dwell)功能,即響應(yīng)于鍵被選擇或保持按下預(yù)定時(shí)間段而顯示的另外的鍵選項(xiàng)或特征。從而,由于傳統(tǒng)的虛擬鍵盤202的功能,用戶不能在鍵入時(shí)將其手指和/或手停留在觸摸屏202上。因此,用戶可以將其手懸?;驊腋≡谟|摸屏202上方,這會(huì)導(dǎo)致不舒適和疲勞,尤其當(dāng)保持延長的時(shí)間段時(shí)。鍵盤管理模塊104可以通過允許用戶將其手停留在虛擬鍵盤204上方的觸摸屏202上而不生成意外的字符來消除“懸停手(hover hands)”效應(yīng)。
在一個(gè)實(shí)施例中,虛擬鍵盤204可以包括多種模式,每種模式呈現(xiàn)不同的輸入字符。例如,虛擬鍵盤204的一種模式可以呈現(xiàn)字母表的字符,而另一種模式可以呈現(xiàn)數(shù)字和符號。在又一個(gè)實(shí)施例中,虛擬鍵盤204 能夠調(diào)整大小和移動(dòng),使得虛擬鍵盤204并不總是具有相同的大小或位于同一位置。在一些實(shí)施例中,虛擬鍵盤204可以響應(yīng)于用戶輸入而被隱藏或顯現(xiàn)。
圖3描繪了用于管理屏幕鍵盤的模塊300的一個(gè)實(shí)施例。在一個(gè)實(shí)施例中,模塊300包括鍵盤管理模塊104的實(shí)施例。在某些實(shí)施例中,鍵盤管理模塊104包括計(jì)時(shí)模塊302和鍵丟棄模塊304,下面更詳細(xì)地描述它們。
在一個(gè)實(shí)施例中,計(jì)時(shí)模塊302響應(yīng)于對屏幕鍵盤的鍵按壓來確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間。如本文中所使用的,鍵事件是響應(yīng)于檢測到用戶與屏幕鍵盤上的觸摸啟用顯示器交互而觸發(fā)的事件。例如,鍵按下事件可以響應(yīng)于用戶向下“按壓”屏幕鍵盤的顯示鍵而觸發(fā),鍵按壓事件可以在用戶“按壓”顯示鍵時(shí)而觸發(fā),以及鍵釋放事件可以在用戶將其手指從顯示的鍵拿開而觸發(fā)。
在一個(gè)實(shí)施例中,鍵盤丟棄模塊304響應(yīng)于確定如由計(jì)時(shí)模塊302確定的與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間滿足預(yù)定閾值而忽略鍵按壓。鍵丟棄模塊304通過忽視與按壓的鍵相關(guān)聯(lián)的輸入來忽略鍵按壓。從而,例如,如果“a”鍵被按壓滿足預(yù)定閾值的持續(xù)時(shí)間,則鍵丟棄模塊304忽略響應(yīng)于“a”鍵被按壓而接收的任何輸入。在某些實(shí)施例中,預(yù)定閾值的值可以包括上限閾值或下限閾值。在一些實(shí)施例中,取決于與持續(xù)時(shí)間相關(guān)聯(lián)的鍵事件,如果持續(xù)時(shí)間滿足、超過或小于預(yù)定閾值,則可以滿足預(yù)定閾值。
在一個(gè)實(shí)施例中,鍵按壓包括鍵按下事件,并且鍵按下事件相關(guān)聯(lián)的持續(xù)時(shí)間包括進(jìn)行鍵按壓的時(shí)間量。在一些實(shí)施例中,計(jì)時(shí)模塊302通過確定被按壓的鍵的鍵按下事件與后續(xù)鍵釋放事件之間的時(shí)間量來確定進(jìn)行鍵按壓的持續(xù)時(shí)間。在某些實(shí)施例中,通過計(jì)時(shí)模塊302響應(yīng)于鍵按下事件而跟蹤鍵被按壓的時(shí)間量來確定持續(xù)時(shí)間。
在一些實(shí)施例中,鍵丟棄模塊304響應(yīng)于確定與鍵按下事件相關(guān)聯(lián)的持續(xù)時(shí)間超過預(yù)定閾值而忽略鍵按壓。例如,如果計(jì)時(shí)模塊302確定執(zhí)行鍵按壓超過2000毫秒的預(yù)定閾值,則鍵丟棄模塊304可以忽略鍵按壓。在某些實(shí)施例中,確定持續(xù)時(shí)間超過預(yù)定閾值表示用戶將手指停留在鍵上卻不打算鍵入鍵。
在一個(gè)實(shí)施例中,鍵按壓包括鍵釋放事件,并且與鍵釋放事件相關(guān)聯(lián) 的持續(xù)時(shí)間包括鍵按壓的鍵釋放事件與后續(xù)鍵按壓的鍵按下事件之間的時(shí)間量。在一些實(shí)施例中,鍵釋放事件與后續(xù)鍵按下事件之間的持續(xù)時(shí)間已知為“工作時(shí)間”持續(xù)時(shí)間。在某些實(shí)施例中,計(jì)時(shí)模塊302通過確定鍵按壓的鍵釋放事件與后續(xù)鍵按壓的鍵按下事件之間的時(shí)間量來確定“工作時(shí)間”持續(xù)時(shí)間。
在一些實(shí)施例中,鍵丟棄模塊304響應(yīng)于“工作時(shí)間”持續(xù)時(shí)間低于預(yù)定閾值而忽略鍵按壓和/或后續(xù)鍵按壓。例如,如果計(jì)時(shí)模塊302確定鍵按壓的鍵釋放事件與后續(xù)鍵按壓的鍵按下事件之間的“工作時(shí)間”小于50毫秒的預(yù)定閾值,則鍵丟棄模塊304可以忽略后續(xù)鍵按壓。在某些實(shí)施例中,確定“工作時(shí)間”持續(xù)時(shí)間低于預(yù)定閾值表示用戶正將手指停留在多個(gè)鍵上卻并不打算鍵入一系列鍵。
在一個(gè)實(shí)施例中,鍵事件包括鍵按下事件,并且與鍵按下事件相關(guān)聯(lián)的持續(xù)時(shí)間包括鍵按壓的鍵按下事件與后續(xù)鍵按壓的鍵按下事件之間的時(shí)間量。在一些實(shí)施例中,鍵按下事件與后續(xù)鍵按下事件之間的持續(xù)時(shí)間已知為“延遲時(shí)間”持續(xù)時(shí)間。在一些實(shí)施例中,計(jì)時(shí)模塊302通過確定鍵按壓的鍵按下事件與后續(xù)鍵按壓的鍵按下事件之間的時(shí)間量來確定“延遲時(shí)間”持續(xù)時(shí)間。在某些實(shí)施例中,后續(xù)鍵按下事件與鍵按壓的鍵按下事件交疊,使得在鍵按壓之間不存在“工作時(shí)間”持續(xù)時(shí)間。
在一些實(shí)施例中,鍵丟棄模塊304響應(yīng)于“延遲時(shí)間”持續(xù)時(shí)間低于預(yù)定閾值而忽略鍵按壓和后續(xù)鍵按壓。例如,如果計(jì)時(shí)模塊302確定鍵按壓的鍵按下事件與后續(xù)鍵按壓的鍵按下事件之間的“延遲時(shí)間”小于50毫秒的預(yù)定閾值,則鍵丟棄模塊304可以忽略鍵按壓和后續(xù)鍵按壓,在一些實(shí)施例中,確定“延遲時(shí)間”持續(xù)時(shí)間低于預(yù)定閾值表示用戶正將手指停留在多個(gè)鍵上卻并不打算鍵入一系列鍵。
在又一個(gè)實(shí)施例中,鍵丟棄模塊304響應(yīng)于后續(xù)鍵按壓的鍵釋放事件發(fā)生在鍵按壓的鍵釋放事件之前而忽略鍵按壓。例如,如果用戶按壓“a”鍵并且后續(xù)按壓“s”鍵,但是然后在釋放“a”鍵之前釋放“s”鍵,則鍵丟棄模塊304可以忽略“a”鍵按壓,因?yàn)殒I丟棄模塊304可以確定用戶僅將其手指停留在“a”鍵上卻并不打算生成“a”字符。
在一些實(shí)施例中,如下面參照校正模塊404所描述的,基于針對鍵按壓和后續(xù)鍵按壓所檢測的鍵按下事件的順序保存鍵按壓和后續(xù)鍵按壓的到達(dá)順序。從而,在先前的示例中,即使“s”鍵的鍵釋放事件發(fā)生在“a”鍵的鍵釋放事件之前,如果“a”鍵的鍵按下事件發(fā)生在“s”鍵的鍵按下 事件之前,“a”鍵也不被鍵丟棄模塊304丟棄,以保存鍵按壓和后續(xù)鍵按壓的到達(dá)順序。
圖4描繪了用于管理屏幕鍵盤的模塊400的一個(gè)實(shí)施例。在一個(gè)實(shí)施例中,模塊400包括鍵盤管理模塊104的實(shí)施例。在某些實(shí)施例中,鍵盤管理模塊104包括計(jì)時(shí)模塊302和鍵丟棄模塊304,其基本上類似于圖3的計(jì)時(shí)模塊302和鍵丟棄模塊304。在又一個(gè)實(shí)施例中,鍵盤管理模塊104包括計(jì)時(shí)修改模塊402、校正模塊404、計(jì)時(shí)延遲模塊406以及駐留禁用模塊408,下面更詳細(xì)地描述它們。
在一個(gè)實(shí)施例中,計(jì)時(shí)修改模塊402調(diào)整預(yù)定閾值以對應(yīng)于用戶的擊鍵計(jì)時(shí)模式。如本文中所使用的,用戶的擊鍵計(jì)時(shí)模式可以參考詳細(xì)的計(jì)時(shí)信息,該計(jì)時(shí)信息描述當(dāng)用戶在鍵盤上鍵入時(shí)鍵何時(shí)被按壓以及其何時(shí)被釋放。從而,在某些實(shí)施例中,計(jì)時(shí)修改模塊402監(jiān)視用戶的鍵入速度、節(jié)奏、鍵按壓和/或釋放的計(jì)時(shí)等,以確定由計(jì)時(shí)模塊302使用的適當(dāng)?shù)拈撝党掷m(xù)時(shí)間。例如,計(jì)時(shí)修改模塊402可以響應(yīng)于確定用戶是快還是慢打字員來調(diào)整“工作時(shí)間”閾值,即鍵按壓的鍵釋放事件與后續(xù)鍵按壓的鍵按下事件之間的時(shí)間量。
在一些實(shí)施例中,計(jì)時(shí)修改模塊402響應(yīng)于跟蹤用戶的擊鍵計(jì)時(shí)模式預(yù)定時(shí)間段來調(diào)整預(yù)定閾值。例如,計(jì)時(shí)修改模塊402可以在監(jiān)視用戶的鍵入模式幾天、一周、一月等之后來調(diào)整預(yù)定閾值。計(jì)時(shí)修改模塊402可以根據(jù)預(yù)定義的時(shí)間表如每天或每周來調(diào)整預(yù)定閾值。
在某些實(shí)施例中,計(jì)時(shí)模塊302給與信息處理設(shè)備102相關(guān)聯(lián)的每個(gè)用戶分配預(yù)定閾值。例如,計(jì)時(shí)模塊302可以給與平板電腦相關(guān)聯(lián)的每個(gè)用戶賬戶分配預(yù)定閾值。在這樣的實(shí)施例中,計(jì)時(shí)修改模塊402跟蹤用戶的擊鍵計(jì)時(shí)模式,并且調(diào)整與該用戶相關(guān)聯(lián)的預(yù)定閾值而不是調(diào)整被分配給設(shè)備102的所有用戶的預(yù)定閾值。
在一個(gè)實(shí)施例中,校正模塊404響應(yīng)于被忽略的鍵按壓來推薦、建議、提供、考慮和/或促進(jìn)包括與忽略的鍵按壓相關(guān)聯(lián)的字符的至少一個(gè)詞。在某些實(shí)施例中,校正模塊404跟蹤和存儲(chǔ)忽略的鍵按壓,并且基于與忽略的鍵按壓相關(guān)聯(lián)的字符以及已經(jīng)被識別為想要的字符輸入的任意字符來確定一個(gè)或多個(gè)建議的詞。在又一個(gè)實(shí)施例中,校正模塊404保存字符輸入的順序,這可以包括想要的字符輸入和忽略的字符輸入。
例如,用戶可以通過按壓與“a”字符相關(guān)聯(lián)的鍵輸入“a”字符,通 過按壓與“n”字符相關(guān)聯(lián)的鍵輸入“n”字符,以及通過按壓與“d”字符相關(guān)聯(lián)的鍵輸入“d”字符。然而,在與“a”字符相關(guān)聯(lián)的鍵按壓的鍵釋放事件和與“n”字符相關(guān)聯(lián)的鍵按壓的鍵按下事件之間的“工作時(shí)間”持續(xù)時(shí)間低于預(yù)定閾值的情況下,“n”字符可以被忽略,即使用戶打算鍵入“n”字符。在一些實(shí)施例中,校正模塊404響應(yīng)于忽略“n”字符來確定用戶可能打算鍵入的一個(gè)或多個(gè)詞如“and”,同時(shí)保存字符的順序。
在一個(gè)實(shí)施例中,如果與忽略的鍵按壓的鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間在預(yù)定閾值的閾值內(nèi),則校正模塊404推薦一個(gè)或多個(gè)建議的詞。從而,在以前的示例中,如果與“a”字符相關(guān)聯(lián)的鍵按壓的鍵釋放事件和與“n”字符相關(guān)聯(lián)的鍵按壓的鍵按下事件之間的“工作時(shí)間”持續(xù)時(shí)間在預(yù)定閾值的5毫秒內(nèi)(例如,45毫秒而不是預(yù)定閾值50毫秒),則校正模塊404可以使用忽略的字符“n”來推薦一個(gè)或多個(gè)建議的詞。
在某些實(shí)施例中,校正模塊404使用自動(dòng)校正功能來確定一個(gè)或多個(gè)推薦的詞。如本文中所使用的,自動(dòng)校正功能是可以用于校正常見拼寫或鍵入錯(cuò)誤的數(shù)據(jù)驗(yàn)證功能。在這樣的實(shí)施例中,校正模塊404通??梢园凑沼脩糨斎胨鼈兊捻樞蛳蜃詣?dòng)校正功能發(fā)送一個(gè)或多個(gè)識別的且忽略的字符。然后,校正模塊404可以從自動(dòng)校正功能接收一個(gè)或多個(gè)推薦的詞。校正模塊404可以呈現(xiàn)推薦的詞的列表,用戶可以進(jìn)行交互以從該列表中選擇建議的詞。
在一些實(shí)施例中,校正模塊404保存鍵按壓和后續(xù)鍵按壓的到達(dá)順序。如本文中所使用的,到達(dá)順序包括檢測多個(gè)鍵的鍵按下事件的順序。在這樣的實(shí)施例中,其中,響應(yīng)于鍵釋放事件而接收鍵輸入,校正模塊404確保到達(dá)順序被保存使得即使后續(xù)鍵按壓的鍵釋放事件發(fā)生在鍵按壓的鍵釋放事件之前也在識別從后續(xù)鍵按壓接收的輸入之前識別從鍵按壓接收的輸入。例如,如圖9中所描繪和下面更詳細(xì)地說明的,校正模塊404確保即使“F”鍵的鍵釋放事件發(fā)生在“A”鍵的鍵釋放事件之前,也在識別“F”鍵的鍵輸入之前識別“A”鍵的鍵輸入,因?yàn)椤癆”鍵的鍵按下事件發(fā)生在“F”鍵的鍵按下事件之前。
在一個(gè)實(shí)施例中,計(jì)時(shí)延遲模塊406根據(jù)與鍵事件相關(guān)聯(lián)的鍵位于預(yù)定義的停留位置將鍵事件延遲。在某些實(shí)施例中,預(yù)定義的停留位置可以包括鍵盤的“定位行(home row)”。如本文中所使用的,“定位行”包括位于打字員通常將其手停留的鍵盤上的鍵。在一些實(shí)施例中,預(yù)定義的停留區(qū)域包括出現(xiàn)多個(gè)相鄰的接觸點(diǎn)的多個(gè)鍵,其通常是鍵盤的“定位行”, 但是還可以包括其他停留位置如用戶通常將其手指停留的十鍵區(qū)的鍵。在用于母語為英語的人的標(biāo)準(zhǔn)鍵盤(例如,具有QWERTY鍵盤布局的鍵盤)上,“定位行”包括左手用的鍵“ASDF”和右手用的鍵“JKL;”。
在一些實(shí)施例中,計(jì)時(shí)延遲模塊406對于與屏幕鍵盤的停留位置相關(guān)聯(lián)的鍵將鍵事件延遲,使得一段時(shí)間不處理、識別、接收等鍵事件。類似地,在又一個(gè)實(shí)施例中,計(jì)時(shí)延遲模塊406對于與鍵盤布局中的彼此相鄰的鍵將鍵事件延遲。以這種方式,由于打字員的手指頻繁地觸摸“定位行”的鍵,所以計(jì)時(shí)模塊302可以不開始確定與該鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間,直到延遲時(shí)間已經(jīng)期滿為止,以確定打字員關(guān)于鍵按壓的意圖的更精確的表示。
在一個(gè)實(shí)施例中,駐留禁用模塊408響應(yīng)于確定與鍵按壓的鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間超過預(yù)定閾值來禁用與鍵按壓相關(guān)聯(lián)的駐留功能。如本文中所使用的,駐留功能響應(yīng)于鍵被選擇或按下預(yù)定時(shí)間段來顯示鍵的另外的選項(xiàng)或特征。例如,“a”鍵的駐留功能可以響應(yīng)于用戶按下“a”鍵預(yù)定時(shí)間段來呈現(xiàn)其他形式的“a”字符如來自各種字母表的不同版本的“a”字符。
在一個(gè)實(shí)施例中,駐留禁用模塊408禁用鍵的駐留功能,使得當(dāng)用戶將其手指停留在鍵上預(yù)定時(shí)間段時(shí)駐留功能不被激活。從而,例如,如果按壓持續(xù)時(shí)間在閾值范圍內(nèi),駐留功能仍然可以對于鍵是活動(dòng)的;然而,如果按壓持續(xù)時(shí)間超過預(yù)定閾值,則駐留禁用模塊408可以禁用鍵的駐留功能。
在一些實(shí)施例中,駐留禁用模塊408禁用位于鍵盤的預(yù)定義的停留位置的鍵的駐留功能。因此,由于用戶總是經(jīng)常將其手指停留在預(yù)定義的停留位置如“定位行”鍵上,所以駐留禁用模塊408禁用包括預(yù)定義的停留位置的所有鍵的駐留功能。
圖5描繪了屏幕鍵盤500的一個(gè)實(shí)施例。鍵盤502、504、506的圓圈部分表示用戶的手指的預(yù)定義的停留位置。例如,左手圓圈502內(nèi)的鍵可以包括用戶的左手的手指的預(yù)定義的停留位置;右手圓圈504內(nèi)的鍵可以包括用戶的右手的手指的預(yù)定義的停留位置;以及中間圓圈506內(nèi)的鍵可以包括用戶的右手的拇指和用戶的左手的拇指的預(yù)定義的停留位置。圓圈508內(nèi)的與十鍵區(qū)相關(guān)聯(lián)的鍵可以包括十鍵區(qū)的預(yù)定義的停留位置。如上所述,對于QWERTY而言,左手圓圈502內(nèi)的鍵可以包括“ASDF”字符,右手圓圈504內(nèi)的鍵可以包括“JKL;”字符,中間圓圈506內(nèi)的鍵 可以包括空格鍵。圓圈508內(nèi)的與十鍵區(qū)相關(guān)聯(lián)的鍵可以包括“456”字符。
圖6描繪了管理屏幕鍵盤的一個(gè)實(shí)施例600。在一個(gè)實(shí)施例中,屏幕鍵盤檢測用戶進(jìn)行的一系列鍵按壓。在所描繪的實(shí)施例600中,鍵按壓包括“空格”鍵、“F”、“O”、“X”和另一“空格”鍵。在一個(gè)實(shí)施例中,檢測到鍵按下事件602,并且計(jì)時(shí)模塊302確定與鍵按下事件602相關(guān)聯(lián)的持續(xù)時(shí)間。在一個(gè)實(shí)施例中,持續(xù)時(shí)間包括“F”鍵被按壓的持續(xù)時(shí)間Pn,其基于關(guān)于“F”鍵的鍵按下事件602與鍵釋放事件604之間的時(shí)間量來確定(例如,Pn=TUn-TDn)。如果持續(xù)時(shí)間Pn大于預(yù)定閾值,則鍵丟棄模塊304可以忽略“F”鍵,即,可以忽略或丟棄從“F”鍵被按壓接收的輸入。
在一個(gè)實(shí)施例中,計(jì)時(shí)模塊302基于鍵釋放事件604與后續(xù)的鍵按下事件606之間的時(shí)間量來確定“工作時(shí)間”持續(xù)時(shí)間Fn(例如,F(xiàn)n=TDn+1-TUn)。在這樣的實(shí)施例中,鍵丟棄模塊304響應(yīng)于“工作時(shí)間”Fn低于預(yù)定閾值來忽略鍵按壓“F”和后續(xù)鍵按壓“O”。類似地,如果兩個(gè)交疊的向下事件608、610之間的延遲時(shí)間持續(xù)時(shí)間Dn低于預(yù)定閾值,則鍵丟棄模塊304可以忽略鍵按壓“X”和后續(xù)鍵按壓“空格”。
圖7描繪了管理屏幕鍵盤的一個(gè)實(shí)施例700。在描繪的實(shí)施例中,響應(yīng)于在屏幕鍵盤上按壓“A”鍵來檢測鍵按下事件702。在某些實(shí)施例中,計(jì)時(shí)模塊302確定與鍵按下事件702相關(guān)聯(lián)的持續(xù)時(shí)間。在所描繪的實(shí)施例中,與鍵“A”的鍵按下事件702相關(guān)聯(lián)的持續(xù)時(shí)間包括鍵保持持續(xù)時(shí)間Pn,其是鍵按下事件702與鍵釋放事件704之間的時(shí)間量。在一些實(shí)施例中,鍵丟棄模塊304響應(yīng)于確定鍵保持持續(xù)時(shí)間Pn超過預(yù)定閾值而忽略鍵“A”輸入,在所描繪的實(shí)施例中,預(yù)定閾值是2000毫秒。
在一個(gè)實(shí)施例中,如圖7所示,計(jì)時(shí)模塊302確定與鍵(在該情況下,“F”鍵)的鍵按下事件706相關(guān)聯(lián)的持續(xù)時(shí)間。與鍵按下事件706相關(guān)聯(lián)的持續(xù)時(shí)間包括與“F”鍵相關(guān)聯(lián)的鍵按下事件和與“O”鍵相關(guān)聯(lián)的鍵按下事件708之間的“延遲時(shí)間”持續(xù)時(shí)間Dn,其可以包括交疊的鍵敲擊,使得在鍵敲擊之間不存在“工作事件”持續(xù)時(shí)間Fn。在某些實(shí)施例中,如果“延遲時(shí)間”低于預(yù)定閾值,則鍵丟棄模塊304忽略“F”鍵的鍵按壓和“O”鍵的鍵按壓。然而,在所描繪的實(shí)施例中,“延遲時(shí)間”大于50毫秒閾值,并且因此從“F”鍵和“O”鍵接收的輸入將被識別。
圖8描繪了管理屏幕鍵盤的另一個(gè)實(shí)施例800。如圖8所示,計(jì)時(shí)模 塊302可以確定“S”鍵的鍵按下事件802與“D”鍵的鍵按下事件804之間的“延遲時(shí)間”持續(xù)時(shí)間Dn,并且鍵丟棄模塊304可以響應(yīng)于確定“延遲時(shí)間”持續(xù)時(shí)間低于40毫秒的預(yù)定閾值而忽略“S”鍵按壓和“D”鍵按壓。
圖9描繪了管理屏幕鍵盤的一個(gè)實(shí)施例900。在所描繪的實(shí)施例中,后續(xù)鍵按壓的鍵釋放事件906發(fā)生在鍵按壓的鍵釋放事件908之前。從而,“F”鍵的鍵釋放事件906發(fā)生在“A”鍵的鍵釋放事件908之前。在這樣的實(shí)施例中,可以在“F”鍵的鍵按下事件904之前檢測到“A”鍵的鍵按下事件902,但是“F”鍵的鍵釋放事件906發(fā)生在“A”鍵的鍵釋放事件908之前。在一些實(shí)施例中,鍵丟棄模塊304可以忽略“A”鍵的鍵按壓。
在某些實(shí)施例中,校正模塊404保存鍵按壓“A”和后續(xù)鍵按壓“F”的到達(dá)順序。到達(dá)順序是檢測到鍵按壓和后續(xù)鍵按壓的鍵按下事件902、904的順序。響應(yīng)于后續(xù)鍵按壓的鍵釋放事件發(fā)生在鍵按壓的鍵釋放事件之前,可以在從后續(xù)鍵按壓接收的輸入之前識別從鍵按壓接收的輸入。從而,在針對鍵釋放事件906、908接收鍵輸入的情況下,即使“F”鍵的鍵釋放事件906發(fā)生在“A”鍵的鍵釋放事件908之前,校正模塊404也基于鍵按下事件902、904來保存到達(dá)順序,使得在來自“F”鍵的輸入之前識別來自“A”鍵的輸入而沒有被鍵丟棄模塊404忽略。
圖10是示出了用于屏幕鍵盤管理的方法100的一個(gè)實(shí)施例的示意性流程圖。在一個(gè)實(shí)施例中,方法1000開始,并且計(jì)時(shí)模塊302響應(yīng)于對屏幕鍵盤的鍵按壓來確定1002與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間。在又一個(gè)實(shí)施例中,鍵丟棄模塊304響應(yīng)于確定與鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間滿足預(yù)定閾值而忽略1004鍵按壓。并且該方法1000結(jié)束。
圖11是示出了用于屏幕鍵盤管理的方法1100的另一個(gè)實(shí)施例的示意性流程圖。在一個(gè)實(shí)施例中,方法1100開始,并且計(jì)時(shí)模塊302確定1102與鍵按壓的鍵事件相關(guān)聯(lián)的持續(xù)時(shí)間。鍵丟棄模塊304確定1104鍵事件是否包括鍵按下事件。如果鍵丟棄模塊304確定1104鍵事件是鍵按下事件,則鍵丟棄模塊304確定1108與鍵按下事件相關(guān)聯(lián)的持續(xù)時(shí)間是否超過預(yù)定保持時(shí)間閾值。如果持續(xù)時(shí)間超過預(yù)定保持時(shí)間閾值,例如如果用戶將手指停留在鍵上延長的時(shí)間段,則鍵丟棄模塊304忽略1112鍵按壓。否則,該方法1100結(jié)束。
如果鍵丟棄模塊304確定1108持續(xù)時(shí)間不超過保持時(shí)間閾值,則鍵 丟棄模塊304可以確定1110持續(xù)時(shí)間是否低于“延遲時(shí)間”閾值,即,鍵的鍵按下事件與后續(xù)鍵的鍵按下事件之間的時(shí)間量。如果鍵丟棄模塊304確定持續(xù)時(shí)間低于“延遲時(shí)間”閾值,則鍵丟棄模塊304忽略鍵按壓。否則,該方法1100結(jié)束。
在某些實(shí)施例中,如果鍵丟棄模塊304確定1104鍵事件不是鍵按下事件,則鍵丟棄模塊304可以假定鍵事件是鍵釋放事件,并且可以確定1106與該鍵釋放事件相關(guān)聯(lián)的持續(xù)時(shí)間是否低于預(yù)定“工作時(shí)間”閾值,即,鍵按壓的鍵釋放事件與后續(xù)鍵按下事件之間的時(shí)間量。如果鍵丟棄模塊304確定1106該持續(xù)時(shí)間低于預(yù)定“工作時(shí)間”閾值,則鍵丟棄模塊304忽略1112鍵按壓。否則,該方法1100結(jié)束。
在某些實(shí)施例中,在鍵丟棄模塊304忽略1112鍵按壓的情況下,校正模塊404可以推薦1114包括忽略的鍵按壓和已經(jīng)被識別為有效的鍵輸入的一個(gè)或多個(gè)另外的鍵的一個(gè)或多個(gè)詞。以這種方式,在鍵被錯(cuò)誤地忽略的情況下,校正模塊404允許用戶選擇想要的詞,并且該方法1100結(jié)束。
可以以其他具體形式來實(shí)現(xiàn)實(shí)施例。所描述的實(shí)施例應(yīng)被認(rèn)為在所有方面僅是示例性的而并非限制性的。因此由所附權(quán)利要求而不是由之前的說明書來指示本發(fā)明的范圍。落入在權(quán)利要求的等同方案的含意和范圍內(nèi)的所有改變都包含在權(quán)利要求的范圍內(nèi)。