滑鼠 鍵盤 協議 資料格式

2021-06-01 13:22:19 字數 1118 閱讀 4218

滑鼠 鍵盤 協議 資料格式

滑鼠傳送給pc的資料每次4個位元組

byte1 byte2 byte3 byte4

定義分別是:

byte1 --

|--bit7: 1 表示 y 座標的變化量超出-256 ~ 255的範圍,0表示沒有溢位

|--bit6: 1 表示 x 座標的變化量超出-256 ~ 255的範圍,0表示沒有溢位

|--bit5: y 座標變化的符號位,1表示負數,即滑鼠向下移動

|--bit4: x 座標變化的符號位,1表示負數,即滑鼠向左移動

|--bit3: 恒為1

|--bit2: 1表示中鍵按下

|--bit1: 1表示右鍵按下

|--bit0: 1表示左鍵按下

byte2 -- x座標變化量,與byte的bit4組成9位符號數,負數表示向左移,正數表右移。用補碼表示變化量

byte3 -- y座標變化量,與byte的bit5組成9位符號數,負數表示向下移,正數表上移。用補碼表示變化量

byte4 -- 滾輪變化。

由於手上沒有usb滑鼠,對byte1的4-7位沒有測試,對於byte2 byte3做個測試,byte1的4-7全為0的時候,byte2

byte3的正負表示滑鼠移動方向

鍵盤傳送給pc的資料每次8個位元組

byte1 byte2 byte3 byte4 byte5 byte6 byte7 byte8

定義分別是:

byte1 --

|--bit0: left control是否按下,按下為1

|--bit1: left shift 是否按下,按下為1

|--bit2: left alt 是否按下,按下為1

|--bit3: left gui 是否按下,按下為1

|--bit4: right control是否按下,按下為1

|--bit5: right shift 是否按下,按下為1

|--bit6: right alt 是否按下,按下為1

|--bit7: right gui 是否按下,按下為1

byte2 -- 暫不清楚,有的地方說是保留位

byte3--byte8 -- 這六個為普通按鍵

通用滑鼠鍵盤

該程式通過並行機制處理滑鼠和鍵盤的訊息,為了簡化程式裁減了一些 該程式可用為基礎在該程式上新增 可用於文字編輯,遊戲和其他滑鼠鍵盤通用的程式.include include include include include union regs regs unsigned size void far ...

滑鼠鍵盤學習

出現問題地方 1 label 和pushbutton上面無法顯示中文,出現亂碼 待解決 在main.cpp中已加入qtext odec setcodecfortr qtextcodec codecforlocale 2 在鍵入兩個函式 void mousemoveevent qmouseevent ...

Linux 虛擬滑鼠,鍵盤

linux 有自己的 input 子系統,可以統一管理滑鼠和鍵盤事件。基於輸入子系統 實現的 uinput 可以方便的在使用者空間模擬滑鼠和鍵盤事件。當然,也可以自己造輪子,做乙個字元裝置接收使用者輸入,根據輸入,投遞 input 事件。還有一種方式就是直接 往 evnent 裡寫入資料,都可以達到...