Make the Boot Keyboard the only keyboard, and make it have a hybrid
report format in Report Protoocol, while still ending Boot Reports in
Boot Protocol. The hybrid reports have the Boot Report as a prefix,
which might help hosts that don't request Boot Protocol but still
expect to see it.
Include a way to switch between the hybrid report, and sending only
Boot Protocol regardless of whether the host has requested it. Defaults
to sending hybrid protocol, but this can be changed at compile time.
Fixes keyboardio/Kaleidoscope#1305, when combined with keyboardio/Kaleidoscope#1361. They are probably not safe to apply independently.
As a side effect, fixes #98. Also fixes a minor bug with the boot keyboard's report descriptor, and compacts them a bit by more strategic use of global state.
Make the Boot Keyboard the only keyboard, and make it have a hybrid report format in Report Protoocol, while still ending Boot Reports in Boot Protocol. The hybrid reports have the Boot Report as a prefix, which might help hosts that don't request Boot Protocol but still expect to see it.
Include a way to switch between the hybrid report, and sending only Boot Protocol regardless of whether the host has requested it. Defaults to sending hybrid protocol, but this can be changed at compile time.
Fixes keyboardio/Kaleidoscope#1305, when combined with keyboardio/Kaleidoscope#1361. They are probably not safe to apply independently.
As a side effect, fixes #98. Also fixes a minor bug with the boot keyboard's report descriptor, and compacts them a bit by more strategic use of global state.