實現矩陣鍵盤中組合按鍵的方法及裝置制造方法
【專利摘要】本發明公開了一種實現矩陣鍵盤中組合按鍵的方法及裝置。組合按鍵包括第一按鍵和第二按鍵,該方法包括:檢測第一按鍵是否被按下;在檢測到第一按鍵被按下時,檢測第二按鍵是否被按下;如果檢測到第二按鍵被按下,則發送組合按鍵所對應的輸入指令;以及如果檢測到第二按鍵未被按下,則發送第一按鍵所對應的輸入指令。通過本發明,解決了在矩陣鍵盤中難以實現復雜組合按鍵的功能的問題。
【專利說明】實現矩陣鍵盤中組合按鍵的方法及裝置
【技術領域】
[0001]本發明涉及電子領域,具體而言,涉及一種實現矩陣鍵盤中組合按鍵的方法及裝置。
【背景技術】
[0002]鍵盤是很多電子產品的必須輸入設備,通常,大規模鍵盤有三種設計方法,第一種是采用專用鍵盤編碼芯片,按鍵按照行和列輸入,編碼后的數據以USB接口輸出,此方法需要專用鍵盤編碼芯片并設計USB接口,增加了設計復雜性。第二種是將按鍵分別接入CPLD的1腳,利用CPLD的1引腳多的優勢分別對每一個按鍵狀態進行判斷并將結果輸出到處理單元,此方法需要增加CPLD芯片,增加了硬件成本。第三種是采用MCU設計的通用矩陣鍵盤,讓按鍵接入到矩陣相應的行和列,此方法具有成本低廉、占用硬件資源少等優點。采用MCU設計的矩陣鍵盤能實現單個按鍵和簡單組合按鍵的功能,但難以實現一些復雜組合按鍵的功能,因此極大地限制了采用MCU設計的矩陣鍵盤在需要組合邏輯按鍵場合的應用。
[0003]針對現有技術中在矩陣鍵盤中難以實現復雜組合按鍵的功能,目前尚未提出有效的解決方案。
【發明內容】
[0004]針對在矩陣鍵盤中難以實現復雜組合按鍵的功能的問題而提出本發明,為此,本發明的主要目的在于提供一種實現矩陣鍵盤中組合按鍵的方法及裝置,以解決上述問題。
[0005]為了實現上述目的,根據本發明的一個方面,提供了一種實現矩陣鍵盤中組合按鍵的方法,該方法包括:檢測第一按鍵是否被按下;在檢測到第一按鍵被按下時,檢測第二按鍵是否被按下;如果檢測到第二按鍵被按下,則發送組合按鍵所對應的輸入指令;如果檢測到第二按鍵未被按下,則發送第一按鍵所對應的輸入指令。
[0006]進一步地,檢測第一按鍵是否被按下包括:將矩陣鍵盤的列值設為零;對矩陣鍵盤的行進行掃描;檢測矩陣鍵盤的行值是否為零;如果檢測到矩陣鍵盤的行值為零,查找行值為零的行對應的列;由列值為零的列和行值為零的行,檢測到第一按鍵被按下。
[0007]進一步地,在獲取第一輸入信息之前,該方法還包括:創建第一標志位、第二標志位和第三標志位,其中,第一標志位的值包括第一數值、第二數值和第三數值,第二標志位的值包括第四數值和第五數值,第三標志位的值包括第六數值和第七數值;將第一標志位的值設置為第一數值,其中,第一數值表示第一按鍵沒有被按下;將第二標志位的值設置為第四數值,其中,第四數值表示第二按鍵沒有被按下;將第三標志位的值設置為第六數值,其中,第六數值表示沒有按鍵被按下。
[0008]進一步地,在檢測到第一按鍵被按下時,檢測第二按鍵是否被按下包括:將第一標志位更新為第二數值,其中,第二數值表示第一按鍵被按下;判斷第二標志位是否為第五數值,其中,第五數值表示第二按鍵被按下;在判斷出第二標志位為第五數值的情況下,檢測到第二按鍵被按下;在判斷出第二標志位不為第五數值的情況下,未檢測到第二按鍵被按下。
[0009]進一步地,如果檢測到第二按鍵被按下,則發送組合按鍵所對應的輸入指令包括:將第一標志位更新為第三數值,其中,第三數值表示第一按鍵被抬起;將第三標志位更新為第七數值,其中,第七數值表示有按鍵被按下,需要發送被按下按鍵對應的輸入指令;發送組合按鍵所對應的輸入指令;將第三標志位更新為第六數值,其中,第六數值表示沒有按鍵被按下,不需要發送指令;將第一標志位更新為第一數值。
[0010]進一步地,如果檢測到第二按鍵未被按下,則發送第一按鍵所對應的輸入指令包括:檢測第一按鍵是否被抬起;如果檢測到第一按鍵被抬起,將第二標志位更新為第四數值,其中,第四數值表示第二按鍵沒有被按下;判斷第一標志位是否為第二數值,其中,第二數值表示第一按鍵被按下;如果判斷出第一標志位為第二數值,發送第一按鍵所對應的輸入指令;將第一標志位更新為第一數值。
[0011]為了實現上述目的,根據本發明的另一個方面,提供了一種實現矩陣鍵盤中組合按鍵的裝置。組合按鍵包括第一按鍵和第二按鍵,該裝置包括:第一檢測單元,用于檢測第一按鍵是否被按下;第二檢測單元,用于在檢測到第一按鍵被按下時,檢測第二按鍵是否被按下;第一發送單元,用于在檢測到第二按鍵被按下的情況下,則發送組合按鍵所對應的輸入指令;第二發送單元,用于在檢測到第二按鍵未被按下的情況下,則發送第一按鍵所對應的輸入指令。
[0012]進一步地,第一檢測單元包括:預設模塊,用于將矩陣鍵盤的列值設為零;掃描模塊,用于對矩陣鍵盤的行進行掃描;第一檢測模塊,用于檢測矩陣鍵盤的行值是否為零;查找模塊,用于在檢測到矩陣鍵盤的行值為零的情況下,查找行值為零的行對應的列;第二檢測模塊,用于由列值為零的列和行值為零的行,檢測到第一按鍵被按下。
[0013]進一步地,第一發送單元包括:第一更新模塊,用于將第一標志位更新為第三數值,其中,第三數值表示第一按鍵被抬起;第二更新模塊,用于將第三標志位更新為第七數值,其中,第七數值表示有按鍵被按下,需要發送被按下按鍵對應的輸入指令;第一發送模塊,用于發送組合按鍵所對應的輸入指令;第三更新模塊,用于將第三標志位更新為第六數值,其中,第六數值表示沒有按鍵被按下,不需要發送指令;第四更新模塊,用于將第一標志位更新為第一數值。
[0014]進一步地,第二發送單元包括:第三檢測模塊,用于檢測第一按鍵是否被抬起;第五更新模塊,用于在檢測到第一按鍵被抬起的情況下,將第二標志位更新為第四數值,其中,第四數值表示第二按鍵沒有被按下;判斷模塊,用于判斷第一標志位是否為第二數值,其中,第二數值表示第一按鍵被按下;第二發送模塊,用于如果判斷出第一標志位為第二數值,發送第一按鍵所對應的輸入指令;第六更新模塊,用于將第一標志位更新為第一數值。
[0015]通過本發明,采用包括以下步驟的方法:檢測第一按鍵是否被按下;在檢測到第一按鍵被按下時,檢測第二按鍵是否被按下;如果檢測到第二按鍵被按下,則發送組合按鍵所對應的輸入指令;如果檢測到第二按鍵未被按下,則發送第一按鍵所對應的輸入指令。通過本發明,解決了在矩陣鍵盤中難以實現復雜組合按鍵的功能的問題。
【專利附圖】
【附圖說明】
[0016]構成本申請的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0017]圖1是根據本發明的實現矩陣鍵盤中組合按鍵的方法的第一實施例的流程圖;
[0018]圖2是根據本發明的實現矩陣鍵盤中組合按鍵的方法的第二實施例的流程圖;以及
[0019]圖3是根據本發明的實現矩陣鍵盤中組合按鍵的裝置的第一實施例的示意圖。
【具體實施方式】
[0020]為了使本領域的技術人員更好的理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基于本發明中的實施例,在本領域普通技術人員沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明的保護范圍。
[0021]需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發明的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含。
[0022]在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發明。
[0023]圖1是根據本發明的實現矩陣鍵盤中組合按鍵的方法的第一實施例的流程圖。如圖1所示,該方法包括如下的步驟SlOl至步驟S104:
[0024]步驟S101,檢測第一按鍵是否被按下。
[0025]檢測矩陣鍵盤中第一按鍵是否被按下。
[0026]矩陣鍵盤是單片機外部設備中所使用的排布類似于矩陣的鍵盤組。通常,在鍵盤中按鍵數量較多時,為了減少I/o 口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如Pl 口)就可以構成4*4 = 16個按鍵,比其直接將端口線用于鍵盤多出了一倍,而且線數越多,區別越明顯,比如再多加一條線就可以構成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數比較多時,采用矩陣法來做鍵盤是合適的。
[0027]檢測矩陣鍵盤中第一按鍵是否被按下之前,創建第一標志位、第二標志位和第三標志位,其中,第一標志位的值包括第一數值、第二數值和第三數值,第二標志位的值包括第四數值和第五數值,第三標志位的值包括第六數值和第七數值;將第一標志位的值設置為第一數值,其中,第一數值表示第一按鍵沒有被按下;將第二標志位的值設置為第四數值,其中,第四數值表示第二按鍵沒有被按下;將第三標志位的值設置為第六數值,其中,第六數值表示沒有按鍵被按下,不需要發送指令。
[0028]具體地,檢測第一按鍵是否被按下,將矩陣鍵盤中的列值預設為零,對矩陣鍵盤的行進行掃描,檢測矩陣鍵盤的行值是否為零;如果檢測到矩陣鍵盤的行值為零,查找行值為零的行對應的列;由列值為零的列和行值為零的行,檢測出第一按鍵被按下。檢測出第一按鍵被按下之后,將第一標志位更新為第二數值,其中,第二數值表示第一按鍵被按下。
[0029]步驟S102,在檢測到第一按鍵被按下時,檢測第二按鍵是否被按下。
[0030]在矩陣鍵盤中,檢測出第一按鍵被按下,繼續檢測第二按鍵是否被按下。
[0031]具體地,在矩陣鍵盤中,如果檢測到第一按鍵被按下,判斷第二標志位是否為第五數值,其中,第五數值表示第二按鍵被按下,在判斷出第二標志位為第五數值的情況下,表示檢測出第二按鍵被按下。如果判斷出第二標志位不為第五數值,表示未檢測到第二按鍵被按下。
[0032]步驟S103,如果檢測到第二按鍵被按下,則發送組合按鍵所對應的輸入指令。
[0033]在矩陣鍵盤中,如果檢測到第二按鍵被按下,則發送組合按鍵所對應的輸入指令。組合按鍵包括:第一按鍵和第二按鍵。
[0034]具體地,在矩陣鍵盤中,如果檢測到第二按鍵被按下,將第一標志位更新為第三數值,第三數值表示第一按鍵被抬起。將第三標志位更新為第七數值,第七數值表示有按鍵被按下,需要發送被按下的組合鍵對應的輸入指令。在檢測出第三標志位為第七數值時,發送組合按鍵所對應的輸入指令。然后,將第三標志位更新為第六數值,第六數值表示沒有按鍵被按下,不需要發送指令;將第一標志位更新為第一數值。
[0035]步驟S104,如果檢測到第二按鍵未被按下,則發送第一按鍵所對應的輸入指令。
[0036]在矩陣鍵盤中,如果檢測到第二按鍵未被按下,則發送第一按鍵所對應的輸入指令。
[0037]具體地,在矩陣鍵盤中,通過定時器預設的掃描周期,循環掃描第一按鍵上一個時間周期與當前時間周期的狀態是否一致,當檢測出第一按鍵上一個時間周期與當前時間周期的狀態不一致,檢測出第一按鍵被抬起;將第二標志位更新為第四數值,其中,第四數值表示第二按鍵沒有被按下;判斷第一標志位是否為第二數值,其中,第二數值表示第一按鍵被按下;如果判斷出第一標志位為第二數值,發送第一按鍵所對應的輸入指令;將第一標志位更新為第一數值。
[0038]本發明實施例提供的實現矩陣鍵盤中組合按鍵的方法,通過檢測第一按鍵是否被按下,在檢測到第一按鍵被按下時,檢測第二按鍵是否被按下,如果檢測到第二按鍵被按下,則發送組合按鍵所對應的輸入指令,如果檢測到第二按鍵未被按下,則發送第一按鍵所對應的輸入指令。通過本發明中先后檢測出第一按鍵和第二按鍵是否被按下,確定出需要發送的指令,解決了在矩陣鍵盤中難以實現復雜組合按鍵的功能的問題。
[0039]圖2是根據本發明的實現矩陣鍵盤中組合按鍵的方法的第二實施例的流程圖。如圖2所示:定義了 3個標志位,標志位I用于記錄A鍵的按下,標志位2用于記錄B鍵和C鍵的按下,標志位3用于記錄當前是否有按鍵按下。該方法包括如下的步驟S201至步驟S215:
[0040]步驟S201,列掃描并讀取行值。
[0041]通過將矩陣鍵盤中所有列預設為0,對矩陣鍵盤中所有行進行循環掃描。
[0042]步驟S202,A鍵被按下并且標志位2為零?
[0043]在對矩陣鍵盤中所有行進行循環掃描時,當掃描出行值為O時,判斷出A鍵被按下。判斷標志位2是否為0,在此,標志位2為O表示當前按鍵被按下,標志位2不為0,表示當前有按鍵被按下。
[0044]步驟S203,A鍵抬起?
[0045]A鍵被按下后,判斷出標志位2不為零的情況下,檢測A鍵是否被抬起。
[0046]步驟S204,標志位2清零?
[0047]在檢測出A鍵被抬起的情況下,判斷標志位2是否清零。
[0048]步驟S205,標志位I為I ?
[0049]判斷標志位I是否為I。
[0050]步驟S206,置A鍵值,標志位I置3,標志位3置I。
[0051]在判斷出標志位I為I的情況下,發送A鍵對應的輸入指令,同時將標志位I預設為3,標志位3預設為I。
[0052]步驟S207,標志位I置I。
[0053]在檢測出A鍵被抬起,判斷出標志位2為O的情況下,將標志位I置I。
[0054]步驟S208,標志位I為I ?
[0055]判斷將標志位I是否為I。
[0056]步驟S209,標志位2為I ?
[0057]在判斷出標志位I為I的情況下,判斷標志位2是否為I。
[0058]步驟S210,置A+B鍵值,標志位I置2,標志位3置I。
[0059]在判斷出標志位2為I的情況下,將A+B鍵對應的輸入指令確定為即將發送的USB數據包,同時將標志位I預設為2,標志位3預設為I。
[0060]步驟S211,標志位2為2 ?
[0061]在判斷出標志位2不為I的情況下,判斷標志位2是否為2。
[0062]步驟S212,置A+C鍵值,標志位I置2,標志位3置I。
[0063]在判斷出標志位2為2的情況下,將A+C鍵對應的輸入指令確定為即將發送的USB數據包,同時將標志位I預設為2,標志位3預設為I。
[0064]步驟S213,標志位3為I ?
[0065]判斷標志位3是否為1,其中,判斷標志位3為I代表當前有按鍵被按下。
[0066]步驟S214,發送USB數據包,標志位3清零。
[0067]在判斷出標志位3為I的情況下,發送相應的USB數據包,標志位3清零。USB數據包括:通過A+B或A+C所對應的輸入指令確定的USB數據包。
[0068]步驟S215,結束。
[0069]當檢測到A鍵按下后,將標志位I預設為I。此時如果抬起A鍵,將標志位2清零,判斷標志位I,如果為I則預設為A鍵值,將標志位I預設為3,標志位3預設為I,程序在經過幾個條件判斷后會將A鍵值發送出去。如果按下A鍵后不抬起A鍵,而是按下B鍵,程序預設為標志位2為I,此時標志位2邏輯判斷滿足條件,程序預設為A+B組合按鍵值,并將標志位I預設為2,將標志位3預設為I,之后程序會將A+B組合按鍵值發送出去。A+C組合功能工作過程類似。
[0070]以Windows鍵作為A鍵進行舉例,具體解決復雜組合按鍵的功能的相關代碼如下:
[0071]ffindows_Keyl = Windows_Key2 ;
[0072]Windows_Key2 = GP1_ReadInputDataBit(GP1E, GP10_Pin_5);
[0073]if (ffindows_Keyl = = OxOOMff indows_Key2 = = 0x00&&over_f lag ==l&&Windows_
[0074]Func—flag == 0x00)
[0075]{
[0076]Windows—Down—flag = 0x01 ;
[0077]}
[0078]else if (Windows—Keyl == 0x00 && Windows—Key2 == 0x01 && over—flag =
=I )
[0079]{
[0080]Windows—Func—flag = 0x00 ;
[0081]if (Windows—Down—flag = = 0x01)
[0082]{
[0083]Key—Buffer [2] = 0xE3 ;
[0084]Key_flag = I ;
[0085]Windows—Down—flag = 0x03 ;// 單個按鍵抬起
[0086]}
[0087]}
[0088]if (Windows—Down—flag = = 0x01)
[0089]{
[0090]if (Windows—Func—flag == 0x01) //Windows+R
[0091]{
[0092]Il Windows—Func—flag = 0x03 ;
[0093]Key—Buffer [3] = 0x15 ;
[0094]Key—Buffer [2] = 0xE3 ;
[0095]Key—flag = I ;
[0096]Windows—Down—flag = 0x02 ;// 組合按鍵
[0097]}
[0098]else if (Windows—Func—flag = = 0x02) //Windows+D
[0099]{
[0100]Key—Buffer [3] = 0x07 ;
[0101]Key—Buffer [2] = 0xE3 ;
[0102]Key—flag = I ;
[0103]Windows—Down—flag = 0x02 ;
[0104]}
[0105]}
[0106]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。
[0107]本發明實施例還提供了一種實現矩陣鍵盤中組合按鍵的裝置,需要說明的是,本發明實施例的實現矩陣鍵盤中組合按鍵的裝置可以用于執行本發明實施例所提供的用于實現矩陣鍵盤中組合按鍵的方法。以下對本發明實施例提供的實現矩陣鍵盤中組合按鍵的裝置進行介紹:
[0108]圖3是根據本發明的一種實現矩陣鍵盤中組合按鍵的裝置的第一實施例的示意圖。如圖3所示,該裝置包括:第一檢測單元10、第二檢測單元20、第一發送單元30和第二發送單元40。
[0109]第一檢測單元10,用于檢測第一按鍵是否被按下。
[0110]第二檢測單元20,用于在檢測到第一按鍵被按下時,檢測第二按鍵是否被按下。
[0111]第一發送單元30,用于在檢測到第二按鍵被按下的情況下,則發送組合按鍵所對應的輸入指令。
[0112]第二發送單元40,用于在檢測到第二按鍵未被按下的情況下,則發送第一按鍵所對應的輸入指令。
[0113]本發明實施例提供的實現矩陣鍵盤中組合按鍵的裝置,第一檢測單元10,用于檢測第一按鍵是否被按下;第二檢測單元20,用于在檢測到第一按鍵被按下時,檢測第二按鍵是否被按下;第一發送單元30,用于在檢測到第二按鍵被按下的情況下,則發送組合按鍵所對應的輸入指令;第二發送單元40,用于在檢測到第二按鍵未被按下的情況下,則發送第一按鍵所對應的輸入指令。通過本發明中,檢測單元先后檢測出第一按鍵和第二按鍵是否被按下,通過發送單元發送按鍵對應的指令,解決了在矩陣鍵盤中難以實現復雜組合按鍵的功能的問題。
[0114]優選地,在本發明實施例提供的實現矩陣鍵盤中組合按鍵的裝置中,第一檢測單元還包括:預設模塊,用于將矩陣鍵盤的列值設為零;掃描模塊,用于對矩陣鍵盤的行進行掃描;第一檢測模塊,用于檢測矩陣鍵盤的行值是否為零;查找模塊,用于在檢測到矩陣鍵盤的行值為零的情況下,查找行值為零的行對應的列;第二檢測模塊,用于由列值為零的列和行值為零的行,檢測到第一按鍵被按下。
[0115]優選地,為了準確地發送組合按鍵所對應的輸入指令,在本發明實施例提供的實現矩陣鍵盤中組合按鍵的裝置中,第一發送單元包括:第一更新模塊,用于將第一標志位更新為第三數值,其中,第三數值表示第一按鍵被抬起;第二更新模塊,用于將第三標志位更新為第七數值,其中,第七數值表示有按鍵被按下,需要發送被按下按鍵對應的輸入指令;第一發送模塊,用于發送組合按鍵所對應的輸入指令;第三更新模塊,用于將第三標志位更新為第六數值,其中,第六數值表示沒有按鍵被按下,不需要發送指令;第四更新模塊,用于將第一標志位更新為第一數值。
[0116]優選地,為了準確地發送第一按鍵所對應的輸入指令,在本發明實施例提供的實現矩陣鍵盤中組合按鍵的裝置中,第二發送單元包括:第三檢測模塊,用于檢測第一按鍵是否被抬起;第五更新模塊,用于在檢測到第一按鍵被抬起的情況下,將第二標志位更新為第四數值,其中,第四數值表示第二按鍵沒有被按下;判斷模塊,用于判斷第一標志位是否為第二數值,其中,第二數值表示第一按鍵被按下;第二發送模塊,用于如果判斷出第一標志位為第二數值,發送第一按鍵所對應的輸入指令;第六更新模塊,用于將第一標志位更新為第一數值。
[0117]顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。
[0118]以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種實現矩陣鍵盤中組合按鍵的方法,其特征在于,所述組合按鍵包括第一按鍵和第二按鍵,所述方法包括: 檢測所述第一按鍵是否被按下; 在檢測到所述第一按鍵被按下時,檢測所述第二按鍵是否被按下; 如果檢測到所述第二按鍵被按下,則發送所述組合按鍵所對應的輸入指令;以及 如果檢測到所述第二按鍵未被按下,發送所述第一按鍵所對應的輸入指令。
2.根據權利要求1所述的方法,其特征在于,檢測所述第一按鍵是否被按下包括: 將矩陣鍵盤的列值設為零; 對所述矩陣鍵盤的行進行掃描; 檢測所述矩陣鍵盤的行值是否為零; 如果檢測到所述矩陣鍵盤的行值為零,查找行值為零的行對應的列;以及 由列值為零的列和行值為零的行,檢測到所述第一按鍵被按下。
3.根據權利要求1所述的方法,其特征在于,在獲取第一輸入信息之前,所述方法還包括: 創建第一標志位、第二標志位和第三標志位,其中,所述第一標志位的值包括第一數值、第二數值和第三數值,所述第二標志位的值包括第四數值和第五數值,所述第三標志位的值包括第六數值和第七數值; 將所述第一標志位的值設置為所述第一數值,其中,所述第一數值表示所述第一按鍵沒有被按下; 將所述第二標志位的值設置為所述第四數值,其中,所述第四數值表示所述第二按鍵沒有被按下;以及 將所述第三標志位的值設置為所述第六數值,其中,所述第六數值表示沒有按鍵被按下。
4.根據權利要求3所述的方法,其特征在于,在檢測到所述第一按鍵被按下時,檢測所述第二按鍵是否被按下包括: 將第一標志位更新為所述第二數值,其中,所述第二數值表示所述第一按鍵被按下; 判斷第二標志位是否為所述第五數值,其中,所述第五數值表示所述第二按鍵被按下; 在判斷出所述第二標志位為所述第五數值的情況下,檢測到所述第二按鍵被按下;以及 在判斷出所述第二標志位不為所述第五數值的情況下,未檢測到所述第二按鍵被按下。
5.根據權利要求3所述的方法,其特征在于,如果檢測到所述第二按鍵被按下,則發送所述組合按鍵所對應的輸入指令包括: 將所述第一標志位更新為所述第三數值,其中,所述第三數值表示所述第一按鍵被抬起; 將所述第三標志位更新為所述第七數值,其中,所述第七數值表示有按鍵被按下,需要發送被按下按鍵對應的輸入指令; 發送所述組合按鍵所對應的輸入指令; 將所述第三標志位更新為所述第六數值,其中,所述第六數值表示沒有按鍵被按下,不需要發送指令;以及 將所述第一標志位更新為所述第一數值。
6.根據權利要求3所述的方法,其特征在于,如果檢測到所述第二按鍵未被按下,則發送所述第一按鍵所對應的輸入指令包括: 檢測所述第一按鍵是否被抬起; 如果檢測到所述第一按鍵被抬起,將所述第二標志位更新為第四數值,其中,所述第四數值表示所述第二按鍵沒有被按下; 判斷第一標志位是否為第二數值,其中,所述第二數值表示所述第一按鍵被按下; 如果判斷出第一標志位為第二數值,發送所述第一按鍵所對應的輸入指令;以及 將所述第一標志位更新為所述第一數值。
7.一種實現矩陣鍵盤中組合按鍵的裝置,其特征在于,所述組合按鍵包括第一按鍵和第二按鍵,所述裝置包括: 第一檢測單元,用于檢測所述第一按鍵是否被按下; 第二檢測單元,用于在檢測到所述第一按鍵被按下時,檢測所述第二按鍵是否被按下; 第一發送單元,用于在檢測到所述第二按鍵被按下的情況下,則發送所述組合按鍵所對應的輸入指令;以及 第二發送單元,用于在檢測到所述第二按鍵未被按下的情況下,則發送所述第一按鍵所對應的輸入指令。
8.根據權利要求7所述的裝置,其特征在于,所述第一檢測單元包括: 預設模塊,用于將矩陣鍵盤的列值設為零; 掃描模塊,用于對所述矩陣鍵盤的行進行掃描; 第一檢測模塊,用于檢測所述矩陣鍵盤的行值是否為零; 查找模塊,用于在檢測到所述矩陣鍵盤的行值為零的情況下,查找行值為零的行對應的列;以及 第二檢測模塊,用于由列值為零的列和行值為零的行,檢測到所述第一按鍵被按下。
9.根據權利要求7所述的裝置,其特征在于,所述第一發送單元包括: 第一更新模塊,用于將第一標志位更新為第三數值,其中,所述第三數值表示所述第一按鍵被抬起; 第二更新模塊,用于將第三標志位更新為第七數值,其中,所述第七數值表示有按鍵被按下,需要發送被按下按鍵對應的輸入指令; 第一發送模塊,用于發送所述組合按鍵所對應的輸入指令; 第三更新模塊,用于將第三標志位更新為第六數值,其中,所述第六數值表示沒有按鍵被按下,不需要發送指令;以及 第四更新模塊,用于將第一標志位更新為第一數值。
10.根據權利要求7所述的裝置,其特征在于,所述第二發送單元包括: 第三檢測模塊,用于檢測所述第一按鍵是否被抬起; 第五更新模塊,用于在檢測到所述第一按鍵被抬起的情況下,將第二標志位更新為第四數值,其中,所述第四數值表示所述第二按鍵沒有被按下; 判斷模塊,用于判斷第一標志位是否為第二數值,其中,所述第二數值表示所述第一按鍵被按下; 第二發送模塊,用于如果判斷出第一標志位為第二數值,發送所述第一按鍵所對應的輸入指令;以及 第六更新模塊,用于將第一標志位更新為第一數值。
【文檔編號】G06F3/02GK104331170SQ201410602085
【公開日】2015年2月4日 申請日期:2014年10月30日 優先權日:2014年10月30日
【發明者】盛多錚 申請人:北京海蘭盈華科技有限公司