用于向電子設(shè)備輸入文本的方法及鍵盤系統(tǒng)本申請為申請日是2008年4月18日、申請?zhí)柺?00810036302.9、發(fā)明名稱是“一種可實現(xiàn)靈活鍵盤布局的系統(tǒng)”的發(fā)明專利申請的分案申請。技術(shù)領(lǐng)域本發(fā)明涉及電子設(shè)備領(lǐng)域,特別涉及電子設(shè)備信息輸入技術(shù)領(lǐng)域,具體是指一種用戶向電子設(shè)備輸入文本的可實現(xiàn)靈活鍵盤布局的系統(tǒng)。
背景技術(shù):現(xiàn)代生活中,隨著集成電路技術(shù)的不斷發(fā)展,已經(jīng)出現(xiàn)了各種各樣的電子設(shè)備,在這些眾多的電子設(shè)備(如掌上電腦、智能手機、嵌入式系統(tǒng)、袖珍型電腦等)上,由于受到體積,制造成本等因素的制約,無法配備全尺寸的硬件鍵盤,因而在這類設(shè)備上進(jìn)行輸入通常是充滿挑戰(zhàn)的。傳統(tǒng)的手機或便攜式設(shè)備鍵盤采用復(fù)合多個字符的按鍵,通過配套的軟件和自帶的詞典文件,根據(jù)用戶的輸入按鍵序列預(yù)測出用戶想輸入的單詞。一種常見的輸入方法是對擊鍵序列構(gòu)造索引樹,一個特定的擊鍵序列可以固定地對應(yīng)為多個單詞。當(dāng)用戶按鍵時,根據(jù)擊鍵序列查找索引樹,找到對應(yīng)的多個候選詞并顯示在屏幕上供用戶選擇。這種方法在詞典結(jié)構(gòu)上與鍵盤的布局密切相關(guān),每當(dāng)鍵盤布局改變就需要重新構(gòu)造詞典結(jié)構(gòu)甚至重新設(shè)計軟件。尤其對于觸摸屏上的軟件鍵盤而言,這種方法靈活性較差,主要缺點有三個:第一,無法靈活改變鍵盤布局。如果字母的布局發(fā)生改變,例如從QWERTY標(biāo)準(zhǔn)電腦鍵盤布局(美、亞洲國家常用),切換到AZERTY鍵盤布局(歐洲國家常用)時,就需要徹底改寫軟件及詞典文件;第二,無法智能糾錯。如果用戶按錯了一個或多個按鍵,就無法顯示出糾正后的單詞;第三,無法方便地輸入詞典中沒有的單詞,例如一些人名,地名,Email地址,專用名詞,等等。同時,由于縮小的鍵盤尺寸,用戶很容易按錯鍵,尤其是按到鄰近的鍵上。因此在軟件上實現(xiàn)自動糾錯的功能是很有用的。一種常見的自動糾錯方法是利用查找常見錯誤列表來實現(xiàn)自動糾錯功能。例如,用戶經(jīng)常將“can”錯誤拼成“csn”,因為在QWERTY布局的鍵盤上,字母“a”和“s”在相鄰的位置上,很容易按錯。這種方法通過查閱一個預(yù)定義的常見錯誤列表,其中包括錯誤按鍵序列和正確單詞,例如“csn”->“can”,以此將錯誤按鍵序列修改為正確單詞。但這種方法的局限性是顯而易見的:它只能判斷有限的已知錯誤類型,對于更一般的鄰近按鍵錯誤無法有效識別,而且容易誤判。另一種自動糾錯方法是通過判斷屏幕觸點的位置,計算出其到各個鍵之間的距離,并以此計算擊鍵序列與各個可能的單詞之間的加權(quán)距離,最后選取加權(quán)距離最小的、在詞典中的單詞。這種方法在理論上可行,但在實際中過于復(fù)雜,由于一般便攜式設(shè)備上的計算能力有限,很難實現(xiàn)。
技術(shù)實現(xiàn)要素:本發(fā)明的目的是克服上述現(xiàn)有技術(shù)中的缺點,提供一種可以靈活改變鍵盤布局并具有智能糾錯功能的系統(tǒng)。相比傳統(tǒng)方法,本發(fā)明的優(yōu)勢體現(xiàn)在以下幾個方面:第一,本發(fā)明系統(tǒng)可以靈活采用各種鍵盤布局。對于設(shè)備廠商而言,針對每一種新語言或輸入方法都需要花費大量人力物力改造原有軟件和輸入系統(tǒng),或采購新的軟件。而采用本系統(tǒng)之后,只需簡單地定義新的鍵盤布局,無需改變配套軟件。這為多國語言版本的本地化提供了更快更便捷的方案。同時,對于用戶而言,可以根據(jù)自身使用習(xí)慣自定義鍵盤布局,更加靈活實用。第二,本發(fā)明系統(tǒng)可以實現(xiàn)一種更有效、更實用的糾錯方法,解決用戶在縮小的鍵盤上經(jīng)常按錯鍵的問題。相對與傳統(tǒng)的兩種糾錯方法,本發(fā)明系統(tǒng)可以在普通便攜式設(shè)備的實際計算能力下,快速全面地糾錯,并可以讓用戶設(shè)置糾錯范圍,是一種真正實用的糾錯方法。第三,本發(fā)明系統(tǒng)可以根據(jù)文本的上下文環(huán)境,結(jié)合語法分析,判斷出最適合當(dāng)前語境的候選詞,提高候選詞的正確率。根據(jù)本發(fā)明的一個方面,提供了一種用于向電子設(shè)備輸入文本的可實現(xiàn)靈活鍵盤布局的系統(tǒng),包括用于檢測用戶的輸入的輸入模塊;連接至所述輸入模塊的布局映射模塊,所述布局映射模塊根據(jù)當(dāng)前的鍵盤布局,將用戶的至少一次輸入映射成相應(yīng)的至少一個字符集合;用于存儲候選單詞的詞典模塊;連接至所述詞典模塊和所述布局映射模塊的候選詞模塊,所述候選詞模塊根據(jù)所述相應(yīng)的多個字符集合生成輸入序列,并根據(jù)輸入序列查找出可能的候選詞并將其排序;以及連接至所述候選詞模塊并輸出所述候選詞的輸出模塊。根據(jù)本發(fā)明的另一個方面,提供了一種用于向電子設(shè)備輸入文本的可實現(xiàn)靈活鍵盤布局的方法,包括等待用戶輸入信號的第1步驟;將用戶輸入信號根據(jù)當(dāng)前鍵盤布局轉(zhuǎn)換為一個字符集合,所述字符集合包含所述用戶輸入的可能對應(yīng)的字符的第2步驟;將所述字符集合加入當(dāng)前輸入序列的第3步驟;根據(jù)所述當(dāng)前輸入序列,生成候選詞并按優(yōu)先級排序的第4步驟;顯示所述候選詞的第5步驟。根據(jù)本發(fā)明的另一個方面,一種快速切換鍵盤布局的方法,包括在帶觸感的顯示設(shè)備上顯示一個鍵盤布局的第1步驟;等待用戶觸點在觸摸屏上移動的動作的第2步驟;將原先的鍵盤布局沿觸點移動方向移出屏幕的第3步驟;將新的鍵盤布局沿觸點移動方向移入屏幕的第4步驟。根據(jù)本發(fā)明的另一個方面,一種動態(tài)改變鍵盤布局的方法,包括在帶觸感的顯示設(shè)備上顯示多個按鍵的第1步驟;檢測用戶在一個按鍵上按下后移動觸點動作的第2步驟;檢測用戶放開觸點的位置的第3步驟;調(diào)整鍵盤布局,將所述的按鍵調(diào)整至所述放開觸點位置所對應(yīng)的位置,并顯示更新的鍵盤布局的第4步驟。附圖說明附圖1A-1E是舉例說明根據(jù)本發(fā)明實施例的各種不同鍵盤布局的示意圖;附圖2A是舉例說明根據(jù)本發(fā)明實施例的一種候選詞及其相關(guān)詞的示意圖;附圖2B是舉例說明根據(jù)本發(fā)明實施例的一種由上下文判斷候選詞的示意圖;附圖2C-2D是舉例說明根據(jù)本發(fā)明實施例的一種根據(jù)前文預(yù)測下一單詞的示意圖;附圖3是舉例說明根據(jù)本發(fā)明實施例的一種硬件方塊圖;附圖4是舉例說明根據(jù)本發(fā)明實施例的一種系統(tǒng)模塊結(jié)構(gòu)圖;附圖5是舉例說明根據(jù)本發(fā)明實施例的一種用戶完成一次輸入的流程圖;附圖6是舉例說明根據(jù)本發(fā)明實施例的一種布局模塊中每個鍵所包含的信息的示意圖;附圖7是舉例說明根據(jù)本發(fā)明實施例的一種將一個鍵展開進(jìn)行精確輸入的示意圖;附圖8是舉例說明根據(jù)本發(fā)明實施例的一種實現(xiàn)快速查找候選詞的詞典結(jié)構(gòu)示意圖;附圖9是舉例說明根據(jù)本發(fā)明實施例的一種生成候選詞的流程圖;附圖10是舉例說明根據(jù)本發(fā)明實施例的用于向電子設(shè)備輸入文本的可實現(xiàn)靈活鍵盤布局的方法的一般流程圖;附圖11A-11C是舉例說明根據(jù)本發(fā)明實施例的一種快速切換鍵盤布局過程的示意圖;附圖12是舉例說明根據(jù)本發(fā)明實施例的實現(xiàn)快速切換鍵盤布局的一般流程圖;附圖13A-13B是舉例說明根據(jù)本發(fā)明實施例的一種動態(tài)改變鍵盤布局過程的示意圖;附圖14是舉例說明根據(jù)本發(fā)明實施例的動態(tài)改變鍵盤布局的一般流程圖;具體實施方式在詳細(xì)說明根據(jù)本發(fā)明的實施例前,應(yīng)該注意到的是,所述實施例主要在于與向電子設(shè)備中輸入文本有關(guān)的方法步驟和設(shè)備組件的組合。因此,所屬設(shè)備組件和方法步驟已經(jīng)在附圖中通過常規(guī)符號在適當(dāng)?shù)奈恢帽硎境鰜砹?,并且只示出了與理解本發(fā)明的實施例有關(guān)的細(xì)節(jié),以免因?qū)τ诘靡嬗诒景l(fā)明的本領(lǐng)域普通技術(shù)人員而言顯而易見的那些細(xì)節(jié)而模糊了本公開內(nèi)容。在本文中,諸如左和右,上和下,前和后,第一和第二之類的關(guān)系術(shù)語僅僅用來區(qū)分一個實體或動作與另一個實體或動作,而不一定要求或暗示這種實體或動作之間的任何實際的這種關(guān)系或順序。術(shù)語“包括”、“包含”或任何其他變體旨在涵蓋非排他性的包含,由此使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包含這些要素,而且還包含沒有明確列出的其他要素,或者為這種過程、方法、物品或者設(shè)備所固有的要素。出于本公開的目的,術(shù)語“鍵盤”是廣義定義的,包括任何具有確定區(qū)域的輸入部件,包含但不局限于硬件機械式鍵盤、硬件感應(yīng)式鍵盤、觸摸屏上的軟件鍵盤等。本發(fā)明的實施例默認(rèn)以觸摸屏上的軟件鍵盤為例說明,但本領(lǐng)域的普通技術(shù)人員可以理解,本發(fā)明所提及的方法和系統(tǒng)也可以應(yīng)用于硬件鍵盤。1.基本功能及操作圖1A描述了本發(fā)明所涉及的一個可實現(xiàn)靈活鍵盤布局的鍵盤系統(tǒng)100及其載體便攜式設(shè)備101。用戶在鍵盤110上按鍵后,其輸入內(nèi)容顯示在文本區(qū)域102中。鍵盤110為QWERTY布局,包含了26個英文字母,數(shù)字、符號和空格鍵,且每個按鍵可代表三個字符。圖1B描述了另一種布局的鍵盤120,為單鍵QWERTY布局,每個按鍵代表一個字符,兩個鍵之間可有數(shù)字和符號。圖1C描述了另一種布局的鍵盤130,為AZERTY布局,每個按鍵可代表三個字符。圖1D描述了另一種布局的鍵盤140,為9鍵布局,每個按鍵可代表三至四個字母和一個數(shù)字,在手機鍵盤上廣泛應(yīng)用。圖1E描述了一種用戶自定義布局的鍵盤150,每個按鍵可代表三個字符,字符的內(nèi)容和順序由用戶根據(jù)使用習(xí)慣定制。出于本公開的目的,為了避免附圖標(biāo)識過于復(fù)雜,下文中將用各個鍵盤布局中每個鍵的第一行中央字符標(biāo)識每個鍵。例如,用鍵“qw”標(biāo)識圖1A中鍵盤最左上角的按鍵111;用鍵“p”標(biāo)識圖1B中鍵盤最右上角的按鍵121;用鍵“wx”標(biāo)識圖1C中鍵盤最左下角的按鍵;用鍵“wxyz”標(biāo)識圖1D中鍵盤最右下角的按鍵141。當(dāng)在同一個圖中出現(xiàn)據(jù)此方法定義的重復(fù)的標(biāo)識時,則使用序號標(biāo)識區(qū)分,以確保該標(biāo)識方法的唯一性。需要指出的是,本發(fā)明所描述的方法也可以運用于除英語外的其他語種,其他的鍵盤布局,且字母、數(shù)字、符號的具體內(nèi)容和位置也都可任意改變?;氐綀D1A,當(dāng)用戶點擊鍵盤輸入?yún)^(qū)域上的鍵產(chǎn)生擊鍵序列時,系統(tǒng)將候選的單詞顯示在候選區(qū)域103中,同時可在文本區(qū)域中顯示默認(rèn)的候選詞。當(dāng)用戶點擊候選詞,或按下確認(rèn)鍵(例如空格鍵或某些標(biāo)點符號時)時,所選取的單詞就會輸入至文本區(qū)域102中。例如,在圖1A中,當(dāng)用戶順序按下鍵“ty”,鍵“ui”,鍵“er”時,系統(tǒng)找到詞典中對應(yīng)此鍵序列的所有單詞,并將其排序顯示在候選區(qū)域103中。由于單詞“tie”,“turn”,“tired”,“yield”具有最高詞頻,故顯示在候選詞列表的第一頁。其中“tie”同時作為默認(rèn)的候選詞也顯示在文本區(qū)域內(nèi),并以特殊格式(如下劃線)以示其為尚未確認(rèn)的文本。當(dāng)用戶按下空格鍵時,該候選詞就被確認(rèn)并輸入至文本中。由于用戶在按鍵時并不明確指定每個按鍵所代表的具體字符,而是由詞典匹配候選詞,因此稱為“模糊輸入”。依照本發(fā)明的某些實施例,用戶還可以進(jìn)行精確輸入。例如,參考圖1A,在觸摸屏的鍵盤110上,用戶可在鍵“ty”上按下并左移后放開,精確輸入字母“t”;在鍵“ui”上按下并右移放開,精確輸入字母“i”;在鍵“er”上按下并右移放開,精確輸入字母“r”。此時系統(tǒng)找到的是所有“tir”開頭的單詞:“tired”,“tiring”,“tire”,“tirade”。依照本發(fā)明的某些實施例,用戶可以通過向下滑動觸點輸入鍵下方的符號或數(shù)字。例如,參考圖1A,用戶可以在鍵“gh”上向下移動觸點,則輸入數(shù)字“3”。這樣用戶就無需切換到專用的數(shù)字模式或符號模式。又例如,參考圖1B,用戶可以在鍵“q”或鍵“s”或其中間區(qū)域向下滑動觸點,輸入兩者之間的符號“;”。依照本發(fā)明的某些實施例,符號和數(shù)字也可以成為單詞中的一部分。例如“I’m”,“I’ll”,“l(fā)et’s”,“C++”,“part-time”等。用戶可以在同一個鍵盤模式上方便地模糊輸入符號或數(shù)字,而不需要切換到另外的符號模式。例如,參考圖1A,在鍵盤110上,單引號“’”在鍵“ui”上,用戶只需順序按下鍵“ui”,鍵“ui”,鍵“m/”,系統(tǒng)便能找到單詞“I’m”并將其顯示在候選區(qū)域中。依照本發(fā)明的某些實施例,當(dāng)用戶想要改變鍵盤布局,例如從圖1A的QWERTY布局改為圖1D的9鍵布局時,只需要通過一個預(yù)定義的動作,即可實現(xiàn)快速切換。例如,在觸摸屏的鍵盤上,用戶可以用手指快速地從鍵盤區(qū)域的左端滑動到右端,則QWERTY布局向右移動并移出屏幕的右端,而9鍵布局從屏幕的左端滑入,產(chǎn)生連貫的動態(tài)效果。同樣的,用戶也可以切換到圖1B所示的單鍵QWERTY布局,或圖1C所示的AZERTY布局,或圖1E所示的用戶自定義布局。切換布局的方式可以有很多種:可以檢測用戶的手勢,可以使用一個特定的按鍵,也可以通過聲音控制。在這種切換過程中,由于系統(tǒng)的布局與詞典搜索功能相互獨立,所以可以使用相同的詞典文件和軟件。由于在較小的鍵盤區(qū)域上,用戶在輸入時經(jīng)常會按到相鄰的鍵位上,依照本發(fā)明的一種優(yōu)選實施例,可以根據(jù)詞典自動糾正這種錯誤。例如,在圖1B中,當(dāng)用戶想按鍵“t”時,很可能錯誤地按到了鍵“f”上。系統(tǒng)會搜索鍵“f”周圍的字母“r”,“g”,“d”,“v”并根據(jù)用戶之前的輸入判斷出可能的正確單詞。在本發(fā)明的實施例中,即使用戶所有輸入的字母都是錯誤的,系統(tǒng)也可能找出正確的單詞。例如,用戶輸入了“v”,“i”,“p”,“l(fā)”,系統(tǒng)可以提示用戶候選詞“book”,因為“v”,“i”,“p”,“l(fā)”分別為“b”,“o”,“o”,“k”的鄰近字母。值得一提的是,當(dāng)字母位置相隔較大時,需要擴大糾錯的范圍(如相隔兩個鍵的糾錯)。但擴大糾錯范圍的副作用是候選詞數(shù)量會增加。為了解決這一矛盾,本發(fā)明的一個優(yōu)選實施例是糾錯范圍可以根據(jù)用戶偏好進(jìn)行調(diào)節(jié)。用戶可以設(shè)置在所按字母多大的范圍內(nèi)進(jìn)行糾錯,例如在所有相鄰的字母中糾錯,或只在左右相鄰的字母中糾錯,或只在上下相鄰的字母中糾錯,或相隔兩個字母(如“t”和“u”)之間糾錯,或者不糾錯。依照本發(fā)明的某些實施例,可以快速地選擇候選詞的相關(guān)詞。例如,參考圖2A,當(dāng)候選區(qū)域出現(xiàn)候選詞211“compare”時,用戶在“compare”上向下滑動觸點,則鍵盤區(qū)域出現(xiàn)“compare”所對應(yīng)的相關(guān)詞,“comparing”,“compared”,“compares”,和“comparison”。用戶點擊其中的一個相關(guān)詞即可將其輸入至文本區(qū)域。在很多語言中,這種相關(guān)詞是很常見的。例如在英語中的動詞有很多不同時態(tài),名詞有復(fù)數(shù)形式,一個詞可以有多種詞性等等。本發(fā)明的實施例可以將這些詞關(guān)聯(lián)起來,因而當(dāng)用戶可以快速地從一個候選詞中延伸至其他相關(guān)詞。依照本發(fā)明的某些實施例,可根據(jù)文本的上下文關(guān)聯(lián)候選詞并提供短語預(yù)測。例如,參考圖2B,用戶之前輸入了“I”后需要輸入“am”,但在輸入“m”時卻按在了鄰近的鍵“bn”上。此時,系統(tǒng)可根據(jù)上下文關(guān)聯(lián)規(guī)則,判斷出“Iam”是常用短語,因此調(diào)整候選詞221“am”比原先的候選詞“an”優(yōu)先級更高。在很多語言中,這種短語、特定搭配、習(xí)慣語法的現(xiàn)象很常見,因此一個單詞的出現(xiàn)概率不僅取決于該單詞的詞頻,更取決與該單詞與上下文之間搭配的概率。在此例中,盡管“an”是一個比“am”詞頻更高的單詞,但在I之后跟的幾乎總是“am”,而非“an”。因此根據(jù)上下文選擇合適的單詞可以大大提高選詞的有效性,進(jìn)而提高輸入效率。又例如,參考圖2C,用戶輸入了單詞231“l(fā)ook”之后,候選詞列表中自動預(yù)測到與“l(fā)ook”形成短語搭配的候選詞“forwardto”,“at”,“into”,“for”,供用戶選擇。依照本發(fā)明的某些實施例,可以在相關(guān)詞的基礎(chǔ)上提供上下文關(guān)聯(lián)和詞組聯(lián)想。例如,參考圖2D,當(dāng)用戶輸入了“l(fā)ook”的相關(guān)詞“l(fā)ooking”時,候選詞區(qū)域仍能預(yù)測出“l(fā)ook”對應(yīng)的短語搭配“forwardto”、“at”、“into”、“for”等。2.系統(tǒng)結(jié)構(gòu)及原理圖3描述了適用本發(fā)明的一種便攜設(shè)備300的概要框圖。輸入裝置301、顯示裝置302和存儲裝置303通過電子線路與處理器304相連。輸入裝置301可以是鍵盤或觸摸板;顯示裝置302可以是液晶屏;存儲裝置303可以是任何記憶介質(zhì),例如隨機訪問內(nèi)存(RAM),只讀內(nèi)存(ROM),閃存(Flash),硬盤等;處理器304可以是CPU或?qū)S眉呻娐沸酒:芏嗲闆r下,輸入裝置301也可能與顯示裝置302合成,如觸摸屏。存儲裝置303可保存所有的軟件,包含操作系統(tǒng)311和本發(fā)明涉及的鍵盤軟件310等,可選地,存儲裝置也可以包括其他應(yīng)用程序312,如文本編輯器等。本發(fā)明的鍵盤系統(tǒng)是由鍵盤軟件310所管理的。圖4描述了該鍵盤軟件的一種優(yōu)選系統(tǒng)結(jié)構(gòu)400。該系統(tǒng)主要由輸入模塊401、布局映射模塊402、設(shè)置模塊403、候選詞模塊404、詞典模塊405及輸出模塊406組成。輸入模塊401負(fù)責(zé)檢測用戶的輸入,例如用戶的按鍵、在觸摸屏上的觸點動作等,并輸出至布局映射模塊402。布局映射模塊根據(jù)當(dāng)前的鍵盤布局,將用戶輸入映射成本次輸入所對應(yīng)的字符集合,并輸出至候選詞模塊404。詞典模塊405負(fù)責(zé)為候選詞模塊404提供詞典中的單詞。候選詞模塊404負(fù)責(zé)將歷次的字符集合生成輸入序列,并根據(jù)輸入序列查找出可能的候選詞并將其排序。輸出模塊406負(fù)責(zé)將候選詞以一定方式輸出至設(shè)備,供用戶選擇。設(shè)置模塊403存儲了用戶和系統(tǒng)設(shè)定,例如是否啟用糾錯、是否檢測上下文等,供布局映射模塊402與候選詞模塊404使用。圖5描述了鍵盤軟件主程序在完成用戶輸入選詞時的主要流程500,具備以下步驟:等待用戶輸入(步驟501);判斷是否確認(rèn)操作(步驟502);若是,在文本區(qū)域中輸入確認(rèn)的詞,并清空輸入序列(步驟503);若否,在布局映射模塊402中生成本次輸入對應(yīng)的字符集合(步驟504);將本次輸入的字符集合與之前輸入的字符集合構(gòu)成輸入序列(步驟505);在候選此模塊中生成候選詞列表,并進(jìn)行優(yōu)先級排序(步驟506);輸出更新的候選詞列表(步驟507)。對于步驟502,輸入模塊401判斷本次輸入是否確認(rèn)操作。確認(rèn)操作可以是按空格鍵或確認(rèn)健(選定默認(rèn)候選詞),或是直接點擊候選詞,或是通過方向鍵選中候選詞后按空格鍵或確認(rèn)健,或是輸入標(biāo)點符號自動選定默認(rèn)候選詞,或是其他任意事先指定的操作。對于步驟504,布局映射模塊402可根據(jù)當(dāng)前的鍵盤布局,將本次輸入映射為對應(yīng)的字符集合。該字符集合中包含可能對應(yīng)于本次輸入的所有字符。例如,當(dāng)用戶在圖1A所示的QWERTY鍵盤布局中按下鍵“qw”時,字符集合包含該鍵上的模糊輸入字符“q”、“w”。而當(dāng)設(shè)置啟用糾錯時,字符集合中還可包含鄰近鍵上的字符,如“a”、“s”、“e”。對于步驟505,候選詞模塊404可將本次輸入的字符集合加入到輸入序列中。例如,在圖1A所示的QWERTY鍵盤布局中,當(dāng)用戶先后按下鍵“ty”、鍵“ui”和鍵“er”后,輸入序列包含三次輸入的字符集合:{“t”,“y”},{“u”,“i”},{“e”,“r”}。隨后,候選詞模塊404可根據(jù)各種可能的組合,在詞典模塊405中搜索出可能的候選詞,例如“tie”,“turn”等。最后,可根據(jù)優(yōu)選順序?qū)⒑蜻x詞排序。在某些優(yōu)選實施例中,,可指定優(yōu)先級最高的候選詞為默認(rèn)候選詞,即當(dāng)用戶輸入空格或其他符號時,自動確認(rèn)默認(rèn)候選詞為輸入到文本區(qū)域的單詞。對于步驟506,輸出模塊406可將更新后的候選詞列表顯示在屏幕上,供用戶選擇。在某些實施例中,可以將默認(rèn)候選詞顯示在文本區(qū)域內(nèi),并以一種特殊格式高亮標(biāo)記出來?;氐綀D4,下面詳細(xì)描述本實施例中每個模塊的實現(xiàn)方法。輸入模塊401檢測用戶的按鍵動作,并將每一次按鍵的相關(guān)數(shù)據(jù)記錄并輸出。一次按鍵的相關(guān)數(shù)據(jù)可以包含但不限于:·用戶按下觸點的起點位置·用戶放開觸點的終點位置·用戶移動觸點的軌跡·用戶保持觸點的停留時間例如,在圖1A中,當(dāng)用戶按下鍵“qw”并右移后放開時,輸入模塊401的輸出可包含用戶按下該鍵的起點坐標(biāo)以及放開該鍵的終點坐標(biāo)?;氐綀D4,設(shè)置模塊403包含與系統(tǒng)運行相關(guān)的各種設(shè)置信息,包括用戶使用偏好、系統(tǒng)工作模式等。例如,用戶可以關(guān)閉糾錯。那么所有按到相鄰按鍵的錯誤就不會被糾正;又如,用戶可以選擇糾錯的級別:只糾正上下相鄰按鍵的錯誤、只糾正左右相鄰按鍵的錯誤、糾正周邊相鄰按鍵的錯誤、或糾正相鄰兩層按鍵的錯誤(如在圖1B所示的單鍵QWERTY布局上按“g”可以糾正到“d”,“f”,“h”,“j”)。設(shè)置模塊403是可選的?;氐綀D4,布局映射模塊402具有三個主要功能。布局映射模塊402的第一功能是定義并存儲有不同鍵盤的各種布局參數(shù),例如鍵盤上有哪些字符,哪幾個字符復(fù)合在一個鍵上,如何精確選擇鍵上的字符等等。例如,在圖1A中,字母“q”、“w”,和符號“;”復(fù)用一個鍵“qw”。圖6則描述了一種在內(nèi)存中描述鍵“qw”的數(shù)據(jù)結(jié)構(gòu),其中可包含(但不限于)以下字段:·該鍵在鍵盤布局區(qū)域上的位置和大小·該鍵上所顯示的字符及其相應(yīng)位置區(qū)域:“q”,“w”,“;”·用戶不同的動作所對應(yīng)輸入的字符組:o點擊后直接放開:模糊輸入“q”,“w”,“;”o上移:模糊輸入“q”,“w”的大寫形式(“Q”,“W”)o左移:精確輸入“q”o右移:精確輸入“w”o左上移:精確輸入“Q”o右上移:精確輸入“W”o下移精確輸入“;”精確輸入的方式可以有很多種。一種優(yōu)選的方式是根據(jù)用戶的觸點移動來判斷精確輸入的字符;另一種優(yōu)選的方式是長按某個鍵后將該鍵上的多個字符展開供用戶選擇。例如,在圖1A中,當(dāng)用戶長按鍵“as”超過一個預(yù)設(shè)時間后,該鍵盤就展現(xiàn)為圖7所示的精確輸入模式,顯示出所有該鍵所代表的字符組701,供用戶選擇。選完后返回圖1A的初始模式。在西歐語言中,這種方式可以用來選擇重音字符,例如等。值得注意的是,該數(shù)據(jù)結(jié)構(gòu)的各個字段可以根據(jù)需要進(jìn)行刪減修改,而不影響本發(fā)明的實質(zhì)。例如,可以增加一個字段,描述按鍵后在鍵的上方是否顯示放大的圖片,用來提示用戶當(dāng)前的輸入;又如,當(dāng)鍵的位置或大小固定時,可以省略該鍵在鍵盤區(qū)域上的位置大小信息字段。同時,用戶的不同觸摸動作定義也可以是擴展的。例如可以增加定義“用戶長按該鍵超過X秒”的對應(yīng)輸入,其中X可以是一個可配置的值;又如,可以增加定義“用戶雙擊該鍵”的對應(yīng)輸入。由此可見,不同的按鍵動作可以對應(yīng)于不同的字符集合。布局映射模塊402的第二功能是存儲可能用到的所有鍵盤布局并根據(jù)需要切換。在某一時刻,有且僅有一個是當(dāng)前激活的鍵盤布局。這就是用戶在鍵盤輸入?yún)^(qū)域可以看到的當(dāng)前鍵盤布局。在本發(fā)明的優(yōu)選實施例中,用戶可以利用在觸摸屏上的手勢切換當(dāng)前鍵盤布局,也可以利用硬件鍵盤上某個特定的按鍵切換當(dāng)前鍵盤布局。布局映射模塊402的第三功能是根據(jù)當(dāng)前的鍵盤布局,將用戶的原始輸入映射為本次輸入可能對應(yīng)的字符集合。一種優(yōu)選的字符集合的數(shù)據(jù)結(jié)構(gòu)可包含模糊輸入字符組,精確輸入字符,及糾錯字符組。例如在圖1A所示的QWERTY布局上,當(dāng)用戶按下鍵“qw”并直接放開后,該模塊先從輸入模塊401中獲取了觸點的坐標(biāo),根據(jù)當(dāng)前布局可判斷出按鍵在鍵“qw”上。由于動作是點擊后直接放開,根據(jù)鍵“qw”的布局?jǐn)?shù)據(jù)可得其對應(yīng)的模糊輸入字符組為(“q”,“w”,“1”,“;”)。從設(shè)置模塊403中讀取當(dāng)前糾錯設(shè)置為垂直糾錯,于是從當(dāng)前布局中獲得下方的字符“a”和“s”作為糾錯字符。最終本次按鍵中,布局映射模塊402的輸出字符集合為:模糊輸入字符組(“q”,“w”,“1”,“;”),精確輸入字符(空),糾錯輸入字符組(“a”,“s”)。又例如,在圖1D所示的9鍵布局中,鍵“jkl”對應(yīng)的布局信息如下:·該鍵在鍵盤布局區(qū)域上的位置和大小·該鍵上所顯示的字符及其相應(yīng)位置區(qū)域:“j”,“k”,“l(fā)”,數(shù)字“5”,句號“.”·用戶不同的動作所對應(yīng)輸入的字符:o點擊后直接放開:模糊輸入“j”,“k”,“l(fā)”,“5”o長按:進(jìn)入SHIFT模式(如同電腦鍵盤上按住SHIFT鍵)o左移:在普通模式下,精確輸入“j”;在SHIFT模式下,精確輸入“J”o右移:在普通模式下,精確輸入“l(fā)”;在SHIFT模式下,精確輸入“L”o上移:在普通模式下,精確輸入“k”;在SHIFT模式下,精確輸入“K”o下移:在普通模式下,精確輸入句號“.”;在SHIFT模式下,精確輸入“5”當(dāng)用戶在鍵“jkl”上直接點擊后放開時,布局映射模塊402得到鍵jkl的上述布局信息。由于本次動作為點擊后直接放開,因此模糊輸入字符組為(“j”,“k”,“l(fā)”,“5”);同時由于設(shè)置模塊403中的糾錯設(shè)置為左右糾錯,因此糾錯字符組為鍵“jkl”周邊的相鄰字符組(“m”,“i”)。如果用戶在鍵“jkl”上左移后長按(或長按后左移),由于本次按鍵中包含一個長按動作,因此切換至SHIFT模式,精確輸入字符為(“J”),模糊輸入字符組(空)。根據(jù)設(shè)置模塊403的設(shè)定信息,當(dāng)精確輸入不為空時,系統(tǒng)無需糾錯。因此糾錯字符組也為(空)。由此可見,布局映射模塊402有效地將用戶的輸入轉(zhuǎn)換成與鍵盤布局無關(guān)的字符集合,因此之后的候選詞模塊404無需根據(jù)布局的不同而改變軟件或數(shù)據(jù)結(jié)構(gòu)。當(dāng)鍵盤布局改變之后,布局映射模塊402得到的布局信息也相應(yīng)改變,因此輸出的字符集合也隨之改變。由于有了獨立的鍵盤布局設(shè)計,鍵盤布局完全可以由手機廠商預(yù)定義,或由用戶自定義,而不會影響任何系統(tǒng)功能。例如,用戶可以自己定義鍵位的布局,每個鍵上對應(yīng)的字符,以及動作對應(yīng)的字符組,從而編寫出適合自己使用習(xí)慣的鍵盤布局。同時,不同語言版本的輸入法也可以對應(yīng)與不同的鍵盤布局。回到圖4,候選詞模塊404將本次輸入對應(yīng)的字符集合加入到輸入序列中,以此查找詞典模塊405中對應(yīng)的單詞,并根據(jù)一定規(guī)則(如詞頻、上下文短語、相關(guān)詞等)對候選單詞進(jìn)行優(yōu)先級排序,最終將候選詞輸出到輸出模塊406。本領(lǐng)域的普通技術(shù)人員可以理解,詞典的結(jié)構(gòu)可以采用很多種實現(xiàn)方式,例如存儲在數(shù)據(jù)庫,或以樹狀結(jié)構(gòu)存儲。相應(yīng)地,在詞典中查找出可能的候選詞也有很多種方法。下面為了完整地描述本系統(tǒng)的可行性,舉例說明一種可以快速查找單詞的詞典實現(xiàn)方法,但本發(fā)明并不依賴于這種方法。該方法將詞典中的單詞排列在樹狀結(jié)構(gòu)中,如圖8所示。在樹狀詞典中的每一個節(jié)點Ni-1,Ni-2…Ni-m代表一個字符,其中i代表該節(jié)點在樹中的深度(第i層)。位于第i層的節(jié)點代表了單詞的第i個字符。m代表了該層中的字符總數(shù),例如在英語中有26個字母,則m可以不超過26;如果詞典內(nèi)可以包含由其他符號組成的單詞,如don’t,則m可以大于26。這些節(jié)點由路徑Pi-j-1,Pi-j-2,…,Pi-j-m連接起來,其中i-j代表該路徑所連接父節(jié)點為Ni-j。從根節(jié)點向下到達(dá)某一節(jié)點的路徑所途徑的節(jié)點序列,稱為該節(jié)點(或該路徑)的字符序列。如果一個節(jié)點的字符序列是詞典中的一個單詞,則稱該節(jié)點為單詞節(jié)點。如果某一條路徑不存在,則代表該路徑的字符序列在詞典中不存在。例如,英語單詞apple所對應(yīng)的節(jié)點,就是從根節(jié)點向下順序?qū)ふ夜?jié)點a-p-p-l-e。其中第1個字母a所對應(yīng)的節(jié)點在樹的第1層,第2個字母p的節(jié)點在樹的第2層,而最后一個字母e的節(jié)點是單詞節(jié)點,其字符序列就是“apple”。這種樹狀結(jié)構(gòu)的好處是可以快速地找到一個特定的字母序列是否是詞典里的一個單詞,以及該單詞對應(yīng)的節(jié)點。每一個單詞節(jié)點可對應(yīng)于一個單詞對象,但單詞對象的數(shù)據(jù)結(jié)構(gòu)是獨立于詞典結(jié)構(gòu)的。一個單詞對象可包含以下信息:單詞的統(tǒng)計詞頻,相關(guān)詞,上下文關(guān)聯(lián)規(guī)則,替代格式等。單詞的統(tǒng)計詞頻可以用一個數(shù)值表示,例如數(shù)字1到8,8代表最常用的詞,1代表最不常用的詞。統(tǒng)計詞頻可成為候選詞優(yōu)先級排序的一個重要考慮因素。在不考慮其他因素時,詞頻越高,單詞的優(yōu)先級就越高。單詞的相關(guān)詞是指與該單詞相關(guān)聯(lián)的單詞,例如名詞的復(fù)數(shù)形式,動詞的不同時態(tài),該詞的不同詞性等等。例如英文單詞“jump”的相關(guān)詞包括“jumps”,“jumping”,“jumped”等。相關(guān)詞列表可以用指針方式實現(xiàn),即一個單詞對象可以指向其相關(guān)聯(lián)的其他單詞對象。保留相關(guān)詞信息的目的是方便用戶從一個單詞快速選擇其關(guān)聯(lián)的單詞。例如當(dāng)用戶看到“jump”出現(xiàn)在候選詞中時,可以通過某種事先指定的動作(例如在單詞上向下滑動)讓系統(tǒng)顯示出所有的相關(guān)詞,并從中選擇。上下文關(guān)聯(lián)規(guī)則包含了該單詞的常見短語搭配、語法準(zhǔn)則等與上下文環(huán)境相關(guān)的信息。例如,單詞“l(fā)ook”的上下文關(guān)聯(lián)規(guī)則可包含常見短語搭配“l(fā)ookat”,“l(fā)ookforwardto”,“l(fā)ookfor”等。又如,單詞“am”的上下文關(guān)聯(lián)規(guī)則可包含常見短語搭配“Iam”等。又如,單詞“of”的上下文關(guān)聯(lián)規(guī)則可包含語法規(guī)則:“其后跟的詞應(yīng)為名詞或動名詞”。有了這些信息后,系統(tǒng)即可通過上下文智能判斷候選詞的優(yōu)先級。在本實施例中,上下文關(guān)聯(lián)規(guī)則在相關(guān)詞之間中也可以互相生效。例如,當(dāng)上下文關(guān)聯(lián)規(guī)則中有“l(fā)ookforwardto”時,文中即使出現(xiàn)“l(fā)ooking”也可以關(guān)聯(lián)到“forwardto”,因為“l(fā)ooking”是“l(fā)ook”的相關(guān)詞。替代格式是該單詞的某種表現(xiàn)形式,例如“asap”是“assoonaspossible”的縮寫形式,那么如果用戶輸入了“asap”,系統(tǒng)可以自動對應(yīng)到“assoonaspossible”。因此“assoonaspossible”就是單詞對象“asap”的替代格式。又如,用戶輸入“dont”能自動糾正為“don’t”,因為單詞對象“dont”上含有替代格式“don’t”。此時單詞對象“dont”實際上是一種索引。當(dāng)一個單詞有替代格式時,候選詞模塊可以優(yōu)先將替代格式輸出。圖9描述了本實施例中一種生成候選詞的方法,包含以下步驟:根據(jù)輸入序列,在詞典中尋找相應(yīng)的單詞對象作為候選詞(步驟901);將包含糾錯字符組中字符的候選詞標(biāo)記為糾錯候選詞(步驟902);找到候選詞所對應(yīng)的相關(guān)詞列表(步驟903);找到候選詞所對應(yīng)的替代形式(步驟904);將候選詞進(jìn)行優(yōu)先級排序(步驟905)。對于步驟901,候選詞模塊404將從布局映射模塊402獲得的各次按鍵對應(yīng)的字符集合所構(gòu)成的輸入序列組合成可能的候選詞。理論上,只要將輸入序列的所有字符排列組合,并挑選出所有在詞典模塊中存在的已有單詞,即可構(gòu)成候選詞列表。但實際上,一次按鍵可能包含多個可能的字符,而多次按鍵可能形成的字符序列就會更多。隨著輸入序列的長度增加,如果要列出所有字符序列的全排列后再查找詞典的話,計算量會非常大。因此,本發(fā)明的一種優(yōu)選的候選詞查找方法是利用詞典樹的特點,通過檢索數(shù)的節(jié)點快速排除不可能的字符序列。例如,若用戶第一次按鍵的字符集合為(“a”,“s”),第二次按鍵的字符集合為(“b”,“n”),第三次按鍵的字符集合為(“t”,“y”,“u”),則三次按鍵的字符序列組合是2*2*3=12個。但如果分析前兩次按鍵可能的字符序列:“ab”,“an”,“sb”,“sn”,可發(fā)現(xiàn)詞典中不存在“sb”序列開頭的單詞(路徑為空),因此只需考慮“ab”,“an”,“sn”與后三個字符的組合可能。進(jìn)一步分析后發(fā)現(xiàn),在所有三個字符的排列中,只有“ant”,“any”,“aby”和“abu”可能成為單詞或單詞的開頭部分。因此實際的可能組合遠(yuǎn)遠(yuǎn)低于12個。隨著用戶按鍵次數(shù)的增加,盡管理論上字符序列的可能組合在增加,但利用這種方法,隨著不斷排除不可能的路徑,計算量始終保持在較低水平。對于步驟902,當(dāng)輸入序列包含了糾錯字符組時,步驟901所找出的候選詞中包含了糾錯后的單詞,因此為了便于將其與未經(jīng)糾錯的普通候選詞區(qū)分,將其標(biāo)記為糾錯候選詞。根據(jù)統(tǒng)計,用戶按對鍵的概率要高于按錯成某個鍵的概率。因此,在后續(xù)的優(yōu)先級排序中,糾錯候選詞的優(yōu)先級可低于普通候選詞。對于步驟904,所找到的替代形式可以代替原先的候選詞,加入候選詞列表。對于步驟905,候選詞查找模塊404需要對候選詞進(jìn)行優(yōu)先級排序。影響優(yōu)先級的因素可包含:上下文關(guān)聯(lián)規(guī)則,統(tǒng)計詞頻,候選詞長度等。首先,可優(yōu)先考慮上下文關(guān)聯(lián)規(guī)則。例如,如果前文輸入了“l(fā)ookforward”,則下面輸入的單詞很有可能是“to”,而不是與其相近且同樣詞頻很高的“go”。此時,可以通過比對候選詞的上下文關(guān)聯(lián)規(guī)則以及當(dāng)前文本位置的前文與后文,如果發(fā)現(xiàn)某個候選詞與前后文形成短語搭配,便可將該候選詞的優(yōu)先級提高。其次,系統(tǒng)可考慮單詞在該語言中的統(tǒng)計詞頻,詞頻越高,則出現(xiàn)概率越大,因此優(yōu)先級越高。此外,當(dāng)候選詞長度等于或接近用戶按鍵次數(shù)時,該詞的優(yōu)先級可以被提高。如果某個候選詞中包含了糾錯字符,則其優(yōu)先級可以降低。在一種優(yōu)選的實施例中,最終的優(yōu)先級可以由多種因素加權(quán)后計算而得?;氐綀D4,輸出模塊406將候選詞列表顯示給用戶。在本發(fā)明的某些實施例中,對于具有相關(guān)詞的候選詞,可以用特殊狀態(tài)標(biāo)出,并可定義一種快捷方式讓用戶進(jìn)入到該單詞相關(guān)詞的選擇模式。例如,參照圖2A,單詞“compare”的下方有一個箭頭,表示找到了它的相關(guān)詞列表。用戶在“compare”上向下滑動觸點可進(jìn)入相關(guān)詞選擇模式。在本發(fā)明的某些實施例中,對于糾錯候選詞,可以用不同的格式標(biāo)識以示區(qū)分。依據(jù)本發(fā)明的一個實施例,當(dāng)用戶確認(rèn)某個候選詞并將其輸入至文本區(qū)域后,候選區(qū)域?qū)@示下一個或多個可能出現(xiàn)的詞。參考圖2C,當(dāng)用戶輸入“l(fā)ook”后,候選區(qū)域出現(xiàn)對下詞的預(yù)測“forwardto”,“at”,“into”,“for”。這是由于單詞對象“l(fā)ook”的上下文關(guān)聯(lián)規(guī)則里有短語搭配“l(fā)ookforwardto”,“l(fā)ookat”,“l(fā)ookinto”和“l(fā)ookfor”。當(dāng)用戶確認(rèn)候選詞“l(fā)ook”后,候選詞模塊404從該單詞的上下文關(guān)聯(lián)規(guī)則中找出這些規(guī)則,并將“l(fā)ook”后面的部分作為候選詞顯示在候選區(qū)域中。依據(jù)本發(fā)明的一個實施例,當(dāng)用戶確認(rèn)某個候選詞并將其輸入至文本區(qū)域后,其相關(guān)詞的短語搭配也可出現(xiàn)在候選區(qū)域中。參考圖2D,當(dāng)用戶輸入“I’mlooking”后,候選詞區(qū)域也能出現(xiàn)對下詞的預(yù)測“forwardto”,“at”,“into”,“for”。這是由于在單詞對象“l(fā)ooking”的相關(guān)詞列表里有“l(fā)ook”,而候選詞模塊會在相關(guān)詞對應(yīng)的上下文關(guān)聯(lián)歸責(zé)中找出對應(yīng)的短語搭配,并顯示在候選區(qū)域中。圖10描述了本發(fā)明所設(shè)計的用于向電子設(shè)備輸入文本的可實現(xiàn)靈活鍵盤布局的方法,具備以下步驟:等待用戶輸入信號(步驟1001);將用戶輸入信號根據(jù)當(dāng)前鍵盤布局轉(zhuǎn)換為一個字符集合,所述字符集合包含所述用戶輸入的可能對應(yīng)的字符(步驟1002);將所述字符集合加入當(dāng)前輸入序列(步驟1003);根據(jù)所述當(dāng)前輸入序列,生成候選詞并按優(yōu)先級排序(步驟1004);顯示所述候選詞(步驟1005)。3.布局的切換與動態(tài)調(diào)整由于有了靈活的鍵盤布局設(shè)計,本發(fā)明的鍵盤系統(tǒng)可以隨時改變鍵盤布局而不影響方法實現(xiàn)和用戶使用。依據(jù)本發(fā)明的某些實施例,用戶可以通過某個預(yù)定義的操作,將鍵盤布局隨時切換。例如,在觸摸屏上,當(dāng)用戶在鍵盤區(qū)域快速滑過觸點時,系統(tǒng)便可以動態(tài)地將當(dāng)前布局由如圖1A所示的QWERTY布局切換為如圖1C所示的AZERTY布局。在帶有硬件鍵盤的設(shè)備上,當(dāng)用戶按下某個快捷鍵時,系統(tǒng)也同樣可以動態(tài)切換鍵盤布局。依據(jù)本發(fā)明的某些實施例,在鍵盤布局的切換過程中,可以通過動畫效果來使切換更加自然。例如,參照圖11A,當(dāng)用戶的手指在觸摸屏上的鍵盤區(qū)域從左向右快速移動時,舊的鍵盤布局從左向右平滑地移動淡出,新的鍵盤布局從屏幕左端向右平滑地移動淡入。圖11B描述了在手指在移動過程中,舊的鍵盤布局1102移出到一半,新的鍵盤布局1103移入一半時的情形。圖11C描述了新的鍵盤布局完全移入之后的情形。在本實施例中,動畫效果可以流暢地進(jìn)行,且移動速度可根據(jù)用戶觸點的移動速度決定,讓用戶感覺鍵盤布局是在被用戶手指挪動。圖12描述了本實施例中一種快速切換鍵盤布局的方法1200,包含以下步驟:在帶觸感的顯示設(shè)備上顯示一個鍵盤布局(步驟1201);等待用戶觸點在觸摸屏上移動的動作(步驟1202);將原先的鍵盤布局沿觸點移動方向移出屏幕(步驟1203);將新的鍵盤布局沿觸點移動方向移入屏幕(步驟1204)。本方法所指的鍵盤布局不僅僅代表字母的不同布局,也可廣義地泛指為多頁內(nèi)容中的某一頁。例如,在符號選擇頁面上有多頁選擇,用戶可以通過本方法來進(jìn)行翻頁操作。依據(jù)本發(fā)明的某些實施例,用戶還可以動態(tài)地更改鍵盤的布局,如改變按鍵的位置等。例如,在圖13A中,當(dāng)用戶按下“SPACE”空格鍵1301不放,并將其拖動到鍵盤區(qū)域的左下角后放開,該鍵便被安排在了如圖13B所示的新的位置1302。同時鍵盤布局會被相應(yīng)更新,例如原本在空格鍵上的數(shù)字“8”變?yōu)榱藬?shù)字“6”,以保持?jǐn)?shù)字的連續(xù)性。圖14描述了本實施例中一種動態(tài)改變鍵盤布局的方法,包含以下步驟:在帶觸感的顯示設(shè)備上顯示多個按鍵(步驟1401);檢測用戶在一個按鍵上按下后移動觸點動作(步驟1402);檢測用戶放開觸點的位置(步驟1403);調(diào)整鍵盤布局,將所述的按鍵調(diào)整至所述放開觸點位置所對應(yīng)的位置,并顯示更新的鍵盤布局(步驟1404)。對于步驟1402,可以預(yù)先設(shè)定某些鍵為可移動的鍵,設(shè)定某些鍵為不可移動的鍵。例如,圖13A中“SPACE”鍵為可移動的鍵,而其他按鍵為不可移動的建。對于步驟1404,按鍵調(diào)整后的位置往往可以在放開觸點位置附近的某些預(yù)定義的位置上。例如,當(dāng)用戶放開觸點的位置落在圖13B中“SPACE”鍵所覆蓋的區(qū)域或其周圍距離不超過X像素的范圍內(nèi)(X可為一個預(yù)定的值)時,對應(yīng)的調(diào)整后位置均為屏幕最左下角的按鍵位置。