午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

高效的觸摸屏文本輸入系統(tǒng)及方法

文檔序號(hào):10624491閱讀:541來源:國知局
高效的觸摸屏文本輸入系統(tǒng)及方法
【專利摘要】本發(fā)明涉及一種高效的觸摸屏文本輸入系統(tǒng)及方法,其中所述的系統(tǒng)包括觸點(diǎn)檢測模塊、查詢模塊、結(jié)果輸出模塊,并引入了線程管理模塊,使得系統(tǒng)在觸點(diǎn)檢測模塊檢測到觸摸按下時(shí),通過開啟輔助線程,在輔助線程中對用戶的輸入字符及候選詞進(jìn)行查詢,同時(shí)主線程持續(xù)檢測是否存在觸摸抬起,充分利用了觸摸按下及觸摸抬起之間的時(shí)間間隔。當(dāng)主線程中觸點(diǎn)檢測模塊檢測到觸摸抬起后,則從輔助線程中獲取本次查詢結(jié)果并輸出。采用該種結(jié)構(gòu)的高效的觸摸屏文本輸入系統(tǒng)及方法,系統(tǒng)結(jié)構(gòu)簡單,用戶的輸入速度提高了40%至50%,減少了用戶輸入中的卡頓現(xiàn)象,提高了人機(jī)交互水平,優(yōu)化了用戶的輸入體驗(yàn),應(yīng)用范圍廣泛。
【專利說明】
高效的觸摸屏文本輸入系統(tǒng)及方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及電子產(chǎn)品應(yīng)用,具體是指一種高效的觸摸屏文本輸入系統(tǒng)及方法。
【背景技術(shù)】
[0002]如今,智能手機(jī)、平板電腦等便攜式電子設(shè)備日益普及,作為基本的人機(jī)交互工具,輸入法直接影響著人們在使用這些電子設(shè)備的用戶體驗(yàn)。
[0003]在輸入法應(yīng)用中,用戶輸入非常密集,每兩次輸入的時(shí)間間隔平均在幾十至一兩百毫秒。在獲取輸入信號(hào)之后,處理器將每一次輸入信號(hào)匹配成對應(yīng)的字符,并通過一定的算法在字典中根據(jù)輸入的字符進(jìn)行查詢或預(yù)測等操作,獲得對應(yīng)的輸入結(jié)果。在不同的輸入法中,還會(huì)執(zhí)行一些改善用戶體驗(yàn)的反饋操作,例如對于用戶按下的按鍵或劃過的軌跡進(jìn)行高亮,或?qū)⒑蜻x詞中用戶剛剛輸入的字符采用特定的顏色進(jìn)行顯示,或根據(jù)用戶剛剛輸入的字符對更新的候選詞進(jìn)行排序等等。
[0004]然而,請參閱圖1所示,為現(xiàn)有技術(shù)的一次點(diǎn)擊手勢的處理過程示意圖。現(xiàn)有技術(shù)中針對一次點(diǎn)擊手勢,系統(tǒng)開啟主線程對用戶操作進(jìn)行檢測。當(dāng)系統(tǒng)首先檢測到觸摸按下,然后再檢測到觸摸抬起后,才會(huì)針對本次點(diǎn)擊進(jìn)行查詢,即確定觸摸按下與觸摸抬起為一次點(diǎn)擊后,系統(tǒng)才會(huì)根據(jù)本次點(diǎn)擊在字典中進(jìn)行查詢,最后將查詢的結(jié)果進(jìn)行顯示。然而為了提高輸入的智能化程度和準(zhǔn)確性,輸入法中字典的體積越來越大,例如,觸寶輸入法中字典體積達(dá)到十幾兆。龐大的字典體積使得處理器在字典中進(jìn)行查詢或預(yù)測等操作的時(shí)間變得更長,這就造成了輸入結(jié)果的響應(yīng)速度變得越來越慢。在輸入法這種工具性應(yīng)用軟件中,用戶對結(jié)果的響應(yīng)速度非常敏感,當(dāng)輸入結(jié)果的反應(yīng)速度達(dá)到過0.5?I秒時(shí),用戶會(huì)形成卡頓的印象,遲緩的響應(yīng)速度極大的影響了用戶體驗(yàn)。
[0005]針對輸入結(jié)果的反應(yīng)速度與輸入準(zhǔn)確性之間的矛盾,業(yè)界也提出了一些解決方案,嘗試在這兩者之間進(jìn)行平衡。例如,有一種方案提出了細(xì)胞詞庫的概念,通過將較大體量的詞庫分解成多個(gè)小體量的詞庫,試圖解決這個(gè)問題。這種方案需要用戶提前選擇待使用的詞庫,并且只有在用戶僅選擇為數(shù)不多的小詞庫的前提下才能夠在不影響輸入準(zhǔn)確性的前提下提高輸入結(jié)果的反應(yīng)速度。然而,在大多數(shù)輸入情況下,用戶在輸入的時(shí)候無法得知待輸入的字詞屬于哪一個(gè)詞庫,從而無法提前對詞庫進(jìn)行選擇,而選擇所有的小詞庫相當(dāng)于選擇了整體的大詞庫,并不能提高輸入結(jié)果的反應(yīng)速度,甚至基于不同小詞庫的構(gòu)造方式,反而會(huì)進(jìn)一步造成反應(yīng)速度變慢。
[0006]因此,有必要提供一種方法和裝置,改善輸入結(jié)果反應(yīng)速度和輸入準(zhǔn)確性之間存在的矛盾。

【發(fā)明內(nèi)容】

