精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

USBHID鼠標按鍵及數據傳遞格式

汽車電子技術 ? 來源:安卓腳本 ? 作者: Mr.Yu ? 2023-03-03 13:45 ? 次閱讀

最近業余時間了解了下HID鍵鼠設備協議相關的東西.主要想通過安卓手機連接HID設備完成點擊和滑動動作.

起因是一些app屏蔽了無障礙和ADB方式的點擊滑動, 但沒有屏蔽藍牙鼠標的按鍵動作. 所以想做一個HID的驅動搭配Autojs腳本來實現一些非常規操作...

就是這么個東西...然后連接到手機上為其供電...

圖片圖片

但我是個小白, 對于HID這種底層的協議,沒有絲毫的基礎.通過不斷的查資料,終于今天邁出了第一步...特此記錄一下

ps: 百度真的是個垃圾搜索引擎,搜資料能用google還是用google吧,用百度簡直就是浪費生命

我用的這個HID設備是別人特制的一個小模塊,大概30塊錢左右,有鼠標和鍵盤功能,這里我就不掛鏈接了. 所以發送數據與普通的HID設備不同,需要在末尾多加一個字節的數據.

00000001 ----> 代表調用鍵盤按鍵

00000010 ----> 代表調用鼠標按鍵

然后普通的HID鼠標發送的數據是 4 個字節 (1個字節即為: 1 Byte = 8 bit)所以 00 00 00 00到11 11 11 11之間的數占用1個字節(便于區分我加了空格)代表的10進制是 0 到 255

按照常規的計數規則, 左邊的數字單位要比右邊的數字單位大.

所以呢在用二進制的時候. 由于數字比較長, 劃分的時候,我們習慣了從左往右的順序分組, 這里會造成混淆, 所以需要明白 右邊是頭 左邊是尾 最右邊的是第一個字節

BYTE3     BYTE2    BYTE1     BYTE0
00000000  00000000  00000000  00000000

其數據劃分和鍵位說明. 我畫了一張圖, 字寫的很爛. 湊合著看看吧~圖片圖片圖片

圖片

因為我買的這個設備是自制的.所以還有一個BYTE4 第五個字節數據是表明前四個字節要發給鍵盤還是鼠標的.

安卓設備屏幕處在坐標系的第四象限, X軸不變, Y軸向下為正. 所以Y軸的坐標正數是向下移動, 負數是向上移動.

這里需要說一下怎么表示2進制的負數:

圖片

驗證一下是否正確, 找個windows計算器

圖片

圖片

所以我要是想讓鼠標向右移動10像素需要發送的五個字節數據為:

02 00 00 0A 00 --> 鼠標向右移動10像素

02 00 00 F6 00 --> 鼠標向左移動10像素

02 00 00 0A 01 --> 按住鼠標向右移動10像素

02 00 00 00 00 --> 抬起所有按鍵

理論上Y軸的移動是修改第三個字節的數據. 但是我發現我這個小模塊,我修改了第三字節的數據后. 不會生效...不知道為什么,剩下的再研究一下吧.

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    esp-idf傳遞鼠標數據延遲很大的原因?

    請假一下,用espidf通過wifi傳遞鼠標鍵盤時間,延遲很大,可能是哪地方的問題呢?采用select機制,鼠標數據通過uart回來,然后通過Wi-Fi
    發表于 06-14 06:19

    共享變量 數據傳遞

    labview生成安裝程序(里面數據傳遞用共享變量) 在本電腦上可以傳遞數據,安裝到其他電腦上無法傳遞數據,何解?
    發表于 07-08 13:57

    通過隊列實現vi之間數據傳遞

    `各位高手,請教下如何用隊列實現vi之間的數據傳遞,最好能給出個例子,我是初學者,謝謝`
    發表于 09-08 11:01

    單片機教程(9)數據傳遞類指令

    1.單片機數據傳遞類指令(1)以直接地址為目的操作數的指令(2)以間接地址為目的操作數的指令(3)十六位數的傳遞指令MOV DPTR,#data168051是一種8位機,這是唯一的一條16位立即數
    發表于 06-13 10:01

    如何利用ucos編程進行數據傳遞

    :int main (void){各種初始化while(1){ 觸摸屏 LCD刷新 串口通信 } }就像這個小例子,觸摸屏按鍵的操作和串口的數據要顯示在LCD上。換做u/cos II的話,就是建立3個任務,然后之間再有一些數據傳遞
    發表于 04-04 06:36

    Vue中父組件與子組件之間的數據傳遞

    Vue中父組件(vue實例)與子組件(component)之間的數據傳遞
    發表于 06-01 17:28

    鴻蒙分布式任務調度——數據傳遞

    鴻蒙分布式任務調度之數據傳遞
    發表于 06-12 17:29

    藍牙實現數據傳遞需要做些什么?

    實現數據傳遞需要做些什么?需要用到什么?怎么才能讓數據傳遞到另一端?服務端客戶端
    發表于 03-02 07:15

    espidf傳遞鼠標數據延遲很大是為什么呢?

    請假一下,用espidf通過wifi傳遞鼠標鍵盤時間,延遲很大,可能是哪地方的問題呢?采用select機制,鼠標數據通過uart回來,然后通過Wi-Fi
    發表于 03-06 08:09

    單片機教程九:單片機數據傳遞類指令

    單片機教程九:單片機數據傳遞類指令 單片機數據傳遞類指令 (3)以直接地址為目的操作數的指令 MOV direct,A 例: MOV 20H,A
    發表于 05-15 23:03 ?849次閱讀
    單片機教程九:單片機<b class='flag-5'>數據傳遞</b>類指令

    鼠標按鍵

    鼠標按鍵數              按鍵數是指鼠標
    發表于 12-28 11:34 ?2679次閱讀

    C#教程之屏蔽鼠標按鍵

    C#教程之屏蔽鼠標按鍵,很好的C#資料,快來學習吧。
    發表于 04-20 14:46 ?6次下載

    CY68013A進行數據傳遞FPGA進行格式轉換的數據采集與仿真系統

    本文設計了一種專門用于底層協議棧開發的數據采集與仿真系統,利用USB高速傳輸特點以及物理連接的便利性,采用CY68013A進行數據傳遞,充分利用其GPIF資源,使用FPGA進行格式轉換。文中對仿真
    的頭像 發表于 08-30 10:44 ?7180次閱讀
    CY68013A進行<b class='flag-5'>數據傳遞</b>FPGA進行<b class='flag-5'>格式</b>轉換的<b class='flag-5'>數據</b>采集與仿真系統

    第9課:單片機數據傳遞類指令 2020/11/17

    第9課:單片機數據傳遞類指令 2020/11/17
    發表于 11-20 11:51 ?0次下載
    第9課:單片機<b class='flag-5'>數據傳遞</b>類指令 2020/11/17

    鼠標按鍵的“靈動”用法

    鼠標,能使電腦操作方便快捷 但是,?鼠標各鍵的用處?你知道多少呢? 01 按鍵一:滾輪 1、瀏覽器中滑動網頁?當我們瀏覽網頁的時候,滑動鼠標中間的滾輪,就可以實現上下瀏覽啦~ 且在瀏覽
    發表于 10-18 16:43 ?2851次閱讀