Changeset 8d96947 in avrstuff for kbd/pcw2hid/code/Descriptors.c
- Timestamp:
- Feb 7, 2023, 9:03:10 PM (16 months ago)
- Branches:
- main
- Children:
- 88a38a8
- Parents:
- 110c692
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kbd/pcw2hid/code/Descriptors.c
r110c692 r8d96947 44 44 * more details on HID report descriptors. 45 45 */ 46 const USB_Descriptor_HIDReport_Datatype_t PROGMEM JoystickReport[] = 47 { 48 HID_RI_USAGE_PAGE(8, 0x01), 49 HID_RI_USAGE(8, 0x04), 50 HID_RI_COLLECTION(8, 0x01), 51 52 0x85, 0x01, // Report ID 1 53 54 // 15 constant bytes 55 HID_RI_REPORT_SIZE(8, 15), 56 HID_RI_REPORT_COUNT(8, 0x01), 57 HID_RI_INPUT(8, HID_IOF_CONSTANT), 58 59 HID_RI_USAGE_PAGE(8, 0x09), 60 HID_RI_LOGICAL_MINIMUM(8, 0x00), 61 HID_RI_LOGICAL_MAXIMUM(8, 0x01), 62 63 HID_RI_USAGE_MINIMUM(8, 7), 64 HID_RI_USAGE_MAXIMUM(8, 9), 65 HID_RI_USAGE(8, 4), 66 HID_RI_REPORT_SIZE(8, 0x01), 67 HID_RI_REPORT_COUNT(8, 4), 68 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 69 70 HID_RI_REPORT_SIZE(8, 1), 71 HID_RI_REPORT_COUNT(8, 0x01), 72 HID_RI_INPUT(8, HID_IOF_CONSTANT), 73 74 HID_RI_USAGE(8, 10), 75 HID_RI_USAGE_MINIMUM(8, 1), 76 HID_RI_USAGE_MAXIMUM(8, 3), 77 HID_RI_REPORT_SIZE(8, 0x01), 78 HID_RI_REPORT_COUNT(8, 4), 79 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 80 81 HID_RI_REPORT_SIZE(8, 1), 82 HID_RI_REPORT_COUNT(8, 0x01), 83 HID_RI_INPUT(8, HID_IOF_CONSTANT), 84 85 HID_RI_USAGE_MINIMUM(8, 5), 86 HID_RI_USAGE_MAXIMUM(8, 6), 87 HID_RI_REPORT_SIZE(8, 0x01), 88 HID_RI_REPORT_COUNT(8, 2), 89 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 90 91 HID_RI_USAGE_PAGE(8, 0x01), 92 HID_RI_USAGE(8, 0x01), 93 HID_RI_COLLECTION(8, 0x00), 94 HID_RI_USAGE(8, 0x31), 95 HID_RI_LOGICAL_MINIMUM(8, -2), 96 HID_RI_LOGICAL_MAXIMUM(8, 1), 97 HID_RI_REPORT_COUNT(8, 1), 98 HID_RI_REPORT_SIZE(8, 2), 99 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 100 101 HID_RI_REPORT_SIZE(8, 1), 102 HID_RI_REPORT_COUNT(8, 0x01), 103 HID_RI_INPUT(8, HID_IOF_CONSTANT), 104 105 HID_RI_USAGE(8, 0x30), 106 HID_RI_LOGICAL_MINIMUM(8, -2), 107 HID_RI_LOGICAL_MAXIMUM(8, 1), 108 HID_RI_REPORT_COUNT(8, 1), 109 HID_RI_REPORT_SIZE(8, 2), 110 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 111 HID_RI_END_COLLECTION(0), 112 113 HID_RI_END_COLLECTION(0) 46 const USB_Descriptor_HIDReport_Datatype_t PROGMEM KeyboardReport[] = 47 { 48 /* Use the HID class driver's standard Keyboard report. 49 * Max simultaneous keys: 6 50 */ 51 HID_DESCRIPTOR_KEYBOARD(6) 114 52 }; 115 53 … … 131 69 132 70 .VendorID = 0x16c0, 133 .ProductID = 0x27d c,71 .ProductID = 0x27db, 134 72 .ReleaseNumber = VERSION_BCD(0,0,1), 135 73 … … 167 105 .Header = {.Size = sizeof(USB_Descriptor_Interface_t), .Type = DTYPE_Interface}, 168 106 169 .InterfaceNumber = INTERFACE_ID_ Joystick,107 .InterfaceNumber = INTERFACE_ID_Keyboard, 170 108 .AlternateSetting = 0x00, 171 109 … … 173 111 174 112 .Class = HID_CSCP_HIDClass, 175 .SubClass = HID_CSCP_ NonBootSubclass,176 .Protocol = HID_CSCP_ NonBootProtocol,113 .SubClass = HID_CSCP_BootSubclass, 114 .Protocol = HID_CSCP_KeyboardBootProtocol, 177 115 178 116 .InterfaceStrIndex = NO_DESCRIPTOR 179 117 }, 180 118 181 .HID_ JoystickHID =119 .HID_KeyboardHID = 182 120 { 183 121 .Header = {.Size = sizeof(USB_HID_Descriptor_HID_t), .Type = HID_DTYPE_HID}, … … 187 125 .TotalReportDescriptors = 1, 188 126 .HIDReportType = HID_DTYPE_Report, 189 .HIDReportLength = sizeof( JoystickReport)127 .HIDReportLength = sizeof(KeyboardReport) 190 128 }, 191 129 … … 194 132 .Header = {.Size = sizeof(USB_Descriptor_Endpoint_t), .Type = DTYPE_Endpoint}, 195 133 196 .EndpointAddress = JOYSTICK_EPADDR,134 .EndpointAddress = KEYBOARD_EPADDR, 197 135 .Attributes = (EP_TYPE_INTERRUPT | ENDPOINT_ATTR_NO_SYNC | ENDPOINT_USAGE_DATA), 198 .EndpointSize = JOYSTICK_EPSIZE,136 .EndpointSize = KEYBOARD_EPSIZE, 199 137 .PollingIntervalMS = 0x05 200 138 } … … 264 202 break; 265 203 case HID_DTYPE_HID: 266 Address = &ConfigurationDescriptor.HID_ JoystickHID;204 Address = &ConfigurationDescriptor.HID_KeyboardHID; 267 205 Size = sizeof(USB_HID_Descriptor_HID_t); 268 206 break; 269 207 case HID_DTYPE_Report: 270 Address = & JoystickReport;271 Size = sizeof( JoystickReport);208 Address = &KeyboardReport; 209 Size = sizeof(KeyboardReport); 272 210 break; 273 211 }
Note:
See TracChangeset
for help on using the changeset viewer.