Есть клавиатура (Razer Anansi), которая имеет ряд рюшек типа подсветки с регулируемым цветом (RGB). Хочется это все запилить под Linux.
Сразу скажу, что с USB знаком недостаточно. Итак, что имеем:
Анализ с помощью Wireshark говорит, что для установки цвета нужно послать HID feature set report вида
unsigned char message[90] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x03, 0x01, 0x01, 0x05, R, G, B, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, CHKSUM, 0x00 };
Код, который это делает с помощью libusb уже у меня есть и даже работает. Но чего не хватает, так это понимания. USB HID specification показалась какой-то мутной. Структура этого feature report как-то стандартизирована? Вообще, feature report покрывается какими-то спеками (USB HID specification?) или это в вольном формате на усмотрение девайса?
Если сделать get report, то получу то же самое, что и в set report, только первым байтом «2». Это все по каким-то спекам или в Razer так решили?