Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HID Boot device support; HID feature report support #5481

Merged
merged 9 commits into from
Oct 18, 2021

Conversation

dhalbert
Copy link
Collaborator

  • 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 to usb_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 a get_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.

@dhalbert dhalbert requested a review from tannewt October 18, 2021 19:52
Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This all looks nice and clean to me! Thank you for getting what you have in. It'll be good for more folks to test it.

@tannewt tannewt merged commit dc4e5cb into adafruit:main Oct 18, 2021
@dhalbert dhalbert deleted the hid-boot-protocol branch October 18, 2021 23:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support "feature" reports in HID
2 participants