Human Interface Device Profileđź”—
(TCRL 2023-1, HID.ICS.p9)
Versionsđź”—
Table 0: Major Versions (X.Y)
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_0_1 |
x |
HID v1.0 (M) |
Rolesđź”—
Table 1: Role Requirements
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_1_1 |
x |
Host, Report protocol (C.1) |
TSPC_HID_1_2 |
Device (C.1) |
|
TSPC_HID_1_3 |
Host, Boot protocol (C.1) |
C.1: Mandatory to support at least one of HID 1/1 “Host, Report protocol” OR HID 1/2 “Device” OR HID 1/3 “Host, Boot protocol”.
Host Roleđź”—
Table 2: Application Procedures
Prerequisite: HID 1/1 “Host, Report protocol” OR HID 1/3 “Host, Boot protocol”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_2_1 |
x |
Establish HID connection (C.4) |
TSPC_HID_2_2 |
x |
Accept HID connection (C.4) |
TSPC_HID_2_3 |
x |
Terminate HID connection (C.4) |
TSPC_HID_2_4 |
x |
Accept Termination of HID connection (C.4) |
TSPC_HID_2_5 |
x |
Support for virtual cables (C.4) |
TSPC_HID_2_6 |
x |
HID initiated reconnection (C.4) |
TSPC_HID_2_7 |
x |
Host initiated reconnection (C.4) |
TSPC_HID_2_8 |
x |
Host data transfer to HID (C.1) |
TSPC_HID_2_9 |
x |
HID data transfer to Host (C.1) |
TSPC_HID_2_10 |
HID Boot mode data transfer to Host (C.2) |
|
TSPC_HID_2_11 |
Host Boot mode data transfer to HID (C.2) |
|
TSPC_HID_2_12 |
Support for Application to send GET_REPORT (O) |
|
TSPC_HID_2_13 |
Support for Application to send SET_REPORT (O) |
|
TSPC_HID_2_14 |
Support for sending HCI_CONTROL with VIRTUAL_CABLE_UNPLUG (C.3) |
|
TSPC_HID_2_15 |
Support for receiving HCI_CONTROL with VIRTUAL_CABLE_UNPLUG (C.3) |
O: Optional
C.1: Mandatory IF HID 1/1 “Host, Report protocol”, otherwise Optional.
C.2: Mandatory IF HID 1/3 “Host, Boot protocol”, otherwise Optional.
C.3: Optional IF HID 2/5 “Support for virtual cables”, otherwise Excluded.
C.4: Mandatory IF HID 1/1 “Host, Report protocol”, otherwise Optional.
Host Roleđź”—
Table 3: Device to Host Transfers
Prerequisite: HID 1/1 “Host, Report protocol” OR HID 1/3 “Host, Boot protocol”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_3_1 |
Data reports larger than host MTU on Control channel (O) |
|
TSPC_HID_3_2 |
Data reports larger than host MTU on Interrupt channel (C.1) |
|
TSPC_HID_3_3 |
Data reports to host (C.1) |
|
TSPC_HID_3_4 |
Boot mode reports to host (C.2) |
O: Optional
C.1: Excluded IF HID 1/3 “Host, Boot protocol”, otherwise Mandatory IF HID 2/12 “Support for Application to send GET_REPORT”, otherwise Optional.
C.2: Mandatory IF HID 1/3 “Host, Boot protocol”, otherwise Optional.
Host Roleđź”—
Table 4: Host to Device Transfers
Prerequisite: HID 1/1 “Host, Report protocol” OR HID 1/3 “Host, Boot protocol”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_4_1 |
Data reports larger than device MTU on Control channel (C.1) |
|
TSPC_HID_4_2 |
Data reports larger than device MTU on Interrupt channel (C.1) |
|
TSPC_HID_4_3 |
x |
Data reports to device (C.2) |
TSPC_HID_4_4 |
Boot mode reports to device (O) |
O: Optional
C.1: Excluded IF HID 1/3 “Host, Boot protocol”, otherwise Optional.
C.2: Excluded IF HID 1/3 “Host, Boot protocol”, otherwise Mandatory.
Host Roleđź”—
Table 5: HID Control Commands
Prerequisite: HID 1/1 “Host, Report protocol” OR HID 1/3 “Host, Boot protocol”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_5_1 |
Set_Protocol command (C.1, C.4) |
|
TSPC_HID_5_2 |
Get_Protocol command (C.1, C.4) |
|
TSPC_HID_5_3 |
Set_Idle command (O) |
|
TSPC_HID_5_4 |
Get_Idle command (O) |
|
TSPC_HID_5_5 |
Set_Report command (C.2) |
|
TSPC_HID_5_6 |
Get_Report command (C.3) |
O: Optional
C.1: Mandatory IF HID 1/3 “Host, Boot protocol”, otherwise Optional.
C.2: Mandatory IF HID 1/1 “Host, Report protocol” AND HID 2/13 “Support for Application to send SET_REPORT”, otherwise Excluded.
C.3: Mandatory IF HID 1/1 “Host, Report protocol” AND HID 2/12 “Support for Application to send GET_REPORT”, otherwise Excluded.
C.4: Mandatory to support none or all of HID 5/1 “Set_Protocol command” OR HID 5/2 “Get_Protocol command”.
Host Roleđź”—
Table 6: LMP Requirements
Prerequisite: HID 1/1 “Host, Report protocol” OR HID 1/3 “Host, Boot protocol”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_6_8 |
x |
Role switch (C.4) |
TSPC_HID_6_9 |
x |
Request role switch (C.4) |
TSPC_HID_6_12 |
x |
Sniff mode (C.4) |
C.4: Mandatory IF HID 1/1 “Host, Report protocol”, otherwise not defined.
HID Roleđź”—
Table 8: HID Device Types
Prerequisite: HID 1/2 “Device”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_8_1 |
Pointing HID (C.1) |
|
TSPC_HID_8_2 |
Keyboard HID (C.1) |
|
TSPC_HID_8_3 |
Identification HID (C.1) |
|
TSPC_HID_8_4 |
Other HID (C.1) |
C.1: Mandatory to support at least one of HID 8/1 “Pointing HID” OR HID 8/2 “Keyboard HID” OR HID 8/3 “Identification HID” OR HID 8/4 “Other HID” IF HID 1/2 “Device”, otherwise Excluded.
HID Roleđź”—
Table 9: Application Procedures
Prerequisite: HID 1/2 “Device”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_9_1 |
Establish HID connection (O) |
|
TSPC_HID_9_2 |
Accept HID connection (M) |
|
TSPC_HID_9_3 |
Terminate HID connection (O) |
|
TSPC_HID_9_4 |
Accept Termination of HID connection (M) |
|
TSPC_HID_9_5 |
Support for virtual cables (O) |
|
TSPC_HID_9_6 |
HID initiated reconnection (C.1) |
|
TSPC_HID_9_7 |
Host initiated reconnection (C.1) |
|
TSPC_HID_9_8 |
Host data transfer to HID (C.2) |
|
TSPC_HID_9_9 |
HID data transfer to Host (C.2) |
|
TSPC_HID_9_10 |
HID Boot mode data transfer to Host (C.3) |
|
TSPC_HID_9_11 |
Host Boot mode data transfer to HID (C.4) |
|
TSPC_HID_9_12 |
Output reports declared (C.4) |
|
TSPC_HID_9_13 |
Input reports declared (C.3) |
|
TSPC_HID_9_14 |
Feature reports declared (O) |
|
TSPC_HID_9_15 |
Support for sending HCI_CONTROL with VIRTUAL_CABLE_UNPLUG (C.5) |
|
TSPC_HID_9_16 |
Support for receiving HCI_CONTROL with VIRTUAL_CABLE_UNPLUG (C.5) |
M: Mandatory
O: Optional
C.1: Mandatory to support at least one of HID 9/6 “HID initiated reconnection” OR HID 9/7 “Host initiated reconnection” IF HID 9/5 “Support for virtual cables”, otherwise Excluded.
C.2: Mandatory to support at least one of HID 9/8 “Host data transfer to HID” OR HID 9/9 “HID data transfer to Host” IF HID 1/2 “Device”, otherwise Excluded.
C.3: Mandatory IF HID 8/1 “Pointing HID” OR HID 8/2 “Keyboard HID”, otherwise Excluded.
C.4: Mandatory IF HID 8/2 “Keyboard HID”, otherwise Excluded.
C.5: Optional IF HID 9/5 “Support for virtual cables”, otherwise Excluded.
HID Roleđź”—
Table 10: Device to Host Transfers
Prerequisite: HID 9/13 “Input reports declared” OR HID 9/14 “Feature reports declared”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_10_1 |
Data reports larger than host MTU on Control channel (O) |
|
TSPC_HID_10_2 |
Data reports larger than host MTU on Interrupt channel (O) |
|
TSPC_HID_10_3 |
Data reports to host (O) |
|
TSPC_HID_10_4 |
Boot mode reports to host (C.1) |
O: Optional
C.1: Mandatory IF HID 8/1 “Pointing HID” OR HID 8/2 “Keyboard HID”, otherwise Optional IF HID 8/3 “Identification HID” OR HID 8/4 “Other HID”, otherwise Excluded.
HID Roleđź”—
Table 11: Host to Device Transfers
Prerequisite: HID 9/12 “Output reports declared” OR HID 9/14 “Feature reports declared”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_11_1 |
Data reports larger than device MTU on Control channel (O) |
|
TSPC_HID_11_2 |
Data reports larger than device MTU on Inetrrupt channel (O) |
|
TSPC_HID_11_3 |
Data reports to device (O) |
|
TSPC_HID_11_4 |
Boot mode reports to device (C.1) |
O: Optional
C.1: Mandatory IF HID 8/2 “Keyboard HID”, otherwise Optional IF HID 8/1 “Pointing HID” OR HID 8/3 “Identification HID” OR HID 8/4 “Other HID”, otherwise Excluded.
HID Roleđź”—
Table 12: HID Control Commands
Prerequisite: HID 1/2 “Device”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_12_1 |
Set_Protocol command (C.1, C.5) |
|
TSPC_HID_12_2 |
Get_Protocol command (C.1, C.5) |
|
TSPC_HID_12_3 |
Set_Idle command (C.2) |
|
TSPC_HID_12_4 |
Get_Idle command (C.2) |
|
TSPC_HID_12_5 |
Set_Report command (C.3) |
|
TSPC_HID_12_6 |
Get_Report command (C.4) |
C.1: Mandatory IF HID 8/1 “Pointing HID” OR HID 8/2 “Keyboard HID”, otherwise Optional IF HID 8/3 “Identification HID” OR HID 8/4 “Other HID”, otherwise Excluded.
C.2: Mandatory IF HID 8/2 “Keyboard HID”, otherwise Optional IF HID 8/1 “Pointing HID” OR HID 8/3 “Identification HID” OR HID 8/4 “Other HID”, otherwise Excluded.
C.3: Mandatory IF HID 9/12 “Output reports declared” OR HID 9/14 “Feature reports declared”, otherwise Excluded.
C.4: Mandatory IF HID 9/13 “Input reports declared” OR HID 9/14 “Feature reports declared”, otherwise Excluded.
C.5: Mandatory to support none or all of HID 12/1 “Set_Protocol command” OR HID 12/2 “Get_Protocol command”.
HID Roleđź”—
Table 13: LMP Requirements
Prerequisite: HID 1/2 “Device”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_13_8 |
Role switch (C.3) |
C.3: Mandatory IF HID 9/6 “HID initiated reconnection”, otherwise not defined.
HID Roleđź”—
Table 15: SDP Requirements
Prerequisite: HID 1/2 “Device”
Parameter Name |
Selected |
Description |
|---|---|---|
TSPC_HID_15_1 |
Server (M) |
|
TSPC_HID_15_2 |
LanguageBaseAttributeIdList (M) |
|
TSPC_HID_15_3 |
ServiceClassIDList (M) |
|
TSPC_HID_15_4 |
ProtocolDescriptorList (M) |
|
TSPC_HID_15_5 |
BluetoothProfileDescriptorList (M) |
|
TSPC_HID_15_6 |
AdditionalProtocolDescriptorList (M) |
M: Mandatory