[BLE--HID] usb hid device category definition
Brief Introduction
HID devices are human-computer interaction devices. Common devices include the mouse, keyboard, and game handle. Generally, the wired connection is connected to the machine device through a USB connection, which serves as the user input device. In bluetooth technology, access to HID devices is wireless. However, the definition of HID is the same, or problems such as device drivers and compatibility may cause a lot of trouble. There is a HID and HOGP profile in Bluetooth, but it is only a specification for Bluetooth data communication. The specific meaning of HID is related. You still need to read the USB-related HID documents.
USB devices?
USB devices can be configured by the host at startup or in a later connection status. There are many types of USB devices. The difference between many USB devices is very large. In this case, the development becomes more difficult, because almost all types of USB devices have to be standardized and defined again. As a result, the category of devices was proposed to divide a large number of USB devices into different categories, so that USB devices in each category can extract many common things from each other, in this way, a lot of repetitive definition and development work are reduced. What types of specific HID devices are divided? See the following:
Define the HID device category
Apart from the preceding reasons, the HID device category is defined separately as follows:
-Try to save device data space as much as possible (simple byte streams should be defined to express complicated content ......)
-Allow the Application to skip useless information (do not follow the definition of the HID device class, And the HID App certainly does not need to pay attention to it)
-Scalable and stable
-Support for nested and collection (defined by class, of course, with attributes such as set and hierarchy)
-Self-description of running a common application (this should be the descriptor management method)
Device management
Generally, when a USB device is connected to multiple machines, each device should have its own description, so the host knows how to differentiate a device. The description information is stored in the device's power-down storage area, called descriptor, and is translated as a descriptor. There are more than one types of descriptor, such as report and physical:
Report descriptor describes the data (format, meaning, and so on) generated by the HID device. Physical descriptor describes the user information:
For usb hid devices, the Descriptor framework is as follows: