亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種與主機(jī)驅(qū)動(dòng)實(shí)現(xiàn)雙向信息交互的自定義USB鼠標(biāo)和鍵盤的系統(tǒng)及方法與流程

文檔序號(hào):11199134閱讀:1970來(lái)源:國(guó)知局
一種與主機(jī)驅(qū)動(dòng)實(shí)現(xiàn)雙向信息交互的自定義USB鼠標(biāo)和鍵盤的系統(tǒng)及方法與流程

本發(fā)明涉及usb通信領(lǐng)域,尤其是一種與主機(jī)驅(qū)動(dòng)實(shí)現(xiàn)雙向信息交互的自定義usb鼠標(biāo)和鍵盤的系統(tǒng)及方法。



背景技術(shù):

現(xiàn)在很多usb鼠標(biāo)和鍵盤都有自定義功能,即將鼠標(biāo)和鍵盤中的某些按鍵功能改為用戶設(shè)定的其他鼠標(biāo)和鍵盤或組合按鍵等功能,一般主機(jī)驅(qū)動(dòng)軟件對(duì)usb鼠標(biāo)和鍵盤只做單向的控制,沒(méi)有雙向的信息交互。

第一種方法是主機(jī)驅(qū)動(dòng)軟件通過(guò)特定指令將一些配置信息寫入usb鼠標(biāo)和鍵盤的存儲(chǔ)器中,usb鼠標(biāo)和鍵盤按鍵動(dòng)作后會(huì)從存儲(chǔ)器中讀取對(duì)應(yīng)的功能信息,然后將對(duì)應(yīng)功能發(fā)送至主機(jī)。該方法需要存儲(chǔ)量較大的存儲(chǔ)器,成本較高。

第二種方法是主機(jī)驅(qū)動(dòng)軟件收到鼠標(biāo)和鍵盤的動(dòng)作后,屏蔽硬件鼠標(biāo)和鍵盤功能,用軟件方法發(fā)送自定義按鍵至系統(tǒng)。此方法由于不是基于底層驅(qū)動(dòng)工作,很容易被第三方軟件屏蔽,安全性低。

第三種方法是主機(jī)驅(qū)動(dòng)軟件在底層虛擬鼠標(biāo)和鍵盤,在收到鼠標(biāo)和鍵盤動(dòng)作后,屏蔽硬件鼠標(biāo)和鍵盤功能,通過(guò)底層虛擬鼠標(biāo)和鍵盤將自定義功能發(fā)送給主機(jī),該方法需要很好的兼容性,一旦底層虛擬硬件驅(qū)動(dòng)兼容性不好,很容易讓主機(jī)系統(tǒng)藍(lán)屏,甚至損壞主機(jī)硬件。而且軟件編程人員必須有底層驅(qū)動(dòng)知識(shí)才能編寫驅(qū)動(dòng),有一定的復(fù)雜性。



技術(shù)實(shí)現(xiàn)要素:

為解決上述問(wèn)題,本發(fā)明提供一種安全性高、成本低、采用usb標(biāo)準(zhǔn)驅(qū)動(dòng)工作的一種與主機(jī)驅(qū)動(dòng)實(shí)現(xiàn)雙向信息交互的自定義usb鼠標(biāo)和鍵盤的系統(tǒng)及方法,具體技術(shù)方案為:

