Здравствуйте.
Я экспериментирую с HID клавиатурой, собранной на АВР.
Передавать обычные клавишы и их сочетания получается так:
// Формат передаваемого репорта - usb_tx_buffer:
_usb_tx_buffer2(2) = 0 // modifier - комбинация из 8-ми модификаций (левые и правые Ctrl, Alt, Shift, Win)
_usb_tx_buffer2(3) = 0 // reserved - резерв
_usb_tx_buffer2(4) = 0 // keycode 0 - код клавиши 0
_usb_tx_buffer2(5) = 0 // keycode 1 - код клавиши 1
_usb_tx_buffer2(6) = 0 // keycode 2 - код клавиши 2
_usb_tx_buffer2(7) = 0 // keycode 3 - код клавиши 3
_usb_tx_buffer2(
= 0 // keycode 4 - код клавиши 4
_usb_tx_buffer2(9) = 0 // keycode 5 - код клавиши 5
// Формат modifier:
// bit0 LEFT CTRL (1)
// bit1 LEFT SHIFT (2)
// bit2 LEFT ALT (4)
// bit3 LEFT WIN (
// bit4 RIGHT CTRL (16)
// bit5 RIGHT SHIFT (32)
// bit6 RIGHT ALT (64)
// bit7 RIGHT WIN (128)
// CTRL + ALT + DEL
// Эту комбинацию нужно передать так: &H05, &H00, &H4С, &H00, &H00, &H00, &H00, &H00 = 5[Ctrl(1) + Alt(4)], 0, 76, 0, 0, 0, 0, 0
// В первый байт попадает сумма модификаций клавиш (левые и правые Ctrl, Alt, Shift, Win)
Информацию по мультимедийным клавишам нашёл только в этом топике.
Подскажите пожалуйста, как передать код любой мультимедиа клавиши.
Нужно ли 3 бита передавать сразу одним репортом - keycode 0, keycode 1 и keycode 2 или передавать 3 репорта и эти быты последовательно помещать в keycode 0 ?