HID Boot device support; HID feature report support #5481
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addresses Unable to use HID keyboard in boot OS (macOS boot screen) #1136, but only for PC BIOS, not for Mac
Fixes Support "feature" reports in HID #5197
A new optional argument,
boot_device
, was added tousb_hid.enable()
tells the host that a boot keyboard or mouse is available.All other devices should be disabled to ensure that the HID device is at interface number 0 if a
boot_device
is specified. We check for that after boot.py finishes and go into safe mode if that is not true.Feature report support was added, but could not be well tested, since I don't have a good example device right now. However, I'd like to get this in for others to test. Basically a feature report just acts like both an IN and OUT report. It can
send_report()
, and can also be referenced by aget_last_received_report()
.Testing discussed in #1136 shows that the boot device negotiation happens on a Mac, but the Mac does not respond to inputs, and there are low level USB protocol issues that seem to show up. We will not work on this further at the moment.