一種安防鍵盤碼元匹配方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及安全防控領(lǐng)域,特別涉及一種安防鍵盤碼元匹配方法及裝置。
【背景技術(shù)】
[0002] 鍵盤碼元匹配對于在安防設(shè)備受控端、集中管理平臺或協(xié)議轉(zhuǎn)換器,是一種基本 功能,要求設(shè)備或平臺系統(tǒng)對多種廠家的鍵盤提供支持,對接收到的碼元能夠做出快速響 應(yīng),具有較高靈敏度。
[0003] 傳統(tǒng)的方法如下:首先將碼元常量直接寫到代碼中,工作時,把接收緩沖區(qū)數(shù)據(jù), 逐個與碼元常量匹配,如果與某碼元匹配成功,立即執(zhí)行鍵盤輸入輸出控制命令。如果碼元 匹配不成功,則丟棄。如果需要支持多種類型協(xié)議,則增加一個處理分支,重復(fù)上述工作。另 外有一些方法,如將每個協(xié)議編譯成庫文件。
[0004] 通常這些方法匹配效率低。并且在碼元命令被修改,或者新增加碼元命令時,都需 要重新編譯程序或者庫文件,給設(shè)備或者軟件升級,才能支持新的鍵盤命令。這給設(shè)備和軟 件的開發(fā)維護帶來了不少的工作量。而且,產(chǎn)品對新設(shè)備新命令的支持就有了一定的滯后 (其中需要評估、代碼改動、測試,發(fā)布,升級多個環(huán)節(jié))。另外一個缺點就是,新增加一個協(xié) 議支持時改動比較大,程序改動越大,就意味著程序穩(wěn)定性風險越高。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供了一種安防鍵盤碼元匹配方法及系統(tǒng),提高了安防鍵盤碼元匹配的效 率。
[0006] -方面,本發(fā)明提供了一種安防鍵盤碼元匹配方法,所述安防鍵盤碼元匹配方法 包括:
[0007] 對鍵盤的按鍵進行編碼;
[0008] 建立第一二維表;所述第一二維表包括所述編碼、按鍵名以及在各個控球協(xié)議中 與所述按鍵名對應(yīng)的碼元;
[0009] 根據(jù)所述第一二維表建立數(shù)個鏈表;所述鏈表與所述控球協(xié)議一一對應(yīng),所述鏈 表中的每個元素包括所述編碼、所述按鍵名以及在所述控球協(xié)議中與所述按鍵名對應(yīng)的所 述碼元;
[0010] 根據(jù)用戶所發(fā)出的協(xié)議選擇操作從所述控球協(xié)議中獲取當前鍵盤的目標協(xié)議;所 述目標協(xié)議對應(yīng)一個目標鏈表;
[0011] 根據(jù)用戶所發(fā)出的按鍵操作反饋目標編碼;
[0012] 當所述目標編碼與所述目標鏈表中的元素相匹配時,從所述目標鏈表中獲取與所 述目標編碼對應(yīng)的目標碼元,并執(zhí)行與所述目標碼元對應(yīng)的鍵盤命令。另一方面,本發(fā)明 提供了一種安防鍵盤碼元匹配裝置,所述安防鍵盤碼元匹配裝置包括:
[0013] 編碼模塊,用于對鍵盤的按鍵進行編碼;
[0014] 第一建立模塊,用于建立第一二維表;所述第一二維表包括所述編碼、按鍵名以及 在各個控球協(xié)議中與所述按鍵名對應(yīng)的碼元;
[0015] 第二建立模塊,用于根據(jù)所述第一二維表建立數(shù)個鏈表;所述鏈表與所述控球協(xié) 議一一對應(yīng),所述鏈表中的每個元素包括所述編碼、所述按鍵名以及在所述控球協(xié)議中與 所述按鍵名對應(yīng)的所述碼元;
[0016] 第一獲取模塊,用于根據(jù)用戶所發(fā)出的協(xié)議選擇操作從所述控球協(xié)議中獲取當前 鍵盤的目標協(xié)議;所述目標協(xié)議對應(yīng)一個目標鏈表;
[0017] 第二獲取模塊,用于根據(jù)用戶所發(fā)出的按鍵操作反饋目標編碼;
[0018] 執(zhí)行模塊,用于當所述目標編碼與所述目標鏈表中的元素相匹配時,從所述目標 鏈表中獲取與所述目標編碼對應(yīng)的目標碼元,并執(zhí)行與所述目標碼元對應(yīng)的鍵盤命令。
[0019] 從上述本發(fā)明可知,由于首先對鍵盤的按鍵進行編碼;建立第一二維表;所述第 一二維表包括編碼、按鍵名以及在各個控球協(xié)議中與按鍵名對應(yīng)的碼元;再根據(jù)第一二維 表建立數(shù)個鏈表;鏈表與控球協(xié)議一一對應(yīng),鏈表中的每個元素包括編碼、按鍵名以及在控 球協(xié)議中與按鍵名對應(yīng)的碼元;然后根據(jù)用戶所發(fā)出的協(xié)議選擇操作從控球協(xié)議中獲取當 前鍵盤的目標協(xié)議;目標協(xié)議對應(yīng)一個目標鏈表;根據(jù)用戶所發(fā)出的按鍵操作反饋目標編 碼;最后當目標編碼與目標鏈表中的元素相匹配時,從目標鏈表中獲取與目標編碼對應(yīng)的 目標碼元,并執(zhí)行與目標碼元對應(yīng)的鍵盤命令;因此,提高了安防鍵盤碼元匹配的效率。
【附圖說明】
[0020] 為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他 的附圖。
[0021] 圖1為本發(fā)明實施例一提供的一種安防鍵盤碼元匹配方法的實現(xiàn)流程圖;
[0022] 圖2為本發(fā)明實施例一提供的一種安防鍵盤碼元匹配方法的另一種實現(xiàn)流程圖;
[0023] 圖3為本發(fā)明實施例二提供的一種安防鍵盤碼元匹配方法的實現(xiàn)流程圖;
[0024] 圖4為本發(fā)明實施例三提供的一種安防鍵盤碼元匹配方法的實現(xiàn)流程圖;
[0025] 圖5為本發(fā)明實施例四提供的一種安防鍵盤碼元匹配裝置的一種結(jié)構(gòu)示意圖;
[0026] 圖6為本發(fā)明實施例四提供的一種安防鍵盤碼元匹配裝置的另一種結(jié)構(gòu)示意圖;
[0027] 圖7為本發(fā)明實施例四提供的一種安防鍵盤碼元匹配裝置第二建立模塊的結(jié)構(gòu) 示意圖。
[0028] 圖8為本發(fā)明實施例四提供的一種安防鍵盤碼元匹配裝置的另一種結(jié)構(gòu)示意圖;
[0029] 圖9為本發(fā)明實施例四提供的一種安防鍵盤碼元匹配裝置的另一種結(jié)構(gòu)示意圖。
【具體實施方式】
[0030] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方 式作進一步地詳細描述。
[0031] 實施例一:
[0032] 本發(fā)明實施例一提供的一種安防鍵盤碼元匹配方法流程,參見圖1,安防鍵盤碼元 匹配方法包括:
[0033] 101.對鍵盤的按鍵進行編碼。對鍵盤所有事件動作進行統(tǒng)一編碼,對不同協(xié)議的 事件動作一致的不同碼元,編相同的碼,具有相同的控制輸出。。
[0034] 102.建立第一二維表;第一二維表包括編碼、按鍵名以及在各個控球協(xié)議中與按 鍵名對應(yīng)的碼元。建立第一二維表以形成數(shù)據(jù)庫文件,使用一個小型數(shù)據(jù)庫進行數(shù)據(jù)存儲, 如使用數(shù)據(jù)庫MicrosoftAccess、SQLite等。第一二維表的表頭包括編碼、按鍵名以及各 個協(xié)議??厍騾f(xié)議泛指安防行業(yè)中使用安防專用鍵盤對前端設(shè)備、球型攝像機進行聚焦、視 野角度調(diào)整等控制操作,所使用的通訊協(xié)議。
[0035] 103.根據(jù)第一二維表建立數(shù)個鏈表;鏈表與控球協(xié)議一一對應(yīng),鏈表中的每個元 素包括編碼、按鍵名以及在控球協(xié)議中與按鍵名對應(yīng)的碼元。
[0036] 根據(jù)第一二維表中支持控球協(xié)議的數(shù)量初始化數(shù)個鏈表,該鏈表用來存放某一控 球協(xié)議的所有碼元,每支持一種控球協(xié)議,就需要初始化一個新的鏈表數(shù)據(jù)結(jié)構(gòu)。
[0037] 查詢第一二維表,將與控球協(xié)議對應(yīng)的碼元和編碼對應(yīng)關(guān)系的數(shù)據(jù)結(jié)構(gòu)插入鏈 表,重復(fù)以上操作,直到完成所有控球協(xié)議的碼元加載到所有的鏈表中。
[0038] 104.根據(jù)用戶所發(fā)出的協(xié)議選擇操作從控球協(xié)議中獲取當前鍵盤的目標協(xié)議; 目標協(xié)議對應(yīng)一個目標鏈表。
[0039] 將所有的支持的鍵盤協(xié)議名稱顯示在菜單上,用戶可以根據(jù)下拉列表顯示選擇當 前鍵盤的目標協(xié)議,安防設(shè)備從控球協(xié)議中獲取當前鍵盤的目標協(xié)議,目標協(xié)議對應(yīng)一個 目標鏈表。
[0040] 105.根據(jù)用戶所發(fā)出的按鍵操作反饋目標編碼。
[0041] 106.當目標