一種與主機(jī)驅(qū)動(dòng)實(shí)現(xiàn)雙向信息交互的自定義usb鼠標(biāo)和鍵盤的系統(tǒng),包括設(shè)置在主機(jī)中的主機(jī)系統(tǒng)、主機(jī)驅(qū)動(dòng)軟件、主機(jī)系統(tǒng)usb驅(qū)動(dòng)以及設(shè)置在usb鼠標(biāo)和鍵盤中的按鍵模塊、usb發(fā)送模塊、usb解包校驗(yàn)?zāi)K和usb按鍵功能分配模塊;所述主機(jī)驅(qū)動(dòng)軟件、主機(jī)系統(tǒng)usb驅(qū)動(dòng)和主機(jī)系統(tǒng)依次連接,所述主機(jī)系統(tǒng)usb驅(qū)動(dòng)通過(guò)usb總線分別與usb解包校驗(yàn)?zāi)K和usb發(fā)送模塊連接;所述usb解包校驗(yàn)?zāi)K分別與usb按鍵功能分配模塊和按鍵模塊連接,所述按鍵模塊與usb發(fā)送模塊連接;所述主機(jī)系統(tǒng)為安裝在主機(jī)端的操作系統(tǒng),包括windows、linux和macos;所述主機(jī)驅(qū)動(dòng)軟件是基于主機(jī)系統(tǒng)工作,在主機(jī)系統(tǒng)下編程開(kāi)發(fā)的軟件,主機(jī)驅(qū)動(dòng)軟件與主機(jī)系統(tǒng)usb驅(qū)動(dòng)通信,主機(jī)系統(tǒng)usb驅(qū)動(dòng)與usb鼠標(biāo)和鍵盤通信,從而間接與usb鼠標(biāo)和鍵盤通信;所述usb按鍵功能分配模塊通過(guò)接收usb指令來(lái)分配usb鼠標(biāo)和鍵盤各個(gè)按鍵功能;用戶在主機(jī)驅(qū)動(dòng)軟件中設(shè)定自定義功能,所述主機(jī)驅(qū)動(dòng)軟件通過(guò)主機(jī)系統(tǒng)usb驅(qū)動(dòng)將指令和按鍵分配信息發(fā)送至usb解包校驗(yàn)?zāi)K;所述usb解包校驗(yàn)?zāi)K進(jìn)行解包校驗(yàn),在校驗(yàn)正確后,將指令和按鍵分配信息傳輸?shù)絬sb按鍵功能分配模塊,通過(guò)按鍵分配信息分配到按鍵模塊,或者將解包校驗(yàn)得到的按鍵信息直接傳輸給按鍵模塊;所述按鍵模塊將按鍵信息解析成鼠標(biāo)和鍵盤的按鍵,通過(guò)usb發(fā)送模塊發(fā)送至主機(jī)系統(tǒng)usb驅(qū)動(dòng),由主機(jī)系統(tǒng)usb驅(qū)動(dòng)直接解析按鍵信息,并由主機(jī)系統(tǒng)獲取按鍵。

一種與主機(jī)驅(qū)動(dòng)實(shí)現(xiàn)雙向信息交互的自定義usb鼠標(biāo)和鍵盤的方法,包括以下步驟:

s1、根據(jù)用戶在主機(jī)驅(qū)動(dòng)軟件上設(shè)定的按鍵功能,主機(jī)驅(qū)動(dòng)軟件通過(guò)主機(jī)系統(tǒng)usb驅(qū)動(dòng)將指令1和按鍵分配信息發(fā)送至usb鼠標(biāo)和鍵盤;

s2、usb鼠標(biāo)和鍵盤收到數(shù)據(jù)后,通過(guò)usb解包校驗(yàn)?zāi)K進(jìn)行解包校驗(yàn),在校驗(yàn)正確后,將指令1和按鍵分配信息傳輸?shù)絬sb按鍵功能分配模塊,通過(guò)按鍵分配信息分配usb鼠標(biāo)和鍵盤中的各個(gè)按鍵功能;

s3、usb鼠標(biāo)和鍵盤等待按鍵動(dòng)作即按鍵按下或按鍵釋放,按鍵動(dòng)作觸發(fā)后,先確定分配的功能,如為自定義功能按鍵,則通過(guò)usb發(fā)送指令2、按鍵序號(hào)和按鍵狀態(tài)至主機(jī)系統(tǒng)usb驅(qū)動(dòng),如為鼠標(biāo)和鍵盤硬件內(nèi)置功能,則直接發(fā)送按鍵至主機(jī)系統(tǒng)usb驅(qū)動(dòng),由主機(jī)系統(tǒng)usb驅(qū)動(dòng)直接解析按鍵信息,并由主機(jī)系統(tǒng)獲取按鍵;

s4、主機(jī)驅(qū)動(dòng)軟件在收到主機(jī)系統(tǒng)usb驅(qū)動(dòng)中的指令2、按鍵序號(hào)和按鍵狀態(tài)后,根據(jù)按鍵序號(hào)和按鍵狀態(tài)查找對(duì)應(yīng)的用戶自定義按鍵的功能即組合按鍵、多媒體按鍵、按鍵按下、按鍵釋放;

s5、主機(jī)驅(qū)動(dòng)軟件通過(guò)主機(jī)系統(tǒng)usb驅(qū)動(dòng)發(fā)送指令3和用戶自定義按鍵功能中的一個(gè)按鍵信息至usb鼠標(biāo)和鍵盤,一個(gè)按鍵信息為按鍵按下或按鍵釋放;

s6、usb鼠標(biāo)和鍵盤收到的usb數(shù)據(jù)在經(jīng)過(guò)usb解包校驗(yàn)?zāi)K解包校驗(yàn),得到含指令3的數(shù)據(jù)后,則將按鍵信息傳輸至按鍵模塊,按鍵模塊將按鍵信息解析成鼠標(biāo)和鍵盤的按鍵,通過(guò)usb發(fā)送模塊發(fā)送至主機(jī)系統(tǒng)usb驅(qū)動(dòng),由主機(jī)系統(tǒng)usb驅(qū)動(dòng)直接解析按鍵信息,并由主機(jī)系統(tǒng)獲取按鍵;

s7、若所有自定義按鍵發(fā)送完成,發(fā)送指令4至usb鼠標(biāo)和鍵盤,若還有其他按鍵發(fā)送,則主機(jī)驅(qū)動(dòng)軟件根據(jù)用戶自定義功能中設(shè)定的按鍵延遲等待一段時(shí)間后,繼續(xù)下一個(gè)自定義按鍵,重復(fù)步驟s5-s7;

s8、usb鼠標(biāo)和鍵盤收到指令4后,結(jié)束usb鼠標(biāo)和鍵盤自定義按鍵發(fā)送,一次完整的自定義功能按鍵工作完成;

s9、回到步驟s1,并等待下一次按鍵動(dòng)作觸發(fā)。

其中,所述步驟s1-s9中usb鼠標(biāo)和鍵盤采用中斷方式工作,所有操作都在usb總線空閑時(shí)工作,不影響鼠標(biāo)和鍵盤的正常工作。

與現(xiàn)有技術(shù)相比添加usb按鍵功能分配模塊,通過(guò)接收usb指令來(lái)分配usb鼠標(biāo)和鍵盤各個(gè)按鍵功能,現(xiàn)有技術(shù)的各個(gè)按鍵功能無(wú)法修改,按鍵動(dòng)作會(huì)發(fā)送對(duì)應(yīng)的按鍵功能至主機(jī)。

用戶在主機(jī)驅(qū)動(dòng)軟件中設(shè)定的自定義功能通過(guò)指令方式發(fā)送給usb鼠標(biāo)和鍵盤,再通過(guò)usb鼠標(biāo)和鍵盤解包校驗(yàn)后,將自定義功能發(fā)送給主機(jī)。此過(guò)程采用分時(shí)分段方式信息交互方法,不影響usb鼠標(biāo)和鍵盤的正常工作。該方法且不需要額外的存儲(chǔ)器,成本低;主機(jī)驅(qū)動(dòng)軟件使用主機(jī)系統(tǒng)usb驅(qū)動(dòng)作為底層驅(qū)動(dòng),無(wú)需在底層虛擬鼠標(biāo)和鍵盤,兼容性好。

主機(jī)系統(tǒng)usb驅(qū)動(dòng)是連接usb鼠標(biāo)和鍵盤與主機(jī)驅(qū)動(dòng)軟件的橋梁,主機(jī)驅(qū)動(dòng)軟件能夠從主機(jī)系統(tǒng)usb驅(qū)動(dòng)獲取usb鼠標(biāo)和鍵盤的數(shù)據(jù)包,并可通過(guò)主機(jī)系統(tǒng)usb驅(qū)動(dòng)對(duì)usb鼠標(biāo)和鍵盤發(fā)送數(shù)據(jù)。用戶可通過(guò)主機(jī)驅(qū)動(dòng)軟件自由分配各按鍵功能,如鼠標(biāo)按鍵、鍵盤按鍵、各種組合按鍵、多媒體按鍵等。如按鍵功能為組合按鍵、多媒體按鍵等非硬件內(nèi)置功能按鍵,則將該按鍵分配為自定義功能按鍵。自定義功能按鍵中的組合按鍵,一般包含按鍵和按鍵之間的延遲。

