動態(tài)鍵盤矩陣功能切換方法和系統(tǒng)的制作方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及計算機(jī)輔助設(shè)備,特別是涉及一種動態(tài)鍵盤矩陣功能切換方法和系統(tǒng)。【
背景技術(shù):
】[0002]隨著計算機(jī)廣泛的應(yīng)用于工業(yè)控制場合和各種智能控制領(lǐng)域,EC(EmbeddedController,嵌入式控制器)作為計算機(jī)的重要組成部分,發(fā)揮著越來越重要的作用。目前在很多工業(yè)控制領(lǐng)域,EC芯片不再僅僅擁有計算機(jī)的輔助開機(jī)等傳統(tǒng)的功能,作為獨(dú)立的控制芯片,EC芯片的功能很好的彌補(bǔ)了計算機(jī)的不足,比如工業(yè)信號指示,溫度報警,以及特殊鍵盤的使用。而作為特殊鍵盤的使用,不同的工業(yè)控制領(lǐng)域?qū)︽I盤矩陣有不同的要求,因此需要EC去定義不同的Scantable(鍵盤掃描碼)。[0003]對于傳統(tǒng)的鍵盤而言,一套EC代碼包含一份鍵盤部分處理代碼及鍵盤掃描碼ROM文件,若鍵盤功能更換,需要更改EC代碼,并重新設(shè)計鍵盤掃描碼文件,因此會根據(jù)鍵盤功能的不同出現(xiàn)多套EC代碼,增加了維護(hù)的難度,且需來回刷寫EC代碼,容易出現(xiàn)刷寫出錯?!?br/>發(fā)明內(nèi)容】[0004]基于此,有必要針對傳統(tǒng)的鍵盤功能不同需配置多套EC代碼,導(dǎo)致維護(hù)難度大的問題,提供一種能降低維護(hù)難度,減少重復(fù)刷EC代碼,降低出錯概率的動態(tài)鍵盤矩陣功能切換方法。[0005]此外,還有必要提供一種能降低維護(hù)難度,減少重復(fù)刷EC代碼,降低出錯概率的動態(tài)鍵盤矩陣功能切換系統(tǒng)。[0006]一種動態(tài)鍵盤矩陣功能切換方法,包括以下步驟:[0007]獲取鍵盤矩陣類型;[0008]根據(jù)所述鍵盤矩陣類型從預(yù)先存儲在嵌入式控制器代碼中的鍵盤矩陣類型與鍵盤掃描碼對應(yīng)表中得到對應(yīng)的鍵盤掃描碼。[0009]在其中一個實施例中,所述獲取鍵盤矩陣類型的步驟包括:[0010]鍵盤上電時,通過嵌入式控制器讀取鍵盤識別碼,并根據(jù)所述鍵盤識別碼判斷鍵盤矩陣類型。[0011]在其中一個實施例中,所述獲取鍵盤矩陣類型的步驟包括:[0012]通過嵌入式控制器讀取由用戶在基本輸入輸出系統(tǒng)中設(shè)置并存放到指定位置的鍵盤矩陣類型。[0013]在其中一個實施例中,在所述獲取鍵盤矩陣類型的步驟之前,所述方法還包括:[0014]建立鍵盤矩陣類型與鍵盤掃描碼的對應(yīng)表;[0015]將所述鍵盤矩陣類型與鍵盤掃描碼的對應(yīng)表存入嵌入式控制器代碼中。[0016]在其中一個實施例中,在所述根據(jù)所述鍵盤矩陣類型從預(yù)先存儲在嵌入式控制器代碼中的鍵盤矩陣類型與鍵盤掃描碼對應(yīng)表中得到對應(yīng)的鍵盤掃描碼的步驟之后,所述方法還包括:[0017]在檢測到鍵盤按鍵被按下時,根據(jù)得到的對應(yīng)的鍵盤掃描碼執(zhí)行相應(yīng)的鍵盤處理代碼。[0018]一種動態(tài)鍵盤矩陣功能切換系統(tǒng),包括:[0019]獲取模塊,用于獲取鍵盤矩陣類型;[0020]配置模塊,用于根據(jù)所述鍵盤矩陣類型從預(yù)先存儲在嵌入式控制器代碼中的鍵盤矩陣類型與鍵盤掃描碼對應(yīng)表中得到對應(yīng)的鍵盤掃描碼。[0021]在其中一個實施例中,所述獲取模塊還用于在鍵盤上電時,通過嵌入式控制器讀取鍵盤識別碼,并根據(jù)所述鍵盤識別碼判斷鍵盤矩陣類型。[0022]在其中一個實施例中,所述獲取模塊還用于通過嵌入式控制器讀取由用戶在基本輸入輸出系統(tǒng)中設(shè)置并存放到指定位置的鍵盤矩陣類型。[0023]在其中一個實施例中,所述系統(tǒng)還包括:[0024]建立模塊,用于建立鍵盤矩陣類型與鍵盤掃描碼的對應(yīng)表;[0025]存儲模塊,用于將所述鍵盤矩陣類型與鍵盤掃描碼的對應(yīng)表存入嵌入式控制器代碼中。[0026]在其中一個實施例中,所述系統(tǒng)還包括:[0027]執(zhí)行模塊,用于在檢測到鍵盤按鍵被按下時,根據(jù)得到的對應(yīng)的鍵盤掃描碼執(zhí)行相應(yīng)的鍵盤處理代碼。[0028]上述動態(tài)鍵盤矩陣功能切換方法和系統(tǒng),通過識別鍵盤矩陣類型,從預(yù)先存儲的鍵盤矩陣類型與鍵盤掃描碼的對應(yīng)表中得到對應(yīng)的鍵盤掃描碼,以供使用,實現(xiàn)了一套嵌入式控制器代碼適應(yīng)多種鍵盤,減少了嵌入式控制器代碼的數(shù)量,降低了嵌入式控制器代碼的維護(hù)難度,需求不同時更換鍵盤不需重刷另一套嵌入式控制器代碼,減少了重復(fù)刷嵌入式控制器代碼的工作量,同時降低了重復(fù)刷嵌入式控制器代碼出錯的概率。【附圖說明】[0029]圖1為一個實施例中動態(tài)鍵盤矩陣功能切換方法的流程圖;[0030]圖2為另一個實施例中動態(tài)鍵盤矩陣功能切換方法的流程圖;[0031]圖3為一個實施例中動態(tài)鍵盤矩陣功能切換系統(tǒng)的結(jié)構(gòu)框圖;[0032]圖4為另一個實施例中動態(tài)鍵盤矩陣功能切換系統(tǒng)的結(jié)構(gòu)框圖;[0033]圖5為另一個實施例中動態(tài)鍵盤矩陣功能切換系統(tǒng)的結(jié)構(gòu)框圖。【具體實施方式】[0034]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。[0035]圖1為一個實施例中動態(tài)鍵盤矩陣功能切換方法的流程圖。該動態(tài)鍵盤矩陣功能切換方法,包括以下步驟:[0036]步驟102,獲取鍵盤矩陣類型。[0037]具體的,鍵盤矩陣類型可根據(jù)功能需要定義為多種,例如鍵盤矩陣可定義為8X16或者8X18矩陣,也可定義按鍵比較少的鍵盤矩陣,在此不作限定。鍵盤矩陣類型定義后,可根據(jù)用戶的不同需求定義每個按鍵的意義。[0038]步驟104,根據(jù)該鍵盤矩陣類型從預(yù)先存儲在嵌入式控制器代碼中的鍵盤矩陣類型與鍵盤掃描碼對應(yīng)表中得到對應(yīng)的鍵盤掃描碼。[0039]具體的,在根據(jù)鍵盤矩陣類型得到對應(yīng)的鍵盤掃描碼后,上述動態(tài)鍵盤矩陣功能切換方法還包括:在檢測到鍵盤按鍵被按下時,根據(jù)得到的對應(yīng)的鍵盤掃描碼執(zhí)行相應(yīng)的鍵盤處理代碼。該鍵盤處理代碼是指按下鍵盤按鍵時對按鍵進(jìn)行識別以及執(zhí)行的代碼。鍵盤掃描碼是指存儲在嵌入式控制器代碼中以表格的形式存在的鍵盤的通碼和斷碼。鍵盤掃描碼包括通碼和斷碼,當(dāng)一個鍵被按下或持續(xù)按住時,鍵盤會將該鍵的通碼發(fā)送給主機(jī),而當(dāng)一個鍵被釋放時,鍵盤會將該鍵的斷碼發(fā)送給主機(jī)。例如,對于大寫字母“F”,當(dāng)接下時通碼是“2B”,彈起時斷碼是“F0,2B”。每個鍵的被分配了唯一的通碼和斷碼,若干個鍵構(gòu)成的一套通碼和斷碼組合成掃描碼集。[0040]上述動態(tài)鍵盤矩陣功能切換方法,通過識別鍵盤矩陣類型,從預(yù)先存儲的鍵盤矩陣類型與鍵盤掃描碼的對應(yīng)表中得到對應(yīng)的鍵盤掃描碼,以供使用,實現(xiàn)了一套嵌入式控制器代碼適應(yīng)多種鍵盤,減少了嵌入式控制器代碼的數(shù)量,降低了嵌入式控制器代碼的維護(hù)難度,需求不同時更換鍵盤不需重刷另一套嵌入式控制器代碼,減少了重復(fù)刷嵌入式控制器代碼的工作量,同時降低了重復(fù)刷嵌入式控制器代碼出錯的概率。[0041]可以理解的是,在一個實施例中,該獲取鍵盤矩陣類型的步驟包括:鍵盤上電時,通過嵌入式控制器讀取鍵盤識別碼,并根據(jù)該鍵盤識別碼判斷鍵盤矩陣類型。[0042]具體的,鍵盤識別碼是為了使實際接上的鍵盤與嵌入式控制器代碼中存儲的鍵盤掃描碼對應(yīng)。本實施例中,可通過嵌入式控制器偵測鍵盤上電時連接鍵盤的跳線對應(yīng)的高低電平來識別不同的鍵盤矩陣類型。[0043]在鍵盤上電時,通過嵌入式控制器識別鍵盤矩陣類型,采用了硬件方式識別鍵盤矩陣類型,操作簡單,利用已有的硬件設(shè)備,不需額外增加硬件設(shè)施,成本低。[0044]可以理解的是,在其他實施例中,該獲取鍵盤矩陣類型的步驟包括:通過嵌入式控制器讀取由用戶在基本輸入輸出系統(tǒng)中設(shè)置并存放到指定位置的鍵盤矩陣類型。[0045]具體的,在B1S(BasicInputOutputSystem,基本輸入輸出系統(tǒng))的SETUP菜單中預(yù)留選項,獲取用戶根據(jù)不同的鍵盤選擇的不同的鍵盤矩陣類型,并將該選擇的鍵盤矩陣類型存放到指定位置。該指定位置為嵌入式控制器和B1S同時能夠訪問到的一段地址空間,可根據(jù)需要設(shè)定,例如映射到內(nèi)存中的一段ROM地址空間。然后,通過嵌入式控制器讀取該指定位置,得到鍵盤矩陣類型。[0046]上述通過在B1S中設(shè)置鍵盤矩陣類型,存放在指定位置,然后再通過嵌入式控制器讀取指定位置獲取鍵盤矩陣類型,實現(xiàn)了以軟件方式獲取鍵盤矩陣類型,采用已有的軟件進(jìn)行設(shè)置,不需額外開發(fā)設(shè)計新的軟件,成本低。[0047]圖2為另一個實施例中動態(tài)鍵盤矩陣功能切換方法的流程圖。如圖2所示,該動態(tài)鍵盤矩陣功能切換方法,包括:[0048]步驟202,建立鍵盤矩陣類型與鍵盤掃描碼的對應(yīng)表。[0049]具體的,根據(jù)不同的鍵盤矩陣類型設(shè)計不同的鍵盤掃描碼,建立鍵盤矩陣類型與鍵盤掃描碼的對應(yīng)表。該對應(yīng)表中存儲了鍵盤矩陣類型及對應(yīng)的鍵盤掃描碼。[0050]步驟204,將該鍵盤矩陣類型與鍵盤掃描碼的對應(yīng)表存入嵌入式控制器代碼中。[0051]具體的,在嵌入式控制器代碼中不同鍵盤矩陣類型對應(yīng)的鍵盤掃描碼存放在不同表中。[0052]步驟206,獲取鍵盤矩陣類型。[0053]具體的,鍵盤矩陣類型可當(dāng)前第1頁1 2