Вопрос не так "Cut 'n' Shut", как это. Идентификация через usb намного больше, чем «одна мышь, один кабель = HID против одной мыши, одна клавиатура, один кабель = композитный».
Например, одиночная клавиатура может быть HID и / или композитным USB-устройством, если у вас когда-либо была клавиатура "Gamer" со встроенными макросами и подсветкой, а также собственное хранилище для сохранения этих макросов для путешествий, то есть составное устройство, потому что оно включает в себя несколько устройств в одной шине.
В противоположность этому, клавиатура Logitech с беспроводной мышью может быть просто устройством HID, потому что это единственный присутствующий класс, хотя может быть два устройства, оба они являются только HID.
Составное устройство USB - это периферийное устройство, которое поддерживает несколько классов устройств. Многие различные устройства реализованы как составные устройства. Например, они состоят из определенного класса устройств, но также и с USB-диска, на котором хранятся все необходимые драйверы, чтобы устройство могло быть установлено автоматически, без необходимости доступа к определенному программному обеспечению драйвера.
Источник: USB композитное устройство
И затем есть пункт о том, как Windows видит устройство.
Когда новое USB-устройство подключено к хост-машине, драйвер шины USB создает объект физического устройства (PDO) для устройства и генерирует событие PnP, чтобы сообщить о новом PDO. Затем операционная система запрашивает драйвер шины для идентификаторов оборудования, связанных с PDO.
Драйвер шины также проверяет поля класса устройства (bDeviceClass), подкласса (bDeviceSubClass) и протокола (bDeviceProtocol) дескриптора устройства. Если эти поля равны нулю, устройство является составным устройством, и драйвер шины сообщает о дополнительном совместимом идентификаторе (ID) USB\COMPOSITE для PDO.
Источник: Перечень USB-композитных устройств
Я надеюсь, что это помогло вам понять немного больше по теме.