Keyboard - Make always use HID no longer: public usbdriver #97
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.
Changed the Keyboard to no longer be a top-level driver, but always rely on USBHidParser (or BT) to talk to the device.
One side effect of this, is I had to update several of the examples, that check for devices coming and going and remove them from the devices list and make sure they are on the HID list. Like Mouse.
Note: this also allowed me to remove the special case from HID.cpp to not shy away from claiming boot keyboard.
Also now with this, setup, the
Problem Gigabyte keyboard works without forcing it to go into boot mode. Although still does not resolve the issue that it faults the teensy some of the time... Nullptr for pipe in transfer struct when error condition causes code to walk that list.
Also added support for N-key rollover keyboards. That either work like that Gigabyte, or like Mike Aurus Gigabyte or my ReDragon one which after 6 keys pressed, it then switches to N key rollover messages for additional keys.
Lots more details up on the thread:
https://forum.pjrc.com/threads/71037-USBHost-Testing-Keyboard-object-not-top-level-object-instead-USBHIDParser
@mjs513 and I have been working on this update as well as testing.