Includes additional logic to force report or boot protocol in case of
problemmatic host drivers (typically BIOSs and bootloaders)
It used to be very common that BIOSs did not send set_protocol to
boot mode when requiring the boot mode keyboard descriptor
Includes country code support
This changes the new() functions to include a new settings field
new(alloc, report_descriptor, poll_ms, HidClassSettings::default()) maintains the previous behavior
settings
fieldnew(alloc, report_descriptor, poll_ms, HidClassSettings::default())
maintains the previous behavior