Cannot implement boot protocol for HID keyboard

I am attempting to implement an HID device able to pose as a keyboard to the BIOS/UEFI and every OS.

For this, I have created this code: https://github.com/dakhnod/BLEnky/blob/feature_hid_usb/src/ble/services/hid/usb_hid.c

In line 85, if I change the class to APP_USBD_HID_SUBCLASS_NONE and APP_USBD_HID_PROTO_GENERIC, macOS recognizes my device without issues.

Leaving the configuration like it is makes macOS ignore any keyboard inputs, strangely.

I am receiving APP_USBD_HID_USER_EVT_SET_REPORT_PROTO, but I am unsure on how to handle that, since my descriptor should make the OS understand the boot protocol.

Yet, with boot support, sending `00 00 04 00 00 00 00 00` yields nothing. With the generic configuration, the same payload yields to an 'a' being typed.

What could I be missing here in order to support boot protocol?

Thanks!

Parents Reply Children
No Data
Related