diff --git a/src/lib/usb/notes from hid device class definition 1.11.md b/src/lib/usb/notes from hid device class definition 1.11.md new file mode 100644 index 0000000..3faa927 --- /dev/null +++ b/src/lib/usb/notes from hid device class definition 1.11.md @@ -0,0 +1,27 @@ +# Notes from the HID Device Class Definition, version 1.11 + + +* sec 4.1 (The HID Class) + * The `bInterfaceClass` member of an Interface descriptor is always 3 for + HID class devices. + +* sec 4.2 (Subclass) + * The `bInterfaceSubClass` member declares whether a device supports a boot interface. + * 0 => no subclass + * 1 => boot interface subclass + * 2..255 => reserved + +* sec 4.3 (Protocols) + * The `bInterfaceProtocol` member of an Interface descriptor only has meaning if the `bInterfaceSubClass` member declares that the device supports a boot interface, otherwise it is 0. + * 0 => none + * 1 => keyboard + * 2 => mouse + * 3..255 => reserved + + +------------------------------------------------------------------------------- + +Copyright © 2012 Ben Blazak +Released under The MIT License (MIT) (see "license.md") +Project located at + diff --git a/src/lib/usb/notes from usb 2.0 spec sec 9 (usb device framework).h b/src/lib/usb/notes from usb 2.0 spec sec 9 (usb device framework).h index 1855c52..f6650d6 100644 --- a/src/lib/usb/notes from usb 2.0 spec sec 9 (usb device framework).h +++ b/src/lib/usb/notes from usb 2.0 spec sec 9 (usb device framework).h @@ -2,10 +2,11 @@ * Notes from the USB 2.0 specification * * Written as a header file because I was going to actually use it. Changed my - * mind because it's simpler to use uint8_t arrays for things than structs, and - * to keep the least and most significant bits of uint16_t values separate - * initially instead of separating them later. Kept it as a header because it - * looks cleaner to me than an .md file would. + * mind because it's simpler to use uint8_t arrays for things than to use + * structs. it's also easier i think to keep the least and most significant + * bits of uint16_t values separate initially instead of separating them later. + * Kept it as a header because it looks cleaner this way than i could make it + * look as an .md file. * * - conventions from the spec * - variable prefixes @@ -120,7 +121,7 @@ struct usb_setup_data { * - figure 9-2 (format when specifying an endpoint) * * .-------------------------------------------------------. - * | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | + * | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | * |-------------------------------------------------------| * | direction | reserved (reset to 0) | endpoint number | * >-----------------------------------------------------<