Die Frage ist nicht so "Cut 'n' Shut" als das. Es gibt viel mehr zur USB-Identifizierung als "eine Maus, ein Kabel = HID VS eine Maus, eine Tastatur, ein Kabel = Composite".
Zum Beispiel kann ein einzelnes Keyboard entweder ein HID- und / oder ein Composite-USB-Gerät sein, wenn Sie schon einmal eine "Gamer" -Tastatur mit integrierten Makros und Beleuchtung sowie einen eigenen Speicher zum Speichern dieser Makros für die Reise hatten Gerät, weil es mehrere Geräte in einem Bus enthält.
Im Gegenzug kann eine kabellose Logitech-Maus-Tastaturkombination nur ein HID-Gerät sein, da dies die einzige Klasse ist, obwohl es zwei Geräte gibt, die beide nur HID sind.
Ein USB-Composite-Gerät ist ein Peripheriegerät, das mehr als eine Geräteklasse unterstützt. Viele verschiedene Geräte sind als Verbundgeräte implementiert. Sie bestehen beispielsweise aus einer bestimmten Geräteklasse, aber auch aus einem USB-Laufwerk, auf dem alle erforderlichen Treiber gespeichert sind, damit das Gerät automatisch installiert werden kann, ohne dass eine bestimmte Treibersoftware benötigt wird.
Und dann gibt es einen Punkt darüber, wie Windows ein Gerät sieht.
Wenn ein neues USB-Gerät an einen Host-Computer angeschlossen wird, erstellt der USB-Bustreiber ein physisches Geräteobjekt (PDO) für das Gerät und generiert ein PnP-Ereignis, um das neue PDO zu melden. Das Betriebssystem fragt dann den Bustreiber nach den Hardware-IDs ab, die dem PDO zugeordnet sind.
Der Bustreiber überprüft auch die Geräteklasse (bDeviceClass), die Unterklasse (bDeviceSubClass) und das Protokoll (bDeviceProtocol) der Gerätedeskriptoren. Wenn diese Felder Null sind, ist das Gerät ein zusammengesetztes Gerät, und der Bustreiber meldet einen zusätzlichen kompatiblen Bezeichner (ID) von USB \ COMPOSITE für das PDO.
Quelle: Aufzählung von USB-Composite-Geräten
Ich hoffe, das hat Ihnen geholfen, ein wenig mehr zum Thema zu verstehen.