與現(xiàn)有技術(shù)相比本發(fā)明具有以下有益效果:

本發(fā)明提供的一種與主機(jī)驅(qū)動(dòng)實(shí)現(xiàn)雙向信息交互的自定義usb鼠標(biāo)和鍵盤的系統(tǒng)及方法使用軟硬件雙向信息交互方式工作,安全性高,避免被第三方軟件惡意屏蔽,無(wú)需存儲(chǔ)器,節(jié)省生產(chǎn)成本,采用usb標(biāo)準(zhǔn)驅(qū)動(dòng)工作,不要額外編寫底層驅(qū)動(dòng)程序,兼容性好,自定義功能受主機(jī)驅(qū)動(dòng)軟件控制,靈活、方便。

附圖說(shuō)明

圖1是本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖;

圖2是本發(fā)明的流程示意圖。

具體實(shí)施方式

現(xiàn)結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說(shuō)明。

實(shí)施例一

如圖1和圖2所示,一種與主機(jī)驅(qū)動(dòng)實(shí)現(xiàn)雙向信息交互的自定義usb鼠標(biāo)和鍵盤的系統(tǒng),包括設(shè)置在主機(jī)中的主機(jī)系統(tǒng)、主機(jī)驅(qū)動(dòng)軟件、主機(jī)系統(tǒng)usb驅(qū)動(dòng)以及設(shè)置在usb鼠標(biāo)和鍵盤中的按鍵模塊、usb發(fā)送模塊、usb解包校驗(yàn)?zāi)K和usb按鍵功能分配模塊;

所述主機(jī)驅(qū)動(dòng)軟件、主機(jī)系統(tǒng)usb驅(qū)動(dòng)和主機(jī)系統(tǒng)依次連接,所述主機(jī)系統(tǒng)usb驅(qū)動(dòng)通過(guò)usb總線分別與usb解包校驗(yàn)?zāi)K和usb發(fā)送模塊連接;所述usb解包校驗(yàn)?zāi)K分別與usb按鍵功能分配模塊和按鍵模塊連接,所述按鍵模塊與usb發(fā)送模塊連接;

所述主機(jī)系統(tǒng)為安裝在主機(jī)端的操作系統(tǒng),包括windows、linux和macos;所述主機(jī)驅(qū)動(dòng)軟件是基于主機(jī)系統(tǒng)工作,在主機(jī)系統(tǒng)下編程開(kāi)發(fā)的軟件,主機(jī)驅(qū)動(dòng)軟件與主機(jī)系統(tǒng)usb驅(qū)動(dòng)通信,主機(jī)系統(tǒng)usb驅(qū)動(dòng)與usb鼠標(biāo)和鍵盤通信,從而間接與usb鼠標(biāo)和鍵盤通信;所述usb按鍵功能分配模塊通過(guò)接收usb指令來(lái)分配usb鼠標(biāo)和鍵盤各個(gè)按鍵功能;

用戶在主機(jī)驅(qū)動(dòng)軟件中設(shè)定自定義功能,所述主機(jī)驅(qū)動(dòng)軟件通過(guò)主機(jī)系統(tǒng)usb驅(qū)動(dòng)將指令和按鍵分配信息發(fā)送至usb解包校驗(yàn)?zāi)K;所述usb解包校驗(yàn)?zāi)K進(jìn)行解包校驗(yàn),在校驗(yàn)正確后,將指令和按鍵分配信息傳輸?shù)絬sb按鍵功能分配模塊,通過(guò)按鍵分配信息分配到按鍵模塊,或者將解包校驗(yàn)得到的按鍵信息直接傳輸給按鍵模塊;所述按鍵模塊將按鍵信息解析成鼠標(biāo)和鍵盤的按鍵,通過(guò)usb發(fā)送模塊發(fā)送至主機(jī)系統(tǒng)usb驅(qū)動(dòng),由主機(jī)系統(tǒng)usb驅(qū)動(dòng)直接解析按鍵信息,并由主機(jī)系統(tǒng)獲取按鍵。

