專利名稱:通用鍵盤長按鍵實現(xiàn)方法及其在輸入中的應用方法
技術(shù)領域:
本發(fā)明涉及計算機應用領域,特別涉及通用鍵盤長按鍵實現(xiàn)方法及其在輸入中的應用方法。
背景技術(shù):
在普通計算機上,如果按住一個鍵不放,就會出現(xiàn)連續(xù)的重復字符,第一次產(chǎn)生重復字符的等待時間由系統(tǒng)鍵盤屬性中的“重復延遲”設定,按住按鍵之后相應字符的重復速度為“重復率”?,F(xiàn)有技術(shù)中獲取字符消息的程序無法分辨出是逐個輸入的,還是按住不放自動產(chǎn)生的重復字符。
計算機鍵盤輸入未來的發(fā)展方向是整句輸入,然而在整句輸入時不可能做到100%準確,這就需要對句子中的錯誤進行修改。現(xiàn)有技術(shù)的輸入方法中要用方向鍵或鼠標將光標移動到錯誤處才能進行修改,非常麻煩,致使很多人寧可使用字詞輸入法逐個選詞,也不使用整句輸入法輸入,造成打字速度的提高緩慢。
發(fā)明內(nèi)容
為了在使用鍵盤進行中文輸入時,能夠快速定位到待修改漢字,本發(fā)明實施例提供了通用鍵盤長按鍵實現(xiàn)方法及其在輸入中的應用方法。所述技術(shù)方案如下 本發(fā)明實施例提供了一種通用鍵盤長按鍵實現(xiàn)方法,所述方法包括以下步驟 步驟A創(chuàng)建并安裝鍵盤鉤子動態(tài)鏈接程序,當使用鍵盤時,獲取底層鍵盤消息; 步驟B分別記錄鍵盤的“按下消息”和“放開消息”的順序和次數(shù); 步驟C根據(jù)系統(tǒng)長時間按住一個按鍵所產(chǎn)生的重復鍵與“按下消息”和“放開消息”順序和次數(shù)的關系判斷出當前按鍵是否為長按鍵。
本發(fā)明實施例還提供了一種長按鍵在輸入中的應用方法,當處于中文輸入狀態(tài)時,所述方法包括 監(jiān)控當前按鍵是否為長按鍵,如果是,在緩沖提示行內(nèi)容中查詢是否存在與所述當前按鍵匹配的漢字首編碼,如果存在,將修改光標定位到所查到漢字首編碼對應的漢字或編碼上,更新顯示提示行并等待修改。
當用戶在中文輸入法狀態(tài)收到連續(xù)多個長按鍵時,所述方法還包括 在緩沖提示行內(nèi)容中從前向后繼續(xù)查詢,找到下一個首編碼與長按鍵匹配的漢字位置,將修改光標定位到這個漢字或編碼上等待修改。
當處于中文輸入狀態(tài),并且緩沖行中已經(jīng)有輸入的漢字內(nèi)容時,所述方法還包括 用符號長按鍵進行反向移動,移動到需要的漢字位置時放開符號長按鍵。
上述技術(shù)方案具有如下有益效果 通過在通用鍵盤上識別出長按鍵,利用長按鍵可以實現(xiàn)在輸入時對錯誤漢字的快速定位和修改,使用方便,能有效提高整句修改速度;同時利用長按鍵還可以實現(xiàn)中西文輸入狀態(tài)的快速切換、信息提示和功能選擇等多種功能,大大擴展了通用鍵盤的應用面。
圖1是本發(fā)明實施例1提供的通用鍵盤長按鍵實現(xiàn)方法的流程圖; 圖2是本發(fā)明實施例2提供的利用長按鍵在中文輸入狀態(tài)下快速定位和修改錯誤漢字的方法流程圖; 圖3是本發(fā)明實施例2提供的根據(jù)重復鍵次數(shù)和狀態(tài)確定長按鍵的方法流程圖。
具體實施例方式 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
本發(fā)明實施例通過識別通用鍵盤的長按鍵,利用長按鍵實現(xiàn)在整句輸入時快速定位到“待修改漢字”或“錯誤編碼”上,并且在不離開主鍵盤的范圍內(nèi),利用長按鍵還可以完成中英文輸入狀態(tài)的相互轉(zhuǎn)換、英文輸入狀態(tài)下的信息提示等功能。
實施例1 參見圖1,本發(fā)明實施例提供了一種通用鍵盤長按鍵實現(xiàn)方法,具體步驟如下 步驟101創(chuàng)建并安裝鍵盤鉤子動態(tài)鏈接程序。
鍵盤鉤子動態(tài)鏈接程序為現(xiàn)有技術(shù)中獲取底層鍵盤消息的程序,該程序可以記錄用戶對按鍵的操作是“按下”還是“放開”,同時記錄“按下”和“放開”的順序和次數(shù)。
步驟102判斷當前按鍵是否為字符鍵,如果是字符鍵則執(zhí)行步驟103;如果不是則執(zhí)行步驟108。
步驟103判斷用戶對當前按鍵的操作是否為“按下”,如果是,則執(zhí)行步驟104;否則,執(zhí)行步驟109。
步驟104判斷與上次按鍵的鍵值是否相同,如果相同,執(zhí)行步驟105;如果不相同,表示當前按鍵與上次按鍵不是同一個,則執(zhí)行步驟110。
步驟105表示當前按鍵為重復按鍵,重復次數(shù)加1。
步驟106判斷重復鍵的有效重復次數(shù)是否達到成立條件,如果是,則執(zhí)行步驟107;否則,執(zhí)行步驟111。
步驟107當前按鍵是長按鍵,按長按鍵處理,然后結(jié)束。
步驟108按功能鍵處理程序處理當前按鍵,然后結(jié)束。
步驟109清除上次保留的當前按鍵的鍵值記錄和按下次數(shù),然后結(jié)束。
步驟110記錄當前按鍵的鍵值,并清除重復次數(shù),然后結(jié)束。
步驟111當前按鍵為重復鍵,然后結(jié)束。
實施例2 在中文輸入狀態(tài)下,每輸入一句話都將在緩存區(qū)中進行暫存,同時輸入的編碼保存在編碼區(qū)中。這時,緩存區(qū)中的記錄漢字的部分被稱為緩沖行,緩沖行上轉(zhuǎn)換出來的漢字中間有可能出現(xiàn)錯誤。在本發(fā)明實施例中,當發(fā)現(xiàn)錯誤后可以不用方向移動鍵,利用長按鍵就可以實現(xiàn)錯誤漢字的快速定位和修改。如果定位后發(fā)現(xiàn)是編碼輸入有誤,還可以繼續(xù)長按鍵定位到編碼上,對編碼進行修改。
參見圖2,本發(fā)明實施例提供了利用長按鍵在中文輸入狀態(tài)下快速定位和修改錯誤漢字的方法,具體步驟如下 步驟201判斷當前按鍵是否為長按鍵,如果是,則執(zhí)行步驟202;否則,結(jié)束。
步驟202在緩沖提示行內(nèi)容中查詢是否存在與長按鍵的鍵值匹配的漢字首編碼,如果存在,則執(zhí)行步驟203;否則,執(zhí)行步驟204。
步驟203將修改光標定位到所查詢到的漢字首編碼對應的漢字上等待修改。
步驟204更新顯示提示行,結(jié)束。
如果緩沖行上存在多個與長按鍵的鍵值匹配的漢字首編碼,而第一次定位的不是所希望修改的漢字,則可以繼續(xù)按住長按鍵不放(連續(xù)長按鍵),這時修改光標會自動跳過這個漢字,定位到下一個與長按鍵的鍵值匹配的漢字首編碼對應的漢字上;可以連續(xù)長按首編碼鍵,直到停在想修改的漢字上時才放開。
當收到連續(xù)多個長按鍵時,在緩沖提示行內(nèi)容中從前向后依次查詢,找到下一個首編碼與長按鍵匹配的漢字位置,將修改光標定位到這個漢字上等待修改。
比如,當前編碼為全拼,發(fā)現(xiàn)輸入的句子中某個漢字是錯的,則按住這個錯誤漢字的聲母鍵不放開,系統(tǒng)就會自動將修改位置定位在這個錯誤的漢字上。如果緩沖行上有多個相同聲母的漢字,而第一次定位的不是所希望修改的漢字,可以一直按住這個聲母鍵不放,則會自動跳過這個漢字,定位到下一個相同聲母的漢字上。如果使用“五筆、首位、聲形、數(shù)碼”等其他編碼,定位方法也相同,都是長按需要定位的編碼的第一個字母鍵。
參見圖3,上述步驟201在處理按鍵消息時檢查當前按鍵的重復鍵次數(shù)和狀態(tài),根據(jù)重復鍵次數(shù)和狀態(tài)確定當前按鍵是否為長按鍵。具體過程如下 步驟2001判斷當前按鍵是否為第一次重復按鍵,如果不是第一次重復按鍵,執(zhí)行步驟2002;否則,執(zhí)行步驟2004; 步驟2002該按鍵為連續(xù)的重復鍵,判斷有效重復次數(shù)是否達到成立條件,如果達到,執(zhí)行步驟2003;否則,直接返回不處理。
步驟2003降低有效重復次數(shù),即逐漸減少搜索定位時間,記錄下次有效重復次數(shù)。其效果是長時間按住重復鍵,后面定位速度會比前面的要快一些。
步驟2004第一次產(chǎn)生重復鍵,記錄初始值和下次有效重復次數(shù)。
此程序用于判斷當前重復鍵是否為有效處理鍵。由于連續(xù)長按鍵時的重復速率太高,不能在每個重復鍵產(chǎn)生時都進行搜索。否則如果一直按下某個首編碼不放開,而當前緩沖行上又有多個可匹配的漢字時,則會造成光標在這幾個漢字上快速跳動,而無法準確停在希望定位的漢字上。
利用本發(fā)明的長按鍵功能還可以用于狀態(tài)切換和位置移動。因為第一次定位修改后,可能還需要修改編碼或其他漢字,或者使用普通符號作為切換或移動時不小心移動過縮了,這些情況下也可以利用同一符號的長按鍵功能進行操作,避免頻繁換鍵,例如 A、在輸入過程中遇到最前面有錯誤時,可按住’1秒左右(一次長按鍵),光標可定位到最后一次空格分隔的位置上。如果當前在語句方式或者沒有分隔,則定位到行首。
B、通常’用于移動修改,首次會移到最后一個分隔位置的開始處,若沒有分隔則是最開始的位置,并處于修改詞組的狀態(tài)。當不小心移動超過了所改的漢字,連續(xù)長按’(按住不放超過1秒)就會反過來向前逐字移位。
C、通常在遇到前面輸入內(nèi)容有錯誤時,按[向前逐字移動。若不小心移過了,連續(xù)長按[(按住不放超過1秒)就會以較緩慢的速度反過來向后逐字移位,免除換鍵的麻煩。
本發(fā)明采用底層軟件技術(shù)實現(xiàn)了長按鍵的識別,并在輸入軟件中實現(xiàn)多種實用功能,大大增強了鍵盤功能。
利用本發(fā)明可直接長按待修改漢字的“首編碼”或“錯誤編碼”快速定位,而無需將手移開字母區(qū),巧妙地解決了整句輸入修改難的瓶頸問題。
利用本發(fā)明還可以在中西文輸入時實現(xiàn)“功能切換”、“信息提示”和“功能選擇”等,而不必使用功能鍵或用鼠標選擇操作。配合網(wǎng)絡搜索或其他軟件還能快速執(zhí)行更多任務。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種通用鍵盤長按鍵實現(xiàn)方法,其特征在于,所述方法包括以下步驟
步驟A創(chuàng)建并安裝鍵盤鉤子動態(tài)鏈接程序,當使用鍵盤時,獲取底層鍵盤消息;
步驟B分別記錄鍵盤的“按下消息”和“放開消息”的順序和次數(shù);
步驟C根據(jù)系統(tǒng)長時間按住一個按鍵所產(chǎn)生的重復鍵與“按下消息”和“放開消息”順序和次數(shù)的關系判斷出當前按鍵是否為長按鍵。
2.一種長按鍵在輸入中的應用方法,其特征在于,當處于中文輸入狀態(tài)時,所述方法包括
監(jiān)控當前按鍵是否為長按鍵,如果是,在緩沖提示行內(nèi)容中查詢是否存在與所述當前按鍵匹配的漢字首編碼,如果存在,將修改光標定位到所查到漢字首編碼對應的漢字或編碼上,更新顯示提示行并等待修改。
3.根據(jù)權(quán)利要求2所述的長按鍵在輸入中的應用方法,其特征在于,當用戶在中文輸入法狀態(tài)收到連續(xù)多個長按鍵時,所述方法還包括
在緩沖提示行內(nèi)容中從前向后繼續(xù)查詢,找到下一個首編碼與長按鍵匹配的漢字位置,將修改光標定位到這個漢字上等待修改。
4.根據(jù)權(quán)利要求2所述的長按鍵在輸入中的應用方法,其特征在于,當處于中文輸入狀態(tài),并且緩沖行中已經(jīng)有輸入的漢字內(nèi)容時,所述方法還包括
用符號長按鍵進行反向移動,移動到需要的漢字位置時放開符號長按鍵。
全文摘要
本發(fā)明提供了通用鍵盤長按鍵實現(xiàn)方法及其在輸入中的應用方法,屬于計算機應用領域。通用鍵盤長按鍵實現(xiàn)方法包括創(chuàng)建并安裝鍵盤鉤子動態(tài)鏈接程序,當使用鍵盤時,獲取底層鍵盤消息并記錄鍵盤的“按下消息”和“放開消息”的順序和次數(shù);根據(jù)重復鍵與“按下消息”和“放開消息”順序和次數(shù)的關系判斷出當前按鍵是否為長按鍵。長按鍵在輸入中的應用方法包括監(jiān)控當前按鍵是否為長按鍵,如果是,查詢是否存在與當前按鍵匹配的漢字首編碼,如果存在,將修改光標定位到對應的漢字或編碼上,更新顯示提示行并等待修改。本發(fā)明通過識別通用鍵盤的長按鍵,實現(xiàn)了輸入時快速定位和修改錯誤漢字功能,明顯地增強了通用鍵盤的實用功能。
文檔編號G06F3/023GK101315581SQ20071009977
公開日2008年12月3日 申請日期2007年5月30日 優(yōu)先權(quán)日2007年5月30日
發(fā)明者周志農(nóng) 申請人:周志農(nóng)