USB 21 USB介面HID類裝置 物理描述符

2021-10-24 11:49:48 字數 3217 閱讀 5901

物理描述符也稱作實體描述符。被用來描述裝置的行為特性。

物理描述符是一種資料結構,它提供有關啟用控制項或控制項的人體特定部分的資訊。

例如,物理描述符可能指示右手拇指用於啟用按鈕5.應用程式可以使用此資訊將功能分配給裝置的控制項。

物理描述符完全是可選的。 它們增加了複雜性,並且對大多數裝置提供的回報很少。 但是,某些裝置,特別是那些具有大量相同控制項的裝置(例如按鈕)會發現物理描述符可以幫助不同的應用程式以更一致的方式為這些控制項分配功能。 

類似的物理描述符被分組。 報表描述符中包含的指示符索引專案將專案(或控制項)對映到物理描述符集合中包含的特定物理描述符(以下統稱為描述符集合)。

每個描述符集由乙個短標題和乙個或多個物理描述符組成。 標題定義了偏移(描述符集是針對右手還是左手使用者)和集合的首選項。 對於特定偏置,**商可以定義備用物理描述符(例如,慣用右手的使用者可能能夠以多種方式保持裝置,因此重新對映觸控各個專案的手指)。

每個物理描述符包含以下三個字段:

如果多個專案標識相同的指定符/限定符組合,則可以使用「effort」值來解析函式的分配。 當手處於「靜止」位置時,努力值0將用於定義手指所在的按鈕,即,使用者實際上不需要啟用按鈕。 當手指必須伸展以達到控制時,努力值會增加。

兩個或更多控制項只有相同的時間指示符/限定符/努力組合是因為它們物理連線在一起。 乙個長的瘦鍵帽,一端是'+',另一端是' - '就是乙個很好的例子。 如果它是作為兩個分立的按鈕電氣地實現的,即使它們都在同乙個鍵帽下,也可以同時按下兩個按鈕。 如果**商決定對於該產品,同時按下「+」和「 - 」按鈕是有效的,那麼它們將被描述為具有相同物理描述符的兩個離散按鈕。 但是,如果鍵帽標記為「音量」並且同時按下兩個按鈕沒有任何意義,那麼**商可能會選擇將按鈕描述為具有三種有效狀態的單個專案:關閉,更多音量(+), 並減少音量( - )。 在這種情況下,只需要乙個物理描述符。

考慮乙個操縱桿,它在底座的左側有兩個按鈕(a和b),在杆的前面有乙個觸發按鈕,與按鈕a進行邏輯或操作。操縱桿底座通常用左手握住,而 用右手操縱棍子。 因此,第乙個描述符集將指定按鈕a為:

同樣,按鈕b將被指定為:

如果將操縱桿放在桌面上並且左手用於控制基座上的兩個按鈕,則另乙個描述符集可以識別按鈕a的替代對映:

按鈕b將被指定為:

注:指示符標籤是可選的,可以為裝置的所有,部分或其中乙個專案或元素提供。

描述符集0是乙個特殊的描述符集,它指定了附加描述符集的數量,以及每個集合中物理描述符的數量。

part

offset/size (bytes)

description

bnumber

0/1指定物理描述符集數量的數字表示式。 不要在此編號中包含物理描述符0本身。

blength

1/2標識每個物理描述符長度的數字表示式。

在從主機接收到get_descriptor請求時,hid類裝置將返回在請求wvalue低位元組中指定的描述符集。 描述符集由標題後跟乙個或多個物理描述符組成。

hid類裝置對其物理描述符使用以下格式。

注:僅適合右手的裝置不會返回具有左手偏置的描述符集。

part

offset/size (bytes)

description

designator

0/1指定值; 指示身體的哪個部分影響該專案

bflags

1/1指定標誌的位:

7..5  限定符

4..0  努力值

指定值可選如下:

bdesignator取值含義表

bdesignator取值

含義bdesignator取值

含義0x00

無0x15

小指0x01

手0x16

頭0x02

眼球0x17

肩0x03

眉0x18

腰骨0x04

眼皮0x19

腰0x05

耳0x1a

大腿0x06

鼻0x1b

膝蓋0x07

嘴0x1c

小腿0x08

上唇0x1d

足0x09

下唇0x1e

腳0x0a

顎0x1f

腳跟0x0b

頸0x20

拇指0x0c

上臂0x21

大拇指0x0d

手肘0x22

第二指0x0e

前臂0x23

第三指0x0f

手腕0x24

第四指0x10

手掌0x25

小拇指0x11

拇指0x26

眉0x12

食指0x27

臉0x13

中指0x28~0xff

保留0x14

無名指

qualifier取值含義

qualifier取值

含義qualifier取值

含義0x00

無0x04

其中之一

0x01

右0x05

中間0x02

左0x06

保留0x03

兩者同時

0x07保留

想要詳細的學習物理描述符,可以看 hid usage tables 1.12的附錄章節。

其中以乙個遊戲手柄的例子講述了乙個物理描述符的使用。

物理描述符也稱作實體描述符。被用來描述裝置的行為特性。

USB裝置類學習筆記

usb audio class 版本目前有3個版本 分別是1.0,2.0,3.0 1.0針對各個廠家的裝置具有不同的描述符,而2.0則將它們統一簡化,3.0則是最新的,還沒有與2.0作進一步比較 因為要寫的uvc usb video class 是同步傳輸,而官方usb 的中介軟體給出的例程只有au...

USB介面無法識別裝置

小瓊子 提問 2011年12月31日 問題 usb介面無法識別裝置 我的電腦usb介面開機正常的用了一段時間後就不正常了,插入u盤 手機 銀行u盾就無法識別了。原來插入電腦的usb裝置拔了電腦上的裝置圖示還是有的 解答 已由 paco wang 解答 2012年1月11日 解答 你好,請問接入u盤等...

USB架構概述之二物理介面

usb的物理介面被描述成匯流排的電氣和機械規範兩部分。電氣特性 usb傳輸訊號和電源四線電纜,如下圖所示。訊號傳輸是通過兩線的點對點的線段。三種資料傳輸速率 usb 2.0主機控制器和集線器提供功能,以便全速和低速資料可以在主機控制器和集線器之間高速傳輸,但在集線器和裝置之間是以全速或低速傳輸。此功...