實(shí)施例二

如圖1和圖2所示,一種與主機(jī)驅(qū)動(dòng)實(shí)現(xiàn)雙向信息交互的自定義usb鼠標(biāo)和鍵盤的方法,包括以下步驟:

s1、根據(jù)用戶在主機(jī)驅(qū)動(dòng)軟件上設(shè)定的按鍵功能,主機(jī)驅(qū)動(dòng)軟件通過(guò)主機(jī)系統(tǒng)usb驅(qū)動(dòng)將指令1和按鍵分配信息發(fā)送至usb鼠標(biāo)和鍵盤;

s2、usb鼠標(biāo)和鍵盤收到數(shù)據(jù)后,通過(guò)usb解包校驗(yàn)?zāi)K進(jìn)行解包校驗(yàn),在校驗(yàn)正確后,將指令1和按鍵分配信息傳輸?shù)絬sb按鍵功能分配模塊,通過(guò)按鍵分配信息分配usb鼠標(biāo)和鍵盤中的各個(gè)按鍵功能;

s3、usb鼠標(biāo)和鍵盤等待按鍵動(dòng)作即按鍵按下或按鍵釋放,按鍵動(dòng)作觸發(fā)后,先確定分配的功能,如為自定義功能按鍵,則通過(guò)usb發(fā)送指令2、按鍵序號(hào)和按鍵狀態(tài)至主機(jī)系統(tǒng)usb驅(qū)動(dòng),如為鼠標(biāo)和鍵盤硬件內(nèi)置功能,則直接發(fā)送按鍵至主機(jī)系統(tǒng)usb驅(qū)動(dòng),由主機(jī)系統(tǒng)usb驅(qū)動(dòng)直接解析按鍵信息,并由主機(jī)系統(tǒng)獲取按鍵;

s4、主機(jī)驅(qū)動(dòng)軟件在收到主機(jī)系統(tǒng)usb驅(qū)動(dòng)中的指令2、按鍵序號(hào)和按鍵狀態(tài)后,根據(jù)按鍵序號(hào)和按鍵狀態(tài)查找對(duì)應(yīng)的用戶自定義按鍵的功能即組合按鍵、多媒體按鍵、按鍵按下、按鍵釋放;

s5、主機(jī)驅(qū)動(dòng)軟件通過(guò)主機(jī)系統(tǒng)usb驅(qū)動(dòng)發(fā)送指令3和用戶自定義按鍵功能中的一個(gè)按鍵信息至usb鼠標(biāo)和鍵盤,一個(gè)按鍵信息為按鍵按下或按鍵釋放;

s6、usb鼠標(biāo)和鍵盤收到的usb數(shù)據(jù)在經(jīng)過(guò)usb解包校驗(yàn)?zāi)K解包校驗(yàn),得到含指令3的數(shù)據(jù)后,則將按鍵信息傳輸至按鍵模塊,按鍵模塊將按鍵信息解析成鼠標(biāo)和鍵盤的按鍵,通過(guò)usb發(fā)送模塊發(fā)送至主機(jī)系統(tǒng)usb驅(qū)動(dòng),由主機(jī)系統(tǒng)usb驅(qū)動(dòng)直接解析按鍵信息,并由主機(jī)系統(tǒng)獲取按鍵;

s7、若所有自定義按鍵發(fā)送完成,發(fā)送指令4至usb鼠標(biāo)和鍵盤,若還有其他按鍵發(fā)送,則主機(jī)驅(qū)動(dòng)軟件根據(jù)用戶自定義功能中設(shè)定的按鍵延遲等待一段時(shí)間后,繼續(xù)下一個(gè)自定義按鍵,重復(fù)步驟s5-s7;

s8、usb鼠標(biāo)和鍵盤收到指令4后,結(jié)束usb鼠標(biāo)和鍵盤自定義按鍵發(fā)送,一次完整的自定義功能按鍵工作完成;

s9、回到步驟s1,并等待下一次按鍵動(dòng)作觸發(fā)。

其中,所述步驟s1-s9中usb鼠標(biāo)和鍵盤采用中斷方式工作,所有操作都在usb總線空閑時(shí)工作,不影響鼠標(biāo)和鍵盤的正常工作。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1