如下圖所示,CompositeKM例程只支持市面上大部分的4字節(jié)鼠標(biāo),請問代碼大概怎么改才能支持7、8字節(jié)的鼠標(biāo)呢?現(xiàn)在只知道要改鼠標(biāo)的報表修飾符。但是不清楚7、8字節(jié)鼠標(biāo)的報表修飾符該從哪里獲取,獲取完之后怎么改代碼?有沒有大佬大概能講一下流程的?提前感謝!
您可以創(chuàng)建不同字節(jié)鼠標(biāo)數(shù)據(jù)的報表,然后修改配置描述符,可以配置成一個接口多個端點或者一個接口一個端點的形式,7字節(jié)鼠標(biāo)或者八字節(jié)鼠標(biāo)報表修改,可以參考四字節(jié)鼠標(biāo)報表,byte1:bit0代表左鍵,bit1代表右鍵,bit2代表中鍵,其余位補0,byte2:x坐標(biāo)變化,正數(shù)右移,byte3:Y坐標(biāo)變化,正數(shù)上移,byte4:滾輪變化,0x01向前一格,0xff向后一格,0x80不滾動。擴(kuò)展成5,6,7,8字節(jié)的鼠標(biāo)您可以自定義X, Y,Z,的長度,實現(xiàn)不同字節(jié)鼠標(biāo)的數(shù)據(jù)上傳。
您好,請問您有相關(guān)例子可以讓我參考的嗎,說實話,我有點不太懂您說的。才接觸USB。
可以先了解一下USB通信流程,去USB中文網(wǎng)先看看HID鼠標(biāo)實例,明白配置描述符和報表描述符就可以改了,可以通過BUSHOUND抓取七字節(jié)和八字節(jié)鼠標(biāo)的配置描述符和報告描述符,然后再去改。
大佬,還有一點我想請問一下難道只要有不同字節(jié)數(shù)據(jù)的鼠標(biāo)那我就必須要去新建報表描述書嗎?
好的, 大佬我這就去看看
根據(jù)您的建議,我分別插上7字節(jié)、8字節(jié)的鼠標(biāo),在BUSHOUND抓取了對應(yīng)的配置、報表描述符。然后對例程進(jìn)行了相應(yīng)修改,如下圖所示,但是現(xiàn)在代碼沒報錯也沒反應(yīng),我在想是不是ENDP2_IN_SIZE的原因。我嘗試了4和7都不行。麻煩大佬指導(dǎo)一下。
不需要重復(fù)定義配置描述符,一個配置符下面可以配置多個接口和多個端點,HID類描述符的長度和HID報表的長度要對應(yīng),如果是四字節(jié)鼠標(biāo),對應(yīng)的就是0x34,七字節(jié)鼠標(biāo)對應(yīng)的就是七字節(jié)報表的長度0x48.