Closed HaoboGu closed 6 months ago
Hello, I'm trying to create a composite descriptor which includes KeyboardReport/MouseReport/SystemControlReport etc.
KeyboardReport
MouseReport
SystemControlReport
The descriptor is defined as:
#[gen_hid_descriptor( (report_id = 0x01, collection = APPLICATION, usage_page = GENERIC_DESKTOP, usage = KEYBOARD) = { (usage_page = KEYBOARD, usage_min = 0xE0, usage_max = 0xE7) = { #[packed_bits 8] #[item_settings data,variable,absolute] modifier=input; }; (usage_min = 0x00, usage_max = 0xFF) = { #[item_settings constant,variable,absolute] reserved=input; }; (usage_page = LEDS, usage_min = 0x01, usage_max = 0x05) = { #[packed_bits 5] #[item_settings data,variable,absolute] leds=output; }; (usage_page = KEYBOARD, usage_min = 0x00, usage_max = 0xDD) = { #[item_settings data,array,absolute] keycodes=input; }; }, (report_id = 0x02, collection = APPLICATION, usage_page = CONSUMER, usage = CONSUMER_CONTROL) = { (usage_page = CONSUMER, usage_min = 0x00, usage_max = 0x514) = { #[item_settings data,array,absolute,not_null] usage_id=input; }; }, (report_id = 0x03, collection = APPLICATION, usage_page = GENERIC_DESKTOP, usage = SYSTEM_CONTROL) = { (usage_min = 0x81, usage_max = 0xB7, logical_min = 1) = { #[item_settings data,array,absolute,not_null] usage_id=input; }; } )] #[allow(dead_code)] pub struct MyReport { pub modifier: u8, pub reserved: u8, pub leds: u8, pub keycodes: [u8; 6], pub usage_id: u16, }
But I have problems about implementing usbd_hid::descriptor::AsInputReport for MyReport.
usbd_hid::descriptor::AsInputReport
MyReport
There is no documentation/example about how to implement AsInputReport trait for a custom report. @twitchyliquid64 any suggestions?
AsInputReport
Hello, I'm trying to create a composite descriptor which includes
KeyboardReport
/MouseReport
/SystemControlReport
etc.The descriptor is defined as:
But I have problems about implementing
usbd_hid::descriptor::AsInputReport
forMyReport
.There is no documentation/example about how to implement
AsInputReport
trait for a custom report. @twitchyliquid64 any suggestions?