Changeset 02817db in avrstuff for grip2hid/Descriptors.c
- Timestamp:
- Jan 3, 2024, 10:08:32 PM (4 months ago)
- Branches:
- main
- Parents:
- 3fde1f7
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
grip2hid/Descriptors.c
r3fde1f7 r02817db 38 38 #include "Descriptors.h" 39 39 40 #define BLOCK1 \ 41 HID_RI_USAGE(8, 9), \ 42 HID_RI_USAGE(8, 10), \ 43 HID_RI_USAGE(8, 8), \ 44 HID_RI_USAGE(8, 4), \ 45 HID_RI_REPORT_SIZE(8, 0x01), \ 46 HID_RI_REPORT_COUNT(8, 4), \ 47 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 48 49 #define BLOCK2 \ 50 HID_RI_USAGE(8, 7), \ 51 HID_RI_USAGE(8, 3), \ 52 HID_RI_USAGE(8, 2), \ 53 HID_RI_USAGE(8, 1), \ 54 HID_RI_REPORT_SIZE(8, 0x01), \ 55 HID_RI_REPORT_COUNT(8, 4), \ 56 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 57 40 58 /** HID class report descriptor. This is a special descriptor constructed with values from the 41 59 * USBIF HID class specification to describe the reports and capabilities of the HID device. This … … 52 70 0x85, 0x01, // Report ID 1 53 71 54 // 15 constant bytes 72 // 15 unused bits (the report is 32 bits to simplify/optimize some things, with 73 // extra padding at the start (8 bits), followed by the sync sequence 0111110 74 // (7 bits) 55 75 HID_RI_REPORT_SIZE(8, 15), 56 76 HID_RI_REPORT_COUNT(8, 0x01), 57 77 HID_RI_INPUT(8, HID_IOF_CONSTANT), 58 78 79 // Let's define some buttons 59 80 HID_RI_USAGE_PAGE(8, 0x09), 60 81 HID_RI_LOGICAL_MINIMUM(8, 0x00), 61 82 HID_RI_LOGICAL_MAXIMUM(8, 0x01), 62 83 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 84 // 9, 10, 8, 4 (Select, Start, R2, Blue) 85 BLOCK1 86 87 // One unused bit (always 0) 88 HID_RI_REPORT_SIZE(8, 1), 89 HID_RI_REPORT_COUNT(8, 0x01), 90 HID_RI_INPUT(8, HID_IOF_CONSTANT), 91 92 // 7, 3, 2, 1 (L2, Green, Yellow, Red) 93 BLOCK2 94 95 HID_RI_REPORT_SIZE(8, 1), 96 HID_RI_REPORT_COUNT(8, 0x01), 97 HID_RI_INPUT(8, HID_IOF_CONSTANT), 98 99 // 5, 6 (L1, R1) 85 100 HID_RI_USAGE_MINIMUM(8, 5), 86 101 HID_RI_USAGE_MAXIMUM(8, 6), … … 128 143 HID_RI_LOGICAL_MAXIMUM(8, 0x01), 129 144 130 HID_RI_USAGE_MINIMUM(8, 7), 131 HID_RI_USAGE_MAXIMUM(8, 9), 132 HID_RI_USAGE(8, 4), 133 HID_RI_REPORT_SIZE(8, 0x01), 134 HID_RI_REPORT_COUNT(8, 4), 135 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 136 137 HID_RI_REPORT_SIZE(8, 1), 138 HID_RI_REPORT_COUNT(8, 0x01), 139 HID_RI_INPUT(8, HID_IOF_CONSTANT), 140 141 HID_RI_USAGE(8, 10), 142 HID_RI_USAGE_MINIMUM(8, 1), 143 HID_RI_USAGE_MAXIMUM(8, 3), 144 HID_RI_REPORT_SIZE(8, 0x01), 145 HID_RI_REPORT_COUNT(8, 4), 146 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 145 BLOCK1 146 147 HID_RI_REPORT_SIZE(8, 1), 148 HID_RI_REPORT_COUNT(8, 0x01), 149 HID_RI_INPUT(8, HID_IOF_CONSTANT), 150 151 BLOCK2 147 152 148 153 HID_RI_REPORT_SIZE(8, 1), … … 195 200 HID_RI_LOGICAL_MAXIMUM(8, 0x01), 196 201 197 HID_RI_USAGE_MINIMUM(8, 7), 198 HID_RI_USAGE_MAXIMUM(8, 9), 199 HID_RI_USAGE(8, 4), 200 HID_RI_REPORT_SIZE(8, 0x01), 201 HID_RI_REPORT_COUNT(8, 4), 202 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 203 204 HID_RI_REPORT_SIZE(8, 1), 205 HID_RI_REPORT_COUNT(8, 0x01), 206 HID_RI_INPUT(8, HID_IOF_CONSTANT), 207 208 HID_RI_USAGE(8, 10), 209 HID_RI_USAGE_MINIMUM(8, 1), 210 HID_RI_USAGE_MAXIMUM(8, 3), 211 HID_RI_REPORT_SIZE(8, 0x01), 212 HID_RI_REPORT_COUNT(8, 4), 213 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 202 BLOCK1 203 204 HID_RI_REPORT_SIZE(8, 1), 205 HID_RI_REPORT_COUNT(8, 0x01), 206 HID_RI_INPUT(8, HID_IOF_CONSTANT), 207 208 BLOCK2 214 209 215 210 HID_RI_REPORT_SIZE(8, 1), … … 262 257 HID_RI_LOGICAL_MAXIMUM(8, 0x01), 263 258 264 HID_RI_USAGE_MINIMUM(8, 7), 265 HID_RI_USAGE_MAXIMUM(8, 9), 266 HID_RI_USAGE(8, 4), 267 HID_RI_REPORT_SIZE(8, 0x01), 268 HID_RI_REPORT_COUNT(8, 4), 269 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 270 271 HID_RI_REPORT_SIZE(8, 1), 272 HID_RI_REPORT_COUNT(8, 0x01), 273 HID_RI_INPUT(8, HID_IOF_CONSTANT), 274 275 HID_RI_USAGE(8, 10), 276 HID_RI_USAGE_MINIMUM(8, 1), 277 HID_RI_USAGE_MAXIMUM(8, 3), 278 HID_RI_REPORT_SIZE(8, 0x01), 279 HID_RI_REPORT_COUNT(8, 4), 280 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), 259 BLOCK1 260 261 HID_RI_REPORT_SIZE(8, 1), 262 HID_RI_REPORT_COUNT(8, 0x01), 263 HID_RI_INPUT(8, HID_IOF_CONSTANT), 264 265 BLOCK2 281 266 282 267 HID_RI_REPORT_SIZE(8, 1),
Note:
See TracChangeset
for help on using the changeset viewer.