There is some ancient confusion in bits of the codebase when referring to a descriptor's number and type_number. The number is the descriptor number whereas type_number is the descriptor type. This was causing identifier lookups to fail when searching for a descriptor in requestable_descriptors.
The Keyboard device's HIDDescriptor also needed to specify include_in_config.
The data class for USBClassDescriptor needed a type annotation.
I realized that include_in_config: bool = True must be typed with bool to actually be considered. :see_no_evil: include_in_config = True is not enough.
This PR does a bunch of things:
number
andtype_number
. Thenumber
is the descriptor number whereastype_number
is the descriptor type. This was causing identifier lookups to fail when searching for a descriptor inrequestable_descriptors
.Keyboard
device'sHIDDescriptor
also needed to specifyinclude_in_config
.USBClassDescriptor
needed a type annotation.closes #133