[0007]本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)的缺點(diǎn),提供了一種能夠提高用戶的輸入速度、同時(shí)確保輸入準(zhǔn)確性的高效的觸摸屏文本輸入系統(tǒng)及方法。
[0008]為了實(shí)現(xiàn)上述目的,本發(fā)明的高效的觸摸屏文本輸入系統(tǒng)及方法具有如下構(gòu)成:
[0009]根據(jù)本發(fā)明的一部分,該高效的觸摸屏文本輸入系統(tǒng)包括:
[0010]觸點(diǎn)檢測模塊,用以檢測所述的觸摸屏上是否存在觸摸按下及觸摸抬起;
[0011]線程管理模塊,用以當(dāng)所述的觸點(diǎn)檢測模塊檢測到所述的觸摸屏上存在觸摸按下時(shí),開啟輔助線程;
[0012]查詢模塊,用以在所述輔助線程中根據(jù)所述觸點(diǎn)觸摸按下的區(qū)域,在字典庫中查詢用戶的輸入字符和/或候選詞;
[0013]結(jié)果輸出模塊,用以當(dāng)所述的觸點(diǎn)檢測模塊檢測到所述的觸摸屏上存在觸摸抬起時(shí),輸出所述的查詢模塊所查詢到的用戶的輸入字符和/或候選詞,以及當(dāng)所述的觸點(diǎn)檢測模塊未檢測到所述的觸摸屏上存在觸摸抬起時(shí),放棄所述的查詢模塊所查詢到的結(jié)果。
[0014]進(jìn)一步地,當(dāng)所述觸點(diǎn)檢測模塊檢測到存在觸摸抬起時(shí),所述觸點(diǎn)檢測模塊進(jìn)一步判斷該觸摸按下與對應(yīng)該觸摸按下的觸摸抬起是否構(gòu)成一次點(diǎn)擊。
[0015]根據(jù)本發(fā)明的一部分,本發(fā)明還涉及一種高效的觸摸屏文本輸入方法,其主要特點(diǎn)是,所述的方法包括主線程處理過程及輔助線程處理過程:
[0016]所述的主線程處理過程包括:
[0017]檢測觸摸屏上是否存在觸摸按下;
[0018]當(dāng)存在所述觸摸按下時(shí),則開啟至少一條與所述觸摸按下對應(yīng)的輔助線程;
[0019]檢測所述的觸摸屏上是否存在觸摸抬起;
[0020]當(dāng)存在所述觸摸抬起時(shí),則從所述輔助線程獲得根據(jù)本次輸入進(jìn)行查詢的字符和/或候選詞,并輸出該查詢結(jié)果;當(dāng)不存在觸摸抬起時(shí),則放棄本次所述的輔助線程中的查詢結(jié)果;
[0021]所述的輔助線程處理過程包括:
[0022]根據(jù)所述的觸點(diǎn)觸摸按下的區(qū)域,在字典庫中查詢對應(yīng)的輸入字符和/或候選詞,并且當(dāng)存在所述觸摸抬起時(shí),發(fā)送所查詢到的結(jié)果至主線程處理過程。
[0023]進(jìn)一步地,檢測是否存在觸摸抬起進(jìn)一步包括:當(dāng)存在觸摸抬起時(shí),判斷所述的觸摸按下與該觸摸抬起是否組成一次點(diǎn)擊。
[0024]采用了該發(fā)明中的高效的觸摸屏文本輸入系統(tǒng)及系統(tǒng),與現(xiàn)有技術(shù)相比,具有以下有益效果:
[0025]請參閱圖12a和12b所示,為本發(fā)明與現(xiàn)有技術(shù)的技術(shù)效果的對比圖,其中現(xiàn)有技術(shù)中觸摸按下和觸摸抬起的時(shí)間間隔一般為100ms,在觸摸抬起后再開始進(jìn)行查詢,也就是說,用戶不得不在觸摸抬起之后等待查詢過程完成才能獲得反饋,從而使得用戶體驗(yàn)受到數(shù)據(jù)庫查詢速度甚至網(wǎng)絡(luò)聯(lián)網(wǎng)速度的限制,常常產(chǎn)生卡頓或延遲。而本發(fā)明中通過開啟輔助線程,在觸摸按下后同步進(jìn)行查詢,當(dāng)觸摸抬起時(shí),查詢結(jié)果已經(jīng)得到,用戶可以即時(shí)獲得反饋。即使數(shù)據(jù)庫再龐大或聯(lián)網(wǎng)速度很慢,使得花費(fèi)了超出正常數(shù)倍的時(shí)間進(jìn)行查詢,但由于查詢與用戶觸摸屏幕同步進(jìn)行,對于用戶而言,整個(gè)輸入的體驗(yàn)仍然是極為流暢的。在每次點(diǎn)擊的過程中,用戶的輸入速度整整提高了 40%至50%,提高了用戶的輸入速度及人機(jī)交互水平。另外,值得注意的是,現(xiàn)有技術(shù)中每次點(diǎn)擊手勢的整體耗時(shí)有4.29%在150ms以上,而采用本發(fā)明后,只有2.5%的點(diǎn)擊手勢超過150ms,整整下降了一倍,優(yōu)化了用戶的輸入體驗(yàn)。此外,現(xiàn)有技術(shù)中為了提高點(diǎn)擊速度使用了大量的緩存,但是對于提高點(diǎn)擊速度并未有明顯的影響,而采用本發(fā)明的技術(shù)方案,能夠減少緩存,釋放內(nèi)存,提高系統(tǒng)的整體運(yùn)行水平。
【附圖說明】
[0026]圖1為現(xiàn)有技術(shù)的一次點(diǎn)擊手勢的處理過程示意圖。
[0027]圖2a為本發(fā)明的高效的觸摸屏文本輸入系統(tǒng)一種實(shí)施方式的結(jié)構(gòu)示意圖。
[0028]圖2b為本發(fā)明的觸點(diǎn)檢測模塊一種實(shí)施方式的結(jié)構(gòu)示意圖。
[0029]圖3為本發(fā)明的高效的觸摸屏文本輸入系統(tǒng)另一種實(shí)施方式的結(jié)構(gòu)示意圖。
[0030]圖4為本發(fā)明的高效的觸摸屏文本輸入方法一種實(shí)施方式的步驟流程圖。
[0031]圖5a至5d為本發(fā)明的一種實(shí)施方式中UI控制模塊控制觸摸屏中鍵盤示意圖示意圖。
[0032]圖6為本發(fā)明的高效的觸摸屏文本輸入方法另一種實(shí)施方式的步驟流程圖。
[0033]圖7為本發(fā)明的一種實(shí)施方式中存在多個(gè)觸摸按下時(shí)系統(tǒng)主線程及輔助線程的示意圖。
[0034]圖8為本發(fā)明的一種實(shí)施方式中對于同一觸摸按下存在多個(gè)輔助線程時(shí)系統(tǒng)主線程及輔助線程的示意圖。
[0035]圖9為本發(fā)明的一種實(shí)施方式中字典庫的一種優(yōu)選的結(jié)構(gòu)示意圖。
[0036]圖10為本發(fā)明高效的觸摸屏文本輸入方法的一種實(shí)施方式中判斷觸摸按下及觸摸抬起是否為一次點(diǎn)擊的步驟流程圖。
[0037]圖11為本發(fā)明高效的觸摸屏文本輸入方法的一種實(shí)施方式中步驟S14的步驟流程圖。
[0038]圖12a為本發(fā)明的一種實(shí)施方式與現(xiàn)有技術(shù)一次點(diǎn)擊消耗時(shí)間的對比圖。
[0039]圖12b為本發(fā)明的一種實(shí)施方式與現(xiàn)有技術(shù)一次點(diǎn)擊消耗時(shí)間的另一對比圖。
【具體實(shí)施方式】
[0040]為了能夠更清楚地描述本發(fā)明的技術(shù)內(nèi)容,下面結(jié)合具體實(shí)施例來進(jìn)行進(jìn)一步的描述。
[0041 ] 在詳細(xì)說明根據(jù)本發(fā)明的實(shí)施例前,應(yīng)該注意到的是,所述的實(shí)施例主要在于與向終端中輸入文本有關(guān)的方法步驟和系統(tǒng)的組合。因此,所述的系統(tǒng)和方法步驟已經(jīng)在附圖中通過常規(guī)符號(hào)在適當(dāng)?shù)奈恢帽硎境鰜砹?,并且只示出了與理解本發(fā)明的實(shí)施例有關(guān)的細(xì)節(jié),以免因?qū)τ诘靡嬗诒景l(fā)明的本領(lǐng)域普通技術(shù)人員而言顯而易見的那些細(xì)節(jié)而模糊了本公開內(nèi)容。
[0042]在本文中,諸如左和右,上和下,前和后,第一和第二之類的關(guān)系術(shù)語僅僅用來區(qū)分一個(gè)實(shí)體或動(dòng)作與另一個(gè)實(shí)體或動(dòng)作,而不一定要求或暗示這種實(shí)體或動(dòng)作之間的任何實(shí)際的這種關(guān)系或順序。術(shù)語“包括”、“包含”或任何其他變體旨在涵蓋非排他性的包含,由此使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包含這些要素,而且還包含沒有明確列出的其他要素,或者為這種過程、方法、物品或者設(shè)備所固有的要素。
[0043]請參閱圖2a所示,本發(fā)明的高效的觸摸屏文本輸入系統(tǒng)包括觸點(diǎn)檢測模塊1、線程管理模塊2、查詢模塊4以及結(jié)果輸出模塊3。
[0044]其中,本發(fā)明的觸點(diǎn)檢測模塊I是用于檢測所述的觸摸屏上是否存在觸摸按下或觸摸抬起,所述的觸摸按下和對應(yīng)于該觸摸按下的觸摸抬起結(jié)合在一起組成一次點(diǎn)擊。當(dāng)觸點(diǎn)檢測模塊I檢測到存在觸摸按下時(shí),所述的線程管理模塊2就會(huì)開啟至少一個(gè)輔助線程,通過查詢模塊4對本次觸摸按下進(jìn)行查詢,并且當(dāng)觸點(diǎn)檢測模塊I檢測到與本次觸摸按下相對應(yīng)的觸摸抬起時(shí),通過結(jié)果輸出模塊3輸出輔助線程中的查詢結(jié)果。
[0045]在一些實(shí)施方式中,當(dāng)觸點(diǎn)檢測模塊I再次檢測到用戶的觸摸按下時(shí)輔助線程中尚未出現(xiàn)針對前一次觸摸按下的查詢結(jié)果,這時(shí)線程管理模塊2可開啟另外的輔助線程,查詢對應(yīng)于用戶的第二次觸摸按下的輸入字符。
[0046]依次類推,本發(fā)明的高效的觸摸屏文本輸入系統(tǒng)中可以存在多個(gè)輔助線程以提高觸摸屏文本輸入效率,其中,所述的輔助線程是相對于主線程而言的,主線程可適于分發(fā)事件給構(gòu)件,例如,可包括檢測觸摸屏上是否存在觸摸按下或觸摸抬起,以及在檢測到觸摸按下時(shí)開啟輔助線程,在檢測到觸摸抬起時(shí)輸出輔助線程中查詢到的輸入字符,還可包括繪制事件,改變屏幕指定區(qū)域的亮度或顏色,而輔助線程則適于根據(jù)觸摸屏上的觸摸按下查詢對應(yīng)于該觸摸按下的輸入字符,并將查詢結(jié)果通過結(jié)果輸出模塊3進(jìn)行輸出。
[0047]在一種優(yōu)選地實(shí)施例中,請參閱圖2b所示,本發(fā)明中的觸點(diǎn)檢測模塊I可包括檢測單元102、驅(qū)動(dòng)單元101及觸摸屏控制單元103,驅(qū)動(dòng)單元101用以向所述的觸摸屏中的驅(qū)動(dòng)線添加驅(qū)動(dòng)信號(hào),檢測單元102在檢測到觸點(diǎn)位置(即觸摸按下時(shí)的位置)后,將該檢測到的觸點(diǎn)位置發(fā)送至觸摸屏控制單元103 ;而觸摸屏控制單元103適于從檢測單元102上接收觸點(diǎn)位置,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給查詢模塊4。
[0048]現(xiàn)有技術(shù)中,在用戶輸入字符的過程中,觸摸按下、觸摸抬起以及查詢都是在同一個(gè)線程中進(jìn)行的,即現(xiàn)有技術(shù)中當(dāng)檢測到存在觸摸抬起并且檢測到存在對應(yīng)的觸摸抬起之后,才會(huì)在同一個(gè)線程中針對本次觸摸按下及與對應(yīng)的觸摸抬起所組成的一次點(diǎn)擊,查詢與之相對應(yīng)的輸入字符,而隨著字典庫體積的日益膨脹,在字典庫中進(jìn)行查詢耗時(shí)也越來越久,這就使得每一次點(diǎn)擊輸入的響應(yīng)速度變得越來越慢。而本發(fā)明通過引入了線程管理模塊2,通過開啟多個(gè)輔助線程,每一個(gè)輔助線程對本次觸摸按下所對應(yīng)的用戶的輸入字符進(jìn)行查詢。此外,在不同的實(shí)施方式中,由于輸入法中字典庫的不同,對于同一個(gè)觸摸按下,具有不同結(jié)構(gòu)的字典庫的系統(tǒng)還可以開啟不同數(shù)目的輔助線程,例如,在一種優(yōu)選的實(shí)施例中,字典庫分為多個(gè)子庫,這時(shí)對于用戶的一個(gè)觸摸按下,系統(tǒng)會(huì)根據(jù)該觸摸按下的位置開啟多條輔助線程,同時(shí)查詢不同的子庫,加快查詢速度,以保證在觸摸抬起時(shí),查詢模塊4已經(jīng)查詢出用戶的輸入字符,提高人機(jī)交互水平。
[0049]在另一種實(shí)施方式中,線程管理模塊2還可進(jìn)一步包括:對多個(gè)輔助線程進(jìn)行管理。例如,當(dāng)存在多個(gè)輔助線程一起工作時(shí),當(dāng)其中一個(gè)輔助線程中進(jìn)行查詢的查詢時(shí)間超過第一閾值時(shí),線程管理模塊2可以將該線程及在該線程之后開啟的一個(gè)線程進(jìn)行合并,以提高查詢效率。在一種實(shí)施方式中,所述的第一閾值為100ms,也可由用戶進(jìn)行自行設(shè)置。
[0050]在一種優(yōu)選的實(shí)施例中,參考圖3,系統(tǒng)還可包括UI控制模塊5,用以當(dāng)觸點(diǎn)檢測模塊I檢測到觸摸屏上存在觸摸按下時(shí),控制觸點(diǎn)觸摸按下的區(qū)域的狀態(tài)改變,以及當(dāng)觸點(diǎn)檢測模塊I檢測到所述的觸摸屏上存在觸摸抬起時(shí),控制觸點(diǎn)觸摸按下的區(qū)域恢復(fù)原始狀態(tài)。其中,所述的狀態(tài)改變可以為所述的觸點(diǎn)觸摸按下的區(qū)域亮度改變或顏色改變。通過在存在觸摸按下時(shí)改變觸點(diǎn)接觸區(qū)域的狀態(tài),能夠讓用戶對自己所輸入的字符有一個(gè)直觀的感受,使其可以清楚的將按下的位置與其想要輸入字符聯(lián)系起來,因此,此處只要是可以區(qū)分觸摸按下的區(qū)域與未觸摸按下的區(qū)域即可,而并不局限于該觸摸按下的區(qū)域亮度改變或顏色改變。
[0051]當(dāng)開啟輔助線程后,查詢模塊4根據(jù)當(dāng)前觸摸按下的區(qū)域查詢用戶的輸入字符,其中需要注意的是,所述的查詢模塊4適于對本地字典或通過通信模塊(圖中未示出)對部署于云端的字典進(jìn)行查詢。此處,所述觸摸屏為廣義上的觸摸屏,會(huì)顯示不同語音或不同布局的軟鍵盤,并且軟鍵盤中各個(gè)字符的位置信息對應(yīng)于觸摸屏中各個(gè)觸點(diǎn)的位置,所以查詢模塊4可根據(jù)觸點(diǎn)坐標(biāo),在字典庫中進(jìn)行查詢,獲得對應(yīng)的輸入字符,或進(jìn)一步根據(jù)用戶之前的輸入內(nèi)容,獲得對應(yīng)的候選詞。
[0052]在一種實(shí)施方式中,結(jié)果輸出模塊3,用以當(dāng)所述的觸點(diǎn)檢測模塊I檢測到所述的觸摸屏上存在觸摸抬起時(shí),輸出所述的查詢模塊4所查詢到的用戶的輸入字符或候選詞,以及當(dāng)所述的觸點(diǎn)檢測模塊I未檢測到所述的觸摸屏上存在觸摸抬起時(shí),放棄所述的查詢模塊4所查詢到的用戶的輸入字符或候選詞。在另一種實(shí)施方式中,當(dāng)觸點(diǎn)檢測模塊I檢測到的觸摸按下與觸摸抬起不構(gòu)成一次點(diǎn)擊時(shí),或當(dāng)觸點(diǎn)檢測模塊I所檢測到的觸摸抬起與觸摸按下之間的時(shí)間間隔超出設(shè)定時(shí)間閾值時(shí),例如100ms,觸點(diǎn)檢測模塊I模擬觸摸抬起信號(hào),并將該信號(hào)發(fā)送至結(jié)果輸出模塊3,使得結(jié)果輸出模塊3從查詢模塊4獲取查詢的結(jié)果,并進(jìn)行輸出。
[0053]請參閱圖4所示,在本發(fā)明高效的觸摸屏文本輸入方法的一種實(shí)施方式中,所述的方法包括主線程處理過程及輔助線程處理過程:
[0054]所述的主線程處理過程包括:
[0055]Sll:所述的觸點(diǎn)檢測模塊I檢測所述的觸摸屏上是否存在觸摸按下;
[0056]S12:當(dāng)所述的觸摸屏上存在觸摸按下時(shí),則所述的線程管理模塊2開啟輔助線程;
[0057]S13:所述的觸點(diǎn)檢測模塊I檢測所述的觸摸屏上是否存在觸摸抬起;當(dāng)存在觸摸抬起時(shí),通知輔助線程并進(jìn)入步驟S14,當(dāng)不存在觸摸抬起時(shí),進(jìn)入步驟S15 ;
[0058]S14:當(dāng)所述的觸摸屏上存在觸摸抬起時(shí),則所述的結(jié)果輸出模塊3輸出所述的輔助線程中所查詢到的用戶的輸入字符和/或候選詞;
[0059]S15:當(dāng)所述的觸摸屏上不存在觸摸抬起時(shí),則所述的結(jié)果輸出模塊3放棄本次所述的輔助線程中所查詢到的用戶的輸入字符和/或候選詞。
[0060]所述的輔助線程處理過程包括:
[0061]S21:所述的查詢模塊4根據(jù)所述的觸點(diǎn)觸摸按下的區(qū)域查詢用戶的輸入字符和/或與輸入字符相對應(yīng)的候選詞。
[0062]S22,當(dāng)檢測到存在觸摸抬起時(shí),將所查詢到的用戶的輸入字符和/或候選詞發(fā)送至結(jié)果輸出模塊3。
[0063]為了詳細(xì)地說明本發(fā)明的高效的觸摸屏文本輸入方法,在此,給出本發(fā)明中所涉及的各個(gè)步驟的優(yōu)選的實(shí)施例,但需要注意的是,下文中所給出的本發(fā)明所涉及的各個(gè)步驟的優(yōu)選的實(shí)施例并不能作為對本發(fā)明的限制。
[0064]對于步驟S11,所述的觸點(diǎn)檢測模塊I檢測所述的觸摸屏上是否存在觸摸按下,所述的觸摸屏可以為四線電阻屏、聲波屏、五線電阻屏、紅外屏、電容屏的,該觸摸屏所在的終端可以是手機(jī)、平板電腦、移動(dòng)電腦等便攜式移動(dòng)終端,也可以是電視、臺(tái)式機(jī)、機(jī)頂盒等不易于攜帶的終端。
[0065]在步驟S12中,當(dāng)所述的觸摸屏上存在觸摸按下時(shí),開啟一個(gè)對應(yīng)的輔助線程。在一種實(shí)施方式中,步驟S12具體可包括:創(chuàng)建一個(gè)Thread對象,通過Looper來處理消息隊(duì)列,并將內(nèi)置了 Runnable接口對象作為創(chuàng)建Thread對象的參數(shù);當(dāng)輔助線程被開啟時(shí),調(diào)用Thread類的start方法啟動(dòng)該線程,通過執(zhí)行Runnable的run O方法完成輔助線程對應(yīng)的操作。
[0066]此外,步驟S12還可包括:控制觸摸屏觸點(diǎn)區(qū)域的狀態(tài)變化。參考圖5a至5(!所示,當(dāng)所述的觸摸屏上存在觸摸按下,則所述的UI控制模塊5控制所述的觸點(diǎn)觸摸按下的區(qū)域的狀態(tài)改變,其中所述的狀態(tài)改變可以為變亮或改變顏色。此處,觸摸按下的區(qū)域具體是指觸摸屏上顯示的鍵盤中觸摸按下的字符鍵,例如,請參閱圖5a中,圖示雙鍵鍵盤布局包含了 26個(gè)英文字母,數(shù)字、符號(hào)和空格鍵,且每個(gè)按鍵可代表兩到三個(gè)字符,則當(dāng)觸摸按下的區(qū)域?yàn)樽址皐”時(shí),由于“w”和“q”、“ ; ”在同一個(gè)按鍵上,則該“qw”鍵701 (此處由于“w”和“q”在同一個(gè)按鍵上,所以稱此鍵為“qw”鍵)變亮或改變顏色;請參閱圖5b所示的QWERTY全鍵盤布局或如圖5c所示的AZERTY全鍵盤布局,每個(gè)按鍵代表一個(gè)字符,兩個(gè)鍵之間可有數(shù)字和符號(hào),則當(dāng)觸摸按下的區(qū)域?yàn)樽址皐”時(shí),則該字符“w”所在的位置801變亮或改變顏色;請參閱圖5d所示,在一種常見的簡縮示鍵盤布局中,當(dāng)觸摸按下的區(qū)域?yàn)樽址皉 ”時(shí),由于“P ”、“ q”、“r ”、“ s ”和“ 7 ”處于同一個(gè)鍵中,所以此時(shí)該包含“P ”、“ q”、“r ”、“ s ”和“ 7 ”的鍵“pqrs鍵” 901 (此處由于“P ”、“ q”、“r ”、“ s ”和“ 7 ”在同一個(gè)按鍵上,所以稱此鍵為“pqrs7”鍵)變亮或顏色改變。所述的UI控制模塊5進(jìn)一步包括根據(jù)當(dāng)前的鍵盤布局,以及根據(jù)用戶的觸摸按下的當(dāng)前位置,控制觸摸屏中軟鍵盤對應(yīng)區(qū)域的變亮、變暗或者顏色的改變。
[0067]在另一種實(shí)施方式中,請參閱圖6所示,在所述主線程處理過程中,當(dāng)不存在觸摸抬起時(shí),進(jìn)入步驟S35,其中步驟S35包括:模擬觸摸抬起的信號(hào),并將該模擬的信號(hào)返回至步驟S13,從而對每一個(gè)用戶的輸入信號(hào)查詢對應(yīng)的字符和/或候選詞,并對其進(jìn)行輸出。
[0068]圖7為在本發(fā)明的有一種實(shí)施方式中,當(dāng)存在多觸摸按下時(shí),系統(tǒng)主線程及輔助線程的處理過程示意圖。在用戶多指操作輸入時(shí)或者在密集型輸入的情況下,其中,觸點(diǎn)檢測模塊I已經(jīng)檢測到一個(gè)觸摸按下(第一觸摸按下),并開啟了第一輔助線程,在第一輔助線程查詢的過程中,所述的主線程還未檢測到與第一觸摸按下相對應(yīng)的觸摸抬起時(shí),主線程中的觸點(diǎn)檢測模塊I又檢測到第二個(gè)觸摸按下(第二觸摸按下),這時(shí)線程管理模塊2又開啟了第二輔助線程,在主線程中觸點(diǎn)檢測模塊I又檢測到第二次觸摸抬起(第二觸摸抬起)時(shí),但此時(shí)還未檢測到第一次觸摸抬起,這時(shí),系統(tǒng)則會(huì)向觸點(diǎn)檢測模塊I發(fā)送與第一輔助線程中所查詢的觸摸按下相對應(yīng)的觸摸抬起的信號(hào),當(dāng)觸點(diǎn)檢測模塊I接收到該觸摸抬起的信號(hào)時(shí),則會(huì)認(rèn)為與第一輔助線程中所查詢的觸摸按下組成一次點(diǎn)擊的觸摸抬起已經(jīng)完成,這樣查詢模塊4輸出在第一輔助線程中的查詢結(jié)果及查詢模塊4在第二輔助線程中的查詢結(jié)果。在某些實(shí)施方式中,當(dāng)開啟第一輔助線程或第二輔助線程時(shí),還包括將觸摸按下對應(yīng)的區(qū)域進(jìn)行高亮,并且,當(dāng)輔助線程結(jié)束時(shí),觸摸按下區(qū)域的高亮消失。
[0069]另外,參閱圖8所示,在本發(fā)明高效的觸摸屏文本輸入方法的某些實(shí)施方式中,還可以開啟多個(gè)輔助線程。例如,當(dāng)有多個(gè)字典庫時(shí),可以對于同一個(gè)觸摸按下開啟多個(gè)輔助線程;也可以對同一個(gè)觸摸按下,在同一個(gè)字典庫中開啟多個(gè)輔助線程。在一種實(shí)施例中,當(dāng)鍵盤的格局為例如圖5d所示的簡縮示鍵盤布局時(shí),當(dāng)用戶觸摸按下的位置為“abc”鍵,這時(shí)用戶當(dāng)前這一個(gè)觸摸按下對應(yīng)的字母可為“a”或“b”或“C”。在另一種實(shí)施例中,可根據(jù)用戶當(dāng)前輸入進(jìn)行系統(tǒng)糾錯(cuò),例如根據(jù)當(dāng)前鍵盤布局,將用戶觸摸按下區(qū)域?qū)?yīng)的按鍵及其所有相鄰按鍵,或指定方向的一個(gè)或多個(gè)相鄰按鍵上對應(yīng)的字母作為與用戶當(dāng)前觸摸按下對應(yīng)的字母。在這些情況下,由于同一個(gè)觸摸按下中對應(yīng)多個(gè)字符,所以線程管理模塊2對應(yīng)每一個(gè)字符開啟多個(gè)輔助線程,以加快查詢過程,提高用戶的體驗(yàn)。參考圖8,其中同一個(gè)觸摸按下對應(yīng)三個(gè)輔助線程,分別是第一輔助線程、第二輔助線程以及第三輔助線程,其中,每個(gè)輔助線程分別將觸摸按下位置對應(yīng)按鍵上的一個(gè)字母與用戶輸入歷史相結(jié)合,查詢對應(yīng)的候選詞。
[0070]在某些實(shí)施例中,還可以根據(jù)用戶的隨后的輸入,關(guān)閉其中某些輔助線程,例如,當(dāng)用戶輸入的下一個(gè)或者多個(gè)字符時(shí),根據(jù)字典庫中可以判斷不存在該單詞或者在系統(tǒng)自動(dòng)糾錯(cuò)后,字典庫中不存在與該單詞相對應(yīng)的單詞,而此時(shí)用戶還在繼續(xù)輸入,則系統(tǒng)會(huì)關(guān)閉該輔助線程,但仍舊維持其他的輔助線程的進(jìn)行。此外,當(dāng)用戶在其它連續(xù)點(diǎn)擊時(shí),即連續(xù)有多個(gè)觸摸按下時(shí),這時(shí)系統(tǒng)可以針對多個(gè)觸摸按下分別開啟多個(gè)輔助線程,以加快查詢過程,提高用戶的體驗(yàn)度。
[0071]在所述的輔助線程處理過程中,當(dāng)存在用戶的觸摸按下時(shí),所述的查詢模塊4根據(jù)所述的觸點(diǎn)觸摸按下的區(qū)域,在字典庫中進(jìn)行查詢,獲得用戶的輸入字符以及與輸入字符相對應(yīng)的候選詞,并將所查詢到的用戶的輸入字符及候選詞發(fā)送至結(jié)果輸出模塊3。其中,所述字典庫可包括本地字典庫和/或部署于云端的字典庫。在一種實(shí)施例中,步驟S21可包括設(shè)置先對本地字典庫進(jìn)行查詢,當(dāng)沒有結(jié)果時(shí),才在云端字典庫進(jìn)行查詢,或反之。在另一種實(shí)施例中,步驟S21可包括檢測網(wǎng)絡(luò)狀態(tài),當(dāng)網(wǎng)絡(luò)狀態(tài)符合設(shè)定條件時(shí),例如為wifi狀態(tài)下,則開啟云端字典庫的查詢,否則僅在本地字典庫進(jìn)行查詢。
[0072]由于查詢步驟通常耗時(shí)較長,在某些實(shí)施方式中,步驟S22進(jìn)一步可包括:當(dāng)接收到主線程傳遞的存在觸摸抬起的信號(hào)時(shí),查詢模塊4等待第一時(shí)間間隔之后,再將查詢結(jié)果發(fā)送至結(jié)果輸出模塊3。其中,所述第一時(shí)間間隔可設(shè)置為小于等于60ms,從而避免給用戶造成卡頓的感覺。
[0073]其中,在某些實(shí)施方式中,步驟S21可進(jìn)一步包括:根據(jù)所述觸點(diǎn)觸摸按下的區(qū)域,獲得輸入字符;根據(jù)輸入字符,在字典庫中查詢,獲得候選詞。
[0074]其中,所述觸點(diǎn)觸摸按下的區(qū)域?qū)?yīng)的輸入字符可包括觸摸按下區(qū)域?qū)?yīng)按鍵上所分配的字符,也可包括根據(jù)觸摸按下區(qū)域進(jìn)行系統(tǒng)糾錯(cuò)所獲得的字符。在進(jìn)行系統(tǒng)糾錯(cuò)時(shí),系統(tǒng)根據(jù)鍵盤的布局以及用戶已經(jīng)輸入的文本,對用戶當(dāng)前輸入的字符進(jìn)行合理的預(yù)測,例如當(dāng)鍵盤的布局為如圖5b所示的QWERTY鍵盤時(shí),當(dāng)用戶在中文全拼輸入法中,輸入“q”后,緊接著輸入“k”,基于漢語拼音中并不存在“qk”的字節(jié),另外結(jié)合當(dāng)前鍵盤布局中,與“k”相連的字符包括“U”、“ i ”、“O”、“ I ”、“m”、“n”、“b”、“ j ”,根據(jù)漢語拼音的語法特點(diǎn),可以推測用戶輸入存在錯(cuò)誤,用戶應(yīng)該輸入的是“u”或“i”而非“k”,從而在查詢的時(shí)候,直接根據(jù)糾錯(cuò)結(jié)果,即“qu”或“qi”進(jìn)行查詢。另外該系統(tǒng)糾錯(cuò)可以根據(jù)觸摸按下區(qū)域?qū)?yīng)按鍵的所有相鄰鍵進(jìn)行糾錯(cuò),或者指定方向的相鄰按鍵進(jìn)行糾錯(cuò),也可以根據(jù)用戶輸入習(xí)慣自行進(jìn)行設(shè)置。
[0075]請參閱圖9所示,圖9為字典庫的一種優(yōu)選的結(jié)構(gòu)示意圖,在一種優(yōu)選的實(shí)施方式中,單詞分別以樹狀結(jié)構(gòu)排列在字典庫中,如圖9所示,在樹狀結(jié)構(gòu)形成的字典中的每一個(gè)節(jié)點(diǎn)N1-1,N1-2…N1-m代表一個(gè)字符,其中i代表該節(jié)點(diǎn)在樹中的深度(第i層)。位于第i層的節(jié)點(diǎn)代表了單詞的第i個(gè)字符。m代表了該層中的字符總數(shù),例如在英語中有26個(gè)字母,則m可以不超過26 ;如果字典內(nèi)可以包含由其他符號(hào)組成的單詞,如don’t,則m可以大于26。這些節(jié)點(diǎn)由路徑P1-j-1,P1-j-2,…,P1-j-m連接起來,其中i_j代表該路徑所連接父節(jié)點(diǎn)為N1-j。從根節(jié)點(diǎn)向下到達(dá)某一節(jié)點(diǎn)的路徑所途徑的節(jié)點(diǎn)序列,稱為該節(jié)點(diǎn)(或該路徑)的字符序列。如果一個(gè)節(jié)點(diǎn)的字符序列是字典中的一個(gè)單詞,則稱該節(jié)點(diǎn)為單詞節(jié)點(diǎn)。如果某一條路徑不存在,則代表該路徑的字符序列在字典中不存在。例如,英語單詞apple所對應(yīng)的節(jié)點(diǎn),就是從根節(jié)點(diǎn)向下順序?qū)ふ夜?jié)點(diǎn)a-p-p-1-e。其中第I個(gè)字母a所對應(yīng)的節(jié)點(diǎn)在樹的第I層,第2個(gè)字母P的節(jié)點(diǎn)在樹的第2層,而最后一個(gè)字母e的節(jié)點(diǎn)是單詞節(jié)點(diǎn),其字符序列就是“apple”。這種樹狀結(jié)構(gòu)的字典庫可以快速地找到一個(gè)特定的字母序列是否是字典里的一個(gè)單詞,以及該單詞對應(yīng)的節(jié)點(diǎn)。
[0076]每一個(gè)單詞節(jié)點(diǎn)可對應(yīng)于一個(gè)單詞對象,但單詞對象的數(shù)據(jù)結(jié)構(gòu)是獨(dú)立于詞典結(jié)構(gòu)的。根據(jù)某些實(shí)施方式,一個(gè)單詞對象可包含以下信息:單詞的統(tǒng)計(jì)詞頻,相關(guān)詞,上下文關(guān)聯(lián)規(guī)則,替代格式等。其中,單詞的統(tǒng)計(jì)詞頻可以來自于對常用語料的統(tǒng)計(jì),也可來自于對于用戶輸入習(xí)慣的統(tǒng)計(jì)。單詞的統(tǒng)計(jì)詞頻可以用一個(gè)數(shù)值表示,例如數(shù)字I到8,8代表最常用的詞,I代表最不常用的詞。統(tǒng)計(jì)詞頻可成為候選詞優(yōu)先級(jí)排序的一個(gè)重要考慮因素。在不考慮其他因素時(shí),詞頻越高,單詞的優(yōu)先級(jí)就越高。
[0077]其中,單詞的相關(guān)詞是指與該單詞相關(guān)聯(lián)的單詞,例如名詞的復(fù)數(shù)形式,動(dòng)詞的不同時(shí)態(tài),該詞的不同詞性等等。例如英文單詞“jump”的相關(guān)詞包括“jumps”,“jumping”,“jumped”等。具體來說,根據(jù)某些實(shí)施方式,相關(guān)詞列表可以用指針方式實(shí)現(xiàn),即一個(gè)單詞對象可以指向其相關(guān)聯(lián)的其他單詞對象。根據(jù)在字典庫中的查找結(jié)果獲得相關(guān)詞,可以方便用戶從一個(gè)單詞快速選擇其關(guān)聯(lián)的單詞。例如當(dāng)用戶看到“jump”出現(xiàn)在候選詞中時(shí),可以通過某種事先指定的動(dòng)作(例如在單詞上向下滑動(dòng))讓系統(tǒng)顯示出所有的相關(guān)詞,并從中選擇。根據(jù)某些實(shí)施方式,步驟S21中根據(jù)輸入字符獲得候選的單詞還可進(jìn)一步包括,根據(jù)所述的候選詞,獲得與其關(guān)聯(lián)的相關(guān)詞。
[0078]此外,上下文關(guān)聯(lián)規(guī)則包含了該單詞的常見短語搭配、語法準(zhǔn)則等與上下文環(huán)境相關(guān)的信息。例如,單詞“l(fā)ook”的上下文關(guān)聯(lián)規(guī)則可包含常見短語搭配“l(fā)ook at”,“l(fā)ookforward to”,“l(fā)ook for”等。又如,單詞“am”的上下文關(guān)聯(lián)規(guī)則可包含常見短語搭配“I am”等。又如,單詞“of”的上下文關(guān)聯(lián)規(guī)則可包含語法規(guī)則:“其后跟的詞應(yīng)為名詞或動(dòng)名詞”。有了這些信息后,系統(tǒng)即可通過上下文智能判斷候選詞的優(yōu)先級(jí)。根據(jù)某些實(shí)施方式,步驟S21中根據(jù)輸入字符獲得候選的單詞還可進(jìn)一步包括,根據(jù)上下文,獲得與所述輸入字符關(guān)聯(lián)的候選詞。
[0079]其中,上下文關(guān)聯(lián)規(guī)則在相關(guān)詞之間中也可以互相生效。例如,當(dāng)上下文關(guān)聯(lián)規(guī)則中有“l(fā)ook forward to”時(shí),文中即使出現(xiàn)“l(fā)ooking”也可以關(guān)聯(lián)到“forward to,,,因?yàn)椤發(fā)ooking”是“l(fā)ook”的相關(guān)詞。替代格式是單詞的某種關(guān)聯(lián)表現(xiàn)形式,例如“asap”是“as soon as possible”的縮寫形式,那么如果用戶輸入了 “asap”,系統(tǒng)可以自動(dòng)對應(yīng)到“as soon as possible,,。因此 “as soon as possible” 就是單詞對象“asap” 的替代格式。又如,用戶輸入“dont”能自動(dòng)糾正為“don’ t”,因?yàn)閱卧~對象“dont”上含有替代格式“don’t”。此時(shí)單詞對象“dont”實(shí)際上是一種索引。當(dāng)一個(gè)單詞有替代格式時(shí),候選詞模塊可以優(yōu)先將替代格式輸出。
[0080]根據(jù)上述的字典庫的結(jié)構(gòu)及每個(gè)單詞對象的數(shù)據(jù)結(jié)構(gòu)(即單詞的統(tǒng)計(jì)詞頻,相關(guān)詞,上下文關(guān)聯(lián)規(guī)則,替代格式等),步驟S21中,所述根據(jù)輸入字符在字典庫中查詢并獲得候選詞進(jìn)一步還可包括:查詢模塊4在查詢用戶的某一個(gè)的觸摸按下所對應(yīng)的字符時(shí),對下一個(gè)觸摸按下進(jìn)行預(yù)測。例如,當(dāng)?shù)谝粋€(gè)觸摸按下的查詢結(jié)果為“s”時(shí),在第二個(gè)觸摸按下還未到來之前,查詢模塊4對下一個(gè)觸摸按下進(jìn)行預(yù)測。例如,查詢模塊4根據(jù)在字典庫中查詢的結(jié)果,預(yù)測用戶最有可能輸入的單詞為“save”,“surprise”,“see”等;根據(jù)這些預(yù)測的結(jié)果,查詢模塊4獲得對下一個(gè)觸摸按下區(qū)域?qū)?yīng)字符的預(yù)測結(jié)果,即字符“a” “u” “e”等。這時(shí),當(dāng)觸點(diǎn)檢測模塊I檢測到下一個(gè)觸摸按下到來時(shí),則查詢模塊4首先根據(jù)上一個(gè)觸摸按下的查詢預(yù)測結(jié)果對本次觸摸按下進(jìn)行查詢,這樣可以加快查詢的速度,提高候選詞的顯示速度等,有利于人機(jī)交互水平的提高。
[0081]對于步驟S13,所述的觸點(diǎn)檢測模塊I檢測所述的觸摸屏上是否存在觸摸抬起;由于一次點(diǎn)擊手勢是由觸摸按下和觸摸抬起組成,現(xiàn)有技術(shù)中是在觸摸抬起后才對觸摸按下區(qū)域?qū)?yīng)的字符或候選詞進(jìn)行查詢,而本發(fā)明通過在觸摸按下后,開啟輔助線程并立即在輔助線程中進(jìn)行查詢,并且通過主線程判斷是否存在觸摸抬起,當(dāng)存在觸摸抬起時(shí),則輸出本次查詢結(jié)果,大大地提升了用戶的輸入速度,改善了人機(jī)交互體驗(yàn)。
[0082]其中,在檢測到與本次觸摸按下相對應(yīng)的觸摸抬起時(shí),所述的UI控制模塊5將本次檢測到觸摸抬起時(shí)狀態(tài)發(fā)生改變的區(qū)域的狀態(tài)變回至未檢測到觸摸抬起時(shí)的狀態(tài),以表示本次點(diǎn)擊結(jié)束,例如,使得高亮的區(qū)域不再高亮,或者使顏色發(fā)生了改變的區(qū)域重新恢復(fù)之前的顏色。此外,為了提高用戶的體驗(yàn)度,在高亮的區(qū)域,或者改變顏色的區(qū)域變回至未檢測到觸摸抬起時(shí)的狀態(tài)時(shí),所述的結(jié)果輸出模塊3輸出本次查詢的結(jié)果,這樣可以給用戶一種流暢的感覺。另外,在另一種實(shí)施方式中,由于本次查詢過程被并入至其隨后的查詢過程中,在本次觸摸按下的高亮的區(qū)域,或者改變顏色的區(qū)域變回至未檢測到觸摸抬起時(shí)的狀態(tài)時(shí),并未輸出本次觸摸按下的字符串,但是在其后的一個(gè)觸摸按下所對應(yīng)的高亮的區(qū)域,或者改變顏色的區(qū)域變回至未檢測到觸摸抬起時(shí)的狀態(tài)時(shí),輸出本次及本次其后所對應(yīng)的字符及候選詞,在該種情況下,雖然輸入字符串延緩顯示,但是候選詞的顯示還是正常的,并不影響用戶的輸入速度。
[0083]在一種實(shí)施方式中,步驟S13進(jìn)一步還包括:判斷所述觸摸按下以及觸摸抬起是否為一次點(diǎn)擊。請參閱圖10所示,具體包括:
[0084]S131:所述的觸點(diǎn)檢測模塊I檢測所述的觸摸屏上是否存在觸摸抬起;
[0085]S132:當(dāng)所述的觸摸屏上存在觸摸抬起時(shí),則所述的觸點(diǎn)檢測模塊I判斷所述的觸摸按下與觸摸抬起是否組成一次點(diǎn)擊;
[0086]其中,步驟S132可包括:檢測觸摸按下和觸摸抬起的位置是否發(fā)生變化,或檢測觸摸按下與觸摸抬起之間的時(shí)間間隔是否超過設(shè)定的時(shí)間間隔。由于存在觸點(diǎn)滑動(dòng)的情況,即雖然系統(tǒng)檢測到觸摸按下和觸摸抬起,但是當(dāng)觸摸按下和觸摸抬起的位置發(fā)生了改變,例如觸摸按下和觸摸抬起位于不同的鍵上,或者當(dāng)觸摸按下和觸摸抬起之間的時(shí)間間隔超過設(shè)定的時(shí)間間隔,例如雖然觸摸按下和觸摸抬起位于同一個(gè)鍵上,但是觸摸按下和觸摸抬起之間的時(shí)間間隔不符合一次點(diǎn)擊中觸摸按下和觸摸抬起之間的時(shí)間間隔范圍時(shí),則該觸摸按下和觸摸抬起并未組成一次點(diǎn)擊。
[0087]當(dāng)所述的觸摸按下與觸摸抬起組成一次點(diǎn)擊時(shí),則繼續(xù)步驟S14,返回所述的觸摸屏上存在觸摸抬起的結(jié)果。例如,請結(jié)合圖5b所示,當(dāng)觸點(diǎn)位于鍵“w”時(shí),觸點(diǎn)檢測模塊I檢測到觸摸按下,一定時(shí)間間隔后,觸點(diǎn)檢測模塊I檢測到觸摸抬起;本次觸摸按下和觸摸抬起觸點(diǎn)都位于鍵,且觸摸按下和觸摸抬起之間的時(shí)間間隔符合一次點(diǎn)擊中觸摸按下和觸摸抬起之間的時(shí)間間隔的范圍,則返回所述的觸摸屏上存在觸摸抬起的結(jié)果。
[0088]當(dāng)所述的觸摸按下與觸摸抬起未組成一次點(diǎn)擊時(shí),則繼續(xù)步驟S15,返回所述的觸摸屏上不存在觸摸抬起的結(jié)果。例如,請結(jié)合圖5b所示,當(dāng)觸摸按下位于“w”鍵,而觸摸抬起位于“t”鍵,則本次觸摸按下和觸摸抬起不能組成一次點(diǎn)擊;在某些實(shí)施方式中,觸摸按下和觸摸抬起雖然都位于同一個(gè)鍵上,例如“W”,但是由于觸摸按下和觸摸抬起之間的時(shí)間間隔超過或者小于一次點(diǎn)擊的時(shí)間間隔的范圍,則返回觸摸屏上不存在觸摸抬起的結(jié)果。
[0089]當(dāng)所述的觸摸屏上不存在觸摸抬起時(shí),則執(zhí)行步驟S15或步驟S35,返回所述的觸摸屏上不存在觸摸抬起的結(jié)果。在某些實(shí)施方式中,雖然觸點(diǎn)檢測模塊I檢測到觸摸按下,但觸點(diǎn)檢測模塊I并未檢測到觸摸抬起,例如在用戶長按某一鍵,例如“w”的時(shí)候,觸點(diǎn)檢測模塊I則不會(huì)檢測到觸摸抬起,此時(shí)返回觸摸屏上不存在觸摸抬起的結(jié)果。另外,結(jié)合圖6,當(dāng)觸點(diǎn)檢測模塊I檢測到第一次觸摸按下后,并未檢測到對應(yīng)該第一次觸摸按下的觸摸抬起,而是檢測到第二次觸摸按下,以及與第二次觸摸按下相對應(yīng)的觸摸抬起,則系統(tǒng)會(huì)執(zhí)行步驟S35,向觸點(diǎn)檢測模塊I發(fā)送對應(yīng)于第一次觸摸按下的觸摸抬起的信號(hào),以使得結(jié)果輸出模塊3輸出對應(yīng)于第一次觸摸按下和第二次觸摸按下的查詢結(jié)果。
[0090]其中,通常將一次觸摸按下及一次觸摸抬起的時(shí)間間隔達(dá)到10ms左右時(shí),認(rèn)為該觸摸按下和觸摸抬起構(gòu)成一次點(diǎn)擊手勢,當(dāng)然不同的觸摸屏其時(shí)間間隔不一定相同,所以此處可以由終端制造商在終端出廠前進(jìn)行設(shè)置,也可以是用戶根據(jù)自己的輸入的習(xí)慣及速度進(jìn)行設(shè)置,但是此處的設(shè)置值必須大于或者等于觸摸按下與觸摸抬起能組成一次點(diǎn)擊手勢的最短時(shí)間。另外,為了與按住手勢相區(qū)分,觸摸按下和觸摸抬起之間的時(shí)間間隔也不能超過一定的時(shí)間間隔,此處觸摸按下和觸摸抬起之間的時(shí)間間隔的設(shè)置也與觸摸屏的靈敏度有關(guān)。
[0091]請參閱圖11,在本發(fā)明一種實(shí)施方式中,步驟S14具體包括:
[0092]S141:所述的結(jié)果輸出模塊3判斷所述的查詢模塊4是否已查詢到本次用戶的輸入字符及候選詞;
[0093]S142:當(dāng)所述的查詢模塊4已查詢到本次用戶的輸入字符及候選詞時(shí),則所述的結(jié)果輸出模塊3輸出本次輔助線程中所查詢到的用戶的輸入字符及候選詞。
[0094]S143:當(dāng)所述的查詢模塊4尚未查詢到本次用戶的輸入字符及候選詞時(shí),則所述的結(jié)果輸出模塊3判斷所述的查詢模塊4的本次查詢的時(shí)間是否超過第一閾值。
[0095]S144:當(dāng)所述的查詢模塊4的本次查詢的時(shí)間超過第一閾值時(shí),則所述的線程管理模塊2判斷是否還存在其他的正在處理的輔助線程;
[0096]S145:當(dāng)還存在其他的正在處理的輔助線程時(shí),則所述的查詢模塊4將本次查詢的輔助線程與其他的正在處理的輔助線程合并后繼續(xù)查詢;
[0097]S146:當(dāng)不存在其他的正在處理的輔助線程時(shí),則所述的查詢模塊4重新進(jìn)行查詢;
[0098]S147:當(dāng)所述的查詢模塊4的本次查詢的時(shí)間未超過第一閾值時(shí),則所述的結(jié)果輸出模塊3等待所述的查詢模塊4查詢本次用戶的輸入字符及候選詞。
[0099]其中,本發(fā)明輔助線程中的查詢在觸摸抬起后還未完成,則所述的結(jié)果輸出模塊3則需要判斷查詢時(shí)間是否超過第一閾值,即系統(tǒng)所允許的查詢過程的最大的時(shí)間,超過該第一閾值,則認(rèn)為本次查詢不成功,當(dāng)還存在其他正在運(yùn)行的輔助線程時(shí),該輔助線程查詢的內(nèi)容可以與緊隨在該輔助線程后的一正在運(yùn)行的輔助線程合并,這樣查詢模塊4可以根據(jù)兩次輸入的字符進(jìn)行查詢,以加快查詢速度。其中,可設(shè)置該第一閾值為50ms-80ms。
[0100]需要指出的是,本發(fā)明所描述的系統(tǒng)和方法可以運(yùn)用于除英語外的其他語種。本發(fā)明所描述的系統(tǒng)和方法還可以應(yīng)用于其他鍵盤等,術(shù)語“鍵盤”是廣義定義的,包括任何具有確定區(qū)域的輸入部件,包含但不局限于硬件機(jī)械式鍵盤、硬件感應(yīng)式鍵盤、觸摸屏上的軟件鍵盤等。本發(fā)明的實(shí)施例默認(rèn)以觸摸屏上的軟件鍵盤為例說明,但本領(lǐng)域的普通技術(shù)人員可以理解,本發(fā)明所提及的方法和系統(tǒng)也可以應(yīng)用于硬件鍵盤。
[0101]采用了該發(fā)明中的高效的觸摸屏文本輸入系統(tǒng)及方法,與現(xiàn)有技術(shù)相比,具有以下有益效果:
[0102]第一,請參閱圖12a和12b所示,為本發(fā)明與現(xiàn)有技術(shù)的對比圖,其中現(xiàn)有技術(shù)中觸摸按下和觸摸抬起的時(shí)間間隔一般為100ms,在觸摸抬起后再開始進(jìn)行查詢,也就是說,用戶不得不在觸摸抬起之后等待查詢過程完成才能獲得反饋,從而使得用戶體驗(yàn)受到數(shù)據(jù)庫查詢速度甚至網(wǎng)絡(luò)聯(lián)網(wǎng)速度的限制,常常產(chǎn)生卡頓或延遲。而本發(fā)明中通過開啟輔助線程,在觸摸按下后同步進(jìn)行查詢,當(dāng)觸摸抬起時(shí),查詢結(jié)果已經(jīng)得到,用戶可以即時(shí)獲得反饋。在另一種實(shí)施方式中,即使數(shù)據(jù)庫再龐大或聯(lián)網(wǎng)速度很慢,使得查詢模塊4花費(fèi)了超出正常數(shù)倍的時(shí)間進(jìn)行查詢,但由于其在用戶觸摸抬起時(shí)完成了查詢,對于用戶而言,整個(gè)輸入的體驗(yàn)仍然是極為流暢的。因此在每次點(diǎn)擊的過程中,采用本發(fā)明,使得用戶的輸入速度整整提高了 40%至50%,同時(shí)也有效地增強(qiáng)了人機(jī)交互水平。另外,值得注意的是,現(xiàn)有技術(shù)中每次點(diǎn)擊手勢的整體耗時(shí)有4.29 %在150ms以上,而采用本發(fā)明后,只有2.5 %的點(diǎn)擊手勢超過150ms,整整下降了一倍,優(yōu)化了用戶的輸入體驗(yàn)。
[0103]第二,對于內(nèi)存,現(xiàn)有技術(shù)中為了提高點(diǎn)擊速度使用了大量的cache,但是對于提高點(diǎn)擊速度并未有明顯的影響,而采用本發(fā)明的技術(shù)方案,可以減少部分cache,釋放內(nèi)存,提高系統(tǒng)的整體運(yùn)行水平。
[0104]在此說明書中,本發(fā)明已參照其特定的實(shí)施例作了描述。但是,很顯然仍可以作出各種修改和變換而不背離本發(fā)明的精神和范圍。因此,說明書和附圖應(yīng)被認(rèn)為是說明性的而非限制性的。
【主權(quán)項(xiàng)】
1.一種高效的觸摸屏文本輸入系統(tǒng),其特征在于,所述的系統(tǒng)包括: 觸點(diǎn)檢測模塊,用以檢測所述的觸摸屏上是否存在觸摸按下及觸摸抬起; 線程管理模塊,用以當(dāng)所述的觸點(diǎn)檢測模塊檢測到所述的觸摸屏上存在觸摸按下時(shí),開啟輔助線程; 查詢模塊,用以在所述輔助線程中根據(jù)所述觸點(diǎn)觸摸按下的區(qū)域,在字典庫中查詢用戶的輸入字符和/或候選詞; 結(jié)果輸出模塊,用以當(dāng)所述的觸點(diǎn)檢測模塊檢測到所述的觸摸屏上存在觸摸抬起時(shí),輸出所述的查詢模塊所查詢到的用戶的輸入字符和/或候選詞,以及當(dāng)所述的觸點(diǎn)檢測模塊未檢測到所述的觸摸屏上存在觸摸抬起時(shí),放棄所述的查詢模塊所查詢到的結(jié)果。2.根據(jù)權(quán)利要求1所述的高效的觸摸屏文本輸入系統(tǒng),其特征在于,當(dāng)所述觸點(diǎn)檢測模塊檢測到存在觸摸抬起時(shí),所述觸點(diǎn)檢測模塊進(jìn)一步判斷該觸摸按下與對應(yīng)該觸摸按下的觸摸抬起是否構(gòu)成一次點(diǎn)擊。3.根據(jù)權(quán)利要求2所述的高效的觸摸屏文本輸入系統(tǒng),其特征在于,所述觸點(diǎn)檢測模塊進(jìn)一步檢測所述觸摸按下與觸摸抬起的位置是否發(fā)生變化,或檢測觸摸按下與觸摸抬起之間的時(shí)間間隔是否超過預(yù)定時(shí)間間隔。4.根據(jù)權(quán)利要求1所述的高效的觸摸屏文本輸入系統(tǒng),其特征在于,根據(jù)包含多個(gè)子庫或支路的字典庫,所述線程管理模塊對于同一個(gè)觸摸按下,開啟多條輔助線程同時(shí)進(jìn)行查詢。5.根據(jù)權(quán)利要求1所述的高效的觸摸屏文本輸入系統(tǒng),其特征在于,當(dāng)存在多個(gè)輔助線程一起工作,并且其中一個(gè)輔助線程中所述查詢模塊進(jìn)行查詢的查詢時(shí)間超過第一閾值時(shí),所述線程管理模塊將該線程與在該線程之后開啟的一個(gè)線程進(jìn)行合并。6.根據(jù)權(quán)利要求1所述的高效的觸摸屏文本輸入系統(tǒng),其特征在于,當(dāng)所述觸點(diǎn)檢測模塊依次檢測到第一次觸摸按下、第二次觸摸按下、第二次觸摸抬起之后,仍未檢測到對應(yīng)所述第一次觸摸按下的觸摸抬起,則模擬對應(yīng)于第一次觸摸按下的觸摸抬起的信號(hào),并發(fā)送至對應(yīng)的輔助線程。7.根據(jù)權(quán)利要求1所述的高效的觸摸屏文本輸入系統(tǒng),其特征在于,所述的系統(tǒng)還包括UI控制模塊,用以當(dāng)所述的觸點(diǎn)檢測模塊檢測到所述的觸摸屏上存在觸摸按下時(shí),控制觸點(diǎn)觸摸按下的區(qū)域的狀態(tài)改變,以及當(dāng)所述的觸點(diǎn)檢測模塊檢測到所述的觸摸屏上存在觸摸抬起時(shí),控制觸點(diǎn)觸摸按下的區(qū)域恢復(fù)原始狀態(tài)。8.根據(jù)權(quán)利要求1所述的高效的觸摸屏文本輸入系統(tǒng),其特征在于,所述字典庫進(jìn)一步部署在云端,所述的系統(tǒng)還包括通信模塊,所述的查詢模塊用以通過所述的通信模塊對云端的字典庫進(jìn)行查詢。9.一種高效的觸摸屏文本輸入方法,其特征在于,所述的方法包括主線程處理過程及輔助線程處理過程: 所述的主線程處理過程包括: 檢測觸摸屏上是否存在觸摸按下; 當(dāng)存在所述觸摸按下時(shí),則開啟至少一條與所述觸摸按下對應(yīng)的輔助線程; 檢測所述的觸摸屏上是否存在觸摸抬起; 當(dāng)存在所述觸摸抬起時(shí),則從所述輔助線程獲得根據(jù)本次輸入進(jìn)行查詢的字符和/或候選詞,并輸出該查詢結(jié)果;當(dāng)不存在觸摸抬起時(shí),則放棄本次所述的輔助線程中的查詢結(jié)果; 所述的輔助線程處理過程包括: 根據(jù)所述的觸點(diǎn)觸摸按下的區(qū)域,在字典庫中查詢對應(yīng)的輸入字符和/或候選詞,并且當(dāng)存在所述觸摸抬起時(shí),發(fā)送所查詢到的結(jié)果至主線程處理過程。10.根據(jù)權(quán)利要求9所述的高效的觸摸屏文本輸入方法,其特征在于,所述檢測是否存在觸摸抬起進(jìn)一步包括:當(dāng)存在觸摸抬起時(shí),判斷所述的觸摸按下與該觸摸抬起是否組成一次點(diǎn)擊。11.根據(jù)權(quán)利要求10所述的高效的觸摸屏文本輸入方法,其特征在于,所述判斷觸摸按下與觸摸抬起是否組成一次點(diǎn)擊包括:檢測所述觸摸按下與觸摸抬起的位置是否發(fā)生變化,或檢測觸摸按下與觸摸抬起之間的時(shí)間間隔是否超過預(yù)定時(shí)間間隔。12.根據(jù)權(quán)利要求9所述的高效的觸摸屏文本輸入方法,其特征在于,根據(jù)同一個(gè)觸摸按下的區(qū)域,開啟多條輔助線程同時(shí)進(jìn)行查詢。13.根據(jù)權(quán)利要求9所述的高效的觸摸屏文本輸入方法,其特征在于,當(dāng)尚未查詢到與本次觸摸按下對應(yīng)的字符和/或候選詞時(shí),判斷本次查詢的時(shí)間是否超過第一閾值,若超過且存在其他的正在處理的輔助線程,則將本次查詢的輔助線程與其他的正在處理的輔助線程合并后繼續(xù)查詢;當(dāng)不存在其他的正在處理的輔助線程時(shí),則重新進(jìn)行查詢。14.根據(jù)權(quán)利要求9所述的高效的觸摸屏文本輸入方法,其特征在于,還包括:當(dāng)所述的觸摸屏上存在觸摸按下時(shí),改變所述的觸點(diǎn)觸摸按下的區(qū)域的狀態(tài);以及當(dāng)存在觸摸抬起時(shí),將狀態(tài)發(fā)生改變的觸點(diǎn)觸摸按下區(qū)域恢復(fù)原始狀態(tài)。15.根據(jù)權(quán)利要求9所述的高效的觸摸屏文本輸入方法,其特征在于,所述輔助線程進(jìn)一步包括對部署在云端的字典庫進(jìn)行查詢。
【文檔編號(hào)】G06F17/30GK105988704SQ201510095074
【公開日】2016年10月5日
【申請日】2015年3月3日
【發(fā)明人】甘露
【申請人】上海觸樂信息科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1