HID 報告描述

HID 報告描述

ID:46579539

大?。?006.99 KB

頁數(shù):28頁

時間:2019-11-25

HID 報告描述_第1頁
HID 報告描述_第2頁
HID 報告描述_第3頁
HID 報告描述_第4頁
HID 報告描述_第5頁
資源描述:

《HID 報告描述》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、HID報告描述1報告描述簡介ReportDescription,即上報事件的描述,描述所支持事件的格式及取值意義,比如鼠標按鍵上報格式、左鍵右鍵中間鍵分別對應的值等;報告描述跟JSON有些類似,都是結構數(shù)據(jù),格式類似{usage:1,{id:0,usage:1.1,size:1,count:1,min:0,max:5,format:xx}}2描述符結構幾個主要的名詞解釋一下:Collection,集合,相當于{},用來包含一組描述;Collection有Application和Physical之分,Application表示大項,里有可以有

2、很多Physical子項Report,報告,在上圖中只是一個ID號,來區(qū)分不同report。MainItem,主項,例出來哪些項ReportSize,每一項有多少位。ReportCount,總共有多少項LogicalMinimum,每個項的取值范圍中的最小值,即最小只能取的值。LogicalMaximum,每個項的取值范圍中的最大值,即最大只能取的值。Usage,用途,表示有哪些功能,一個Usage代表一個功能。一項描述基本上是由兩個字節(jié)構成,第一個字節(jié)表示名稱,第二個字節(jié)表示值,如ReportSize,8ReportSize是名稱,8是它

3、的值。ReportSize對應的16制數(shù)據(jù)是0x75,在代碼里上面的表現(xiàn)是0x75,0x08。有些名稱不需要帶值,如Collection的結束符())為0xC0,就沒有第二個字節(jié)。3名稱名稱有分長字和短字,這里只介紹短字,短字是由一個字節(jié)構成,結構如下:第3~2位表示類型,有如下幾種:0=Main1=Global2=Local3=Reserved第1~0位表示名稱的值由多少個字節(jié)構成,具體意義如下:0=0bytes,名稱后面不帶值1=1bytes,名稱后面帶1個值2=2bytes,名稱后面帶2個值3=4bytes,名稱后面帶4個值第7~4位

4、表示Tag,Tag與類型對應,每種類型有很多不同的Tag。3.1Main類對應的Tag在上面表格中,可以看到,第3~2位是00,這兩位是bType值,00表示類型為Main;nn是第1~0位,是bSize,表示數(shù)值的字節(jié)數(shù);第7~4位是bTag,如1000(0x8?)表示Input;ValidData表示值的意義,如Input項,Bit0{Data(0)

5、Constant(1)},意思是說,如果值的第0位的是0,即表示Data,如果是1,則表示Constant,如下語句:0x81,0x02,//Input:(Data,Variable,Ab

6、solute)它的值是2,第0位是0對應的是Data,第1位是1對應的是Variable,第二位是0對應的是Absolute,所以它是一個Data、Variable、Absolute的類型。下面對Data、Variable等的意思作一下解釋。Data表示是一個可寫的數(shù)據(jù)。Constant表示是一個只讀的數(shù)據(jù)。Aarray表示數(shù)據(jù)里的值代表一個Usage,ReportSize表示位數(shù),即ReportSize的存儲單元里的值是Usage的Index。ReportCount一般為1,如果大于則表示可以同時出現(xiàn)多個Usage.Variable則是一

7、個ReportSize存儲單元表示一個Usage,其值表示Usage的狀態(tài);ReportSize表示位數(shù),ReportCount表示長度。Absolute表示絕對數(shù)據(jù),如觸模屏數(shù)據(jù),便使用Absolute。Relative表示相對數(shù)據(jù),如鼠標數(shù)據(jù),便使用Relative。其也用的少就不多說了,詳細參看《HID協(xié)議》。3.2Global類對應的Tag在上面表格中,可以看到,第3~2位是01,這兩位是bType值,01表示類型為Global;nn是第1~0位,是bSize,表示數(shù)值的字節(jié)數(shù);第7~4位是bTag,如0000(0x0?)表示Usa

8、gePage。3.3Local類對應的Tag在上面表格中,可以看到,第3~2位是10,這兩位是bType值,10表示類型為Local;nn是第1~0位,是bSize,表示數(shù)值的字節(jié)數(shù);第7~4位是bTag,如0000(0x0?)表示Usage。4樣例解讀下面是一個偽代碼描述的樣例,其中涉及到的頁碼可查看第5段用途表:UsagePage(GenericDesktop),//定位到GenericDesktop頁,這個相當于指針跳轉一樣的東西Usage(Mouse),//指定GenericDesktop里的mouse,表示這是一個鼠標Collec

9、tion(Application),//CollectionApplication,是對Mouse的解釋Usage(Pointer),//表示指針形式Collection(Phy

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。