[發(fā)明專利]基于PS/2接口協(xié)議的鍵盤鼠標模擬方法有效
| 申請?zhí)枺?/td> | 201310271994.6 | 申請日: | 2013-07-01 |
| 公開(公告)號: | CN103365424A | 公開(公告)日: | 2013-10-23 |
| 發(fā)明(設計)人: | 李瑋;李琦;鄒丹;連壽哲;楊重魁;褚瑞 | 申請(專利權)人: | 福州創(chuàng)意嘉和軟件有限公司 |
| 主分類號: | G06F3/02 | 分類號: | G06F3/02;G06F3/0354 |
| 代理公司: | 福州市鼓樓區(qū)京華專利事務所(普通合伙) 35212 | 代理人: | 宋連梅 |
| 地址: | 350000 福建省*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 ps 接口 協(xié)議 鍵盤 鼠標 模擬 方法 | ||
技術領域
本發(fā)明涉及一種基于PS/2接口協(xié)議的鍵盤鼠標模擬方法。
背景技術
WinIo具有為加載驅(qū)動獲得系統(tǒng)ring0層權限,并具有對PS/2端口的直接讀取和寫入權限。WinIO雖然獲取了端口的直接讀寫權限,但存在不足的地方是無直接模擬鍵鼠的操作,而且不懂PS/2端口協(xié)議的人根本無法模擬出鍵鼠的操作。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題,在于提供一種基于PS/2接口協(xié)議的鍵盤鼠標模擬方法,使得在不了解PS/2端口協(xié)議的情況下便可直接模擬一個虛擬的鍵鼠進行模擬操作。
本發(fā)明是這樣實現(xiàn)的:一種基于PS/2接口協(xié)議的鍵盤鼠標模擬方法,包括如下步驟:
步驟10、判斷滾輪鼠標或鍵盤是否安裝,獲取鼠標或鍵盤的類型信息;
步驟20、根據(jù)得到的鼠標或鍵盤的類型信息,對需要寫入PS/2端口的數(shù)據(jù)進行初始化;
步驟30、依次單字節(jié)向PS/2的100和96兩個端口號寫入初始化數(shù)據(jù),直至初始化數(shù)據(jù)全部填充完成。
進一步的,所述步驟30具體為:
步驟31、在內(nèi)存中開辟一段內(nèi)存空間,用于存儲寫入PS/2端口的數(shù)據(jù);
步驟32、在分配的空間填入需要寫入PS/2端口的數(shù)據(jù);
步驟33、初始化需要寫入PS/2端口數(shù)據(jù)長度;
步驟34、判斷寫入PS/2端口數(shù)據(jù)長度是否和初始化數(shù)據(jù)長度相等,若是,說明寫入完畢,直接結束;若否,向100號端口寫入初始化的單字節(jié)數(shù)據(jù),后進入步驟35;
步驟35、向96號端口寫入初始化的單字節(jié)數(shù)據(jù),回到步驟34。
進一步的,所述步驟30中,需要在寫入數(shù)據(jù)之前關閉加速功能,初始化數(shù)據(jù)全部填充完成之后,再恢復鼠標加速。
如果所述步驟10獲取鼠標或鍵盤的類型信息是模擬鼠標操作并且有鼠標加速,還需要在步驟20之前先關閉鼠標加速功能,并在步驟30之后恢復鼠標加速。
進一步的,所述步驟30的初始化數(shù)據(jù)包括鼠標左鍵、右鍵、鼠標滾輪的點擊和雙擊響應,以及鍵盤的按鍵敲擊、按下、彈起的響應的初始化數(shù)據(jù)。
本發(fā)明具有如下優(yōu)點:本發(fā)明利用WinIo直接對PS/2端口讀寫數(shù)據(jù)的原理加以改進,提供簡易接口進行調(diào)用便可方面的模擬鍵鼠操作,而省去了開發(fā)者了解PS/2端口協(xié)議的麻煩,使得在不了解PS/2端口協(xié)議的情況下便可直接模擬一個虛擬的鍵鼠進行模擬操作。
具體實施方式
本發(fā)明的基于PS/2接口協(xié)議的鍵盤鼠標模擬方法,是利用WinIO的原理(編寫系統(tǒng)級設備驅(qū)動層序,并獲取I/O端口讀寫權限),Window出于安全性的考慮,分為:ring0~ring3共4層,而如果要對PS/2端口進行讀寫的話,就需要進入到window的ring0層,通過Ke386IoSetAccessProcess和Ke386SetIoAccessMap開放ring3層對端口的讀寫權限。
本發(fā)明方法包括如下步驟:
步驟10、判斷滾輪鼠標或鍵盤是否安裝,獲取鼠標或鍵盤的類型信息;
步驟20、根據(jù)得到的鼠標或鍵盤的類型信息,對需要寫入PS/2端口的數(shù)據(jù)進行初始化;
步驟30、依次單字節(jié)向PS/2的100和96兩個端口號寫入初始化數(shù)據(jù),直至初始化數(shù)據(jù)全部填充完成。所述初始化數(shù)據(jù)包括鼠標左鍵、右鍵、鼠標滾輪的點擊和雙擊響應,以及鍵盤的按鍵敲擊、按下、彈起的響應的初始化數(shù)據(jù)。寫入過程具體為:
步驟31、在內(nèi)存中開辟一段內(nèi)存空間,用于存儲寫入PS/2端口的數(shù)據(jù);
步驟32、在分配的空間填入需要寫入PS/2端口的數(shù)據(jù);
步驟33、初始化需要寫入PS/2端口數(shù)據(jù)長度;(此步驟的初始化是由于寫入PS/2端口數(shù)據(jù)過程需要通過這個長度作為判斷的條件,依次循環(huán)寫入)
步驟34、判斷寫入PS/2端口數(shù)據(jù)長度是否和初始化數(shù)據(jù)長度相等,若是,說明寫入完畢,直接結束;若否,向100號端口寫入初始化的單字節(jié)數(shù)據(jù):0xd3,后進入步驟35;
步驟35、向96號端口寫入初始化的單字節(jié)數(shù)據(jù),回到步驟34。
其中,在寫入數(shù)據(jù)之前需要關閉加速功能,初始化數(shù)據(jù)全部填充完成之后,再恢復鼠標加速。上述的這些步驟就是在ring3層進行操作的。且如果所述步驟10獲取鼠標或鍵盤的類型信息是模擬鼠標操作并且有鼠標加速,還需要在步驟20之前先關閉鼠標加速功能,并在步驟30之后恢復鼠標加速。
現(xiàn)以滾輪鼠標左鍵點擊和雙擊響應的模擬為例加以說明:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福州創(chuàng)意嘉和軟件有限公司,未經(jīng)福州創(chuàng)意嘉和軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310271994.6/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字數(shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉變成為計算機能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機傳送到輸出設備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計算機之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 圖像診斷裝置、醫(yī)用系統(tǒng)以及協(xié)議管理方法
- 一種自動協(xié)議識別方法及系統(tǒng)
- 客戶端中遞送協(xié)議數(shù)據(jù)單元的方法及相關裝置
- 遠程通訊系統(tǒng)
- 一種基于可拼裝通信協(xié)議棧的通信方法及系統(tǒng)
- 一種實現(xiàn)國產(chǎn)平臺PXEBOOT的協(xié)議架構
- CBTC通信系統(tǒng)協(xié)議解析方法、協(xié)議庫管理方法
- 一種協(xié)議轉換的方法、裝置、設備及存儲介質(zhì)
- 一種用于燈光控制的協(xié)議轉換系統(tǒng)及方法
- 一種通用工藝人工智能物聯(lián)網(wǎng)網(wǎng)關





