Беспроводная клавиатура, мышь или геймпад, которые после сопряжения сразу начинают работать без установки драйверов, — это результат работы профиля HID. Именно благодаря ему компьютер, смартфон или планшет «понимает», что подключённое устройство является устройством ввода, и корректно обрабатывает нажатия клавиш и движения курсора.
Аббревиатура HID расшифровывается как Human Interface Device — «устройство взаимодействия с человеком». Профиль определяет стандартный способ обмена данными между периферией и хостом: какие отчёты передаёт устройство, в каком формате и как часто. Разберём, как устроен этот механизм, где он применяется и что делать, если HID-устройство не определяется системой.
Что такое HID простыми словами
Профиль HID — это стандартизированный протокол, описывающий передачу данных от устройств ввода к управляющему устройству. Изначально спецификация HID была разработана для шины USB, а позже адаптирована для беспроводного подключения через Bluetooth — в этом случае говорят о профиле HID over GATT (для Bluetooth Low Energy) или классическом Bluetooth HID.
Ключевая идея стандарта — самоописание устройства. При подключении HID-устройство передаёт хосту так называемый дескриптор отчёта (report descriptor), в котором описано, какие данные оно будет отправлять: сколько кнопок у мыши, какой диапазон движения у стика геймпада, какие коды клавиш использует клавиатура. Благодаря этому операционной системе не нужен отдельный драйвер под каждую модель — достаточно универсального HID-драйвера.
💡HID — это универсальный «язык» устройств ввода: клавиатуры, мыши, геймпады и пульты работают без отдельных драйверов, потому что сами описывают свои возможности хосту.