USB Host Shield 2.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
hidescriptorparser.cpp
Go to the documentation of this file.
1 #include "hidescriptorparser.h"
2 
3 const char * const ReportDescParserBase::usagePageTitles0[] PROGMEM = {
19 };
20 
21 const char * const ReportDescParserBase::usagePageTitles1[] PROGMEM = {
28 };
29 const char * const ReportDescParserBase::genDesktopTitles0[] PROGMEM = {
38 
39 };
40 const char * const ReportDescParserBase::genDesktopTitles1[] PROGMEM = {
41  pstrUsageX,
42  pstrUsageY,
43  pstrUsageZ,
66 };
67 const char * const ReportDescParserBase::genDesktopTitles2[] PROGMEM = {
88 };
89 const char * const ReportDescParserBase::genDesktopTitles3[] PROGMEM = {
99 };
100 const char * const ReportDescParserBase::genDesktopTitles4[] PROGMEM = {
109 };
110 const char * const ReportDescParserBase::simuTitles0[] PROGMEM = {
123 };
124 const char * const ReportDescParserBase::simuTitles1[] PROGMEM = {
131 };
132 const char * const ReportDescParserBase::simuTitles2[] PROGMEM = {
166 };
167 const char * const ReportDescParserBase::vrTitles0[] PROGMEM = {
178 };
179 const char * const ReportDescParserBase::vrTitles1[] PROGMEM = {
182 };
183 const char * const ReportDescParserBase::sportsCtrlTitles0[] PROGMEM = {
188 };
189 const char * const ReportDescParserBase::sportsCtrlTitles1[] PROGMEM = {
190  pstrUsageOar,
200 };
201 const char * const ReportDescParserBase::sportsCtrlTitles2[] PROGMEM = {
222 };
223 const char * const ReportDescParserBase::gameTitles0[] PROGMEM = {
227 };
228 const char * const ReportDescParserBase::gameTitles1[] PROGMEM = {
254 };
255 const char * const ReportDescParserBase::genDevCtrlTitles[] PROGMEM = {
263 };
264 const char * const ReportDescParserBase::ledTitles[] PROGMEM = {
284  pstrUsageCAV,
285  pstrUsageCLV,
342 };
343 const char * const ReportDescParserBase::telTitles0 [] PROGMEM = {
351 };
352 const char * const ReportDescParserBase::telTitles1 [] PROGMEM = {
371 };
372 const char * const ReportDescParserBase::telTitles2 [] PROGMEM = {
377 };
378 const char * const ReportDescParserBase::telTitles3 [] PROGMEM = {
384 };
385 const char * const ReportDescParserBase::telTitles4 [] PROGMEM = {
401 };
402 const char * const ReportDescParserBase::telTitles5 [] PROGMEM = {
419 };
420 const char * const ReportDescParserBase::consTitles0[] PROGMEM = {
427 };
428 const char * const ReportDescParserBase::consTitles1[] PROGMEM = {
432 };
433 const char * const ReportDescParserBase::consTitles2[] PROGMEM = {
441 
442 };
443 const char * const ReportDescParserBase::consTitles3[] PROGMEM = {
453 };
454 const char * const ReportDescParserBase::consTitles4[] PROGMEM = {
462 };
463 const char * const ReportDescParserBase::consTitles5[] PROGMEM = {
501 };
502 const char * const ReportDescParserBase::consTitles6[] PROGMEM = {
534 };
535 const char * const ReportDescParserBase::consTitles7[] PROGMEM = {
544  pstrUsageMPX,
547 };
548 const char * const ReportDescParserBase::consTitles8[] PROGMEM = {
555 };
556 const char * const ReportDescParserBase::consTitles9[] PROGMEM = {
571 };
572 const char * const ReportDescParserBase::consTitlesA[] PROGMEM = {
579 };
580 const char * const ReportDescParserBase::consTitlesB[] PROGMEM = {
592 };
593 const char * const ReportDescParserBase::consTitlesC[] PROGMEM = {
599 };
600 const char * const ReportDescParserBase::consTitlesD[] PROGMEM = {
673 };
674 const char * const ReportDescParserBase::consTitlesE[] PROGMEM = {
816 };
817 const char * const ReportDescParserBase::digitTitles0[] PROGMEM = {
819  pstrUsagePen,
831 };
832 const char * const ReportDescParserBase::digitTitles1[] PROGMEM = {
836 
837 };
838 const char * const ReportDescParserBase::digitTitles2[] PROGMEM = {
844  pstrUsageTap,
862 };
863 const char * const ReportDescParserBase::aplphanumTitles0[] PROGMEM = {
866 };
867 const char * const ReportDescParserBase::aplphanumTitles1[] PROGMEM = {
887  pstrUsageRow,
914 };
915 const char * const ReportDescParserBase::aplphanumTitles2[] PROGMEM = {
937 };
938 const char * const ReportDescParserBase::medInstrTitles0[] PROGMEM = {
947 };
948 const char * const ReportDescParserBase::medInstrTitles1[] PROGMEM = {
954 };
955 const char * const ReportDescParserBase::medInstrTitles2[] PROGMEM = {
958 };
959 const char * const ReportDescParserBase::medInstrTitles3[] PROGMEM = {
970 };
971 const char * const ReportDescParserBase::medInstrTitles4[] PROGMEM = {
974 };
975 
976 void ReportDescParserBase::Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset) {
977  uint16_t cntdn = (uint16_t)len;
978  uint8_t *p = (uint8_t*)pbuf;
979 
980 
981  totalSize = 0;
982 
983  while(cntdn) {
984  //USB_HOST_SERIAL.println("");
985  //PrintHex<uint16_t>(offset + len - cntdn);
986  //USB_HOST_SERIAL.print(":");
987 
988  ParseItem(&p, &cntdn);
989 
990  //if (ParseItem(&p, &cntdn))
991  // return;
992  }
993  //USBTRACE2("Total:", totalSize);
994 }
995 
996 void ReportDescParserBase::PrintValue(uint8_t *p, uint8_t len) {
997  E_Notify(PSTR("("), 0x80);
998  for(; len; p++, len--)
999  PrintHex<uint8_t > (*p, 0x80);
1000  E_Notify(PSTR(")"), 0x80);
1001 }
1002 
1004  E_Notify(PSTR("("), 0x80);
1005  PrintHex<uint8_t > (data, 0x80);
1006  E_Notify(PSTR(")"), 0x80);
1007 }
1008 
1010  switch(prefix & (TYPE_MASK | TAG_MASK)) {
1011  case (TYPE_GLOBAL | TAG_GLOBAL_PUSH):
1012  E_Notify(PSTR("\r\nPush"), 0x80);
1013  break;
1014  case (TYPE_GLOBAL | TAG_GLOBAL_POP):
1015  E_Notify(PSTR("\r\nPop"), 0x80);
1016  break;
1018  E_Notify(PSTR("\r\nUsage Page"), 0x80);
1019  break;
1021  E_Notify(PSTR("\r\nLogical Min"), 0x80);
1022  break;
1024  E_Notify(PSTR("\r\nLogical Max"), 0x80);
1025  break;
1027  E_Notify(PSTR("\r\nPhysical Min"), 0x80);
1028  break;
1030  E_Notify(PSTR("\r\nPhysical Max"), 0x80);
1031  break;
1033  E_Notify(PSTR("\r\nUnit Exp"), 0x80);
1034  break;
1035  case (TYPE_GLOBAL | TAG_GLOBAL_UNIT):
1036  E_Notify(PSTR("\r\nUnit"), 0x80);
1037  break;
1039  E_Notify(PSTR("\r\nReport Size"), 0x80);
1040  break;
1042  E_Notify(PSTR("\r\nReport Count"), 0x80);
1043  break;
1045  E_Notify(PSTR("\r\nReport Id"), 0x80);
1046  break;
1047  case (TYPE_LOCAL | TAG_LOCAL_USAGE):
1048  E_Notify(PSTR("\r\nUsage"), 0x80);
1049  break;
1050  case (TYPE_LOCAL | TAG_LOCAL_USAGEMIN):
1051  E_Notify(PSTR("\r\nUsage Min"), 0x80);
1052  break;
1053  case (TYPE_LOCAL | TAG_LOCAL_USAGEMAX):
1054  E_Notify(PSTR("\r\nUsage Max"), 0x80);
1055  break;
1056  case (TYPE_MAIN | TAG_MAIN_COLLECTION):
1057  E_Notify(PSTR("\r\nCollection"), 0x80);
1058  break;
1060  E_Notify(PSTR("\r\nEnd Collection"), 0x80);
1061  break;
1062  case (TYPE_MAIN | TAG_MAIN_INPUT):
1063  E_Notify(PSTR("\r\nInput"), 0x80);
1064  break;
1065  case (TYPE_MAIN | TAG_MAIN_OUTPUT):
1066  E_Notify(PSTR("\r\nOutput"), 0x80);
1067  break;
1068  case (TYPE_MAIN | TAG_MAIN_FEATURE):
1069  E_Notify(PSTR("\r\nFeature"), 0x80);
1070  break;
1071  } // switch (**pp & (TYPE_MASK | TAG_MASK))
1072 }
1073 
1074 uint8_t ReportDescParserBase::ParseItem(uint8_t **pp, uint16_t *pcntdn) {
1075  //uint8_t ret = enErrorSuccess;
1076  //reinterpret_cast<>(varBuffer);
1077  switch(itemParseState) {
1078  case 0:
1079  if(**pp == HID_LONG_ITEM_PREFIX)
1080  USBTRACE("\r\nLONG\r\n");
1081  else {
1082  uint8_t size = ((**pp) & DATA_SIZE_MASK);
1083 
1084  itemPrefix = (**pp);
1085  itemSize = 1 + ((size == DATA_SIZE_4) ? 4 : size);
1086 
1088  }
1089  (*pp)++;
1090  (*pcntdn)--;
1091  itemSize--;
1092  itemParseState = 1;
1093 
1094  if(!itemSize)
1095  break;
1096 
1097  if(!pcntdn)
1098  return enErrorIncomplete;
1099  case 1:
1100  //USBTRACE2("\r\niSz:",itemSize);
1101 
1104  itemParseState = 2;
1105  case 2:
1106  if(!valParser.Parse(pp, pcntdn))
1107  return enErrorIncomplete;
1108  itemParseState = 3;
1109  case 3:
1110  {
1111  uint8_t data = *((uint8_t*)varBuffer);
1112 
1113  switch(itemPrefix & (TYPE_MASK | TAG_MASK)) {
1114  case (TYPE_LOCAL | TAG_LOCAL_USAGE):
1115  if(pfUsage) {
1116  if(theBuffer.valueSize > 1) {
1117  uint16_t* ui16 = reinterpret_cast<uint16_t *>(varBuffer);
1118  pfUsage(*ui16);
1119  } else
1120  pfUsage(data);
1121  }
1122  break;
1124  rptSize = data;
1125  PrintByteValue(data);
1126  break;
1128  rptCount = data;
1129  PrintByteValue(data);
1130  break;
1136  case (TYPE_LOCAL | TAG_LOCAL_USAGEMIN):
1137  case (TYPE_LOCAL | TAG_LOCAL_USAGEMAX):
1139  case (TYPE_GLOBAL | TAG_GLOBAL_UNIT):
1141  break;
1142  case (TYPE_GLOBAL | TAG_GLOBAL_PUSH):
1143  case (TYPE_GLOBAL | TAG_GLOBAL_POP):
1144  break;
1146  SetUsagePage(data);
1147  PrintUsagePage(data);
1148  PrintByteValue(data);
1149  break;
1150  case (TYPE_MAIN | TAG_MAIN_COLLECTION):
1152  switch(data) {
1153  case 0x00:
1154  E_Notify(PSTR(" Physical"), 0x80);
1155  break;
1156  case 0x01:
1157  E_Notify(PSTR(" Application"), 0x80);
1158  break;
1159  case 0x02:
1160  E_Notify(PSTR(" Logical"), 0x80);
1161  break;
1162  case 0x03:
1163  E_Notify(PSTR(" Report"), 0x80);
1164  break;
1165  case 0x04:
1166  E_Notify(PSTR(" Named Array"), 0x80);
1167  break;
1168  case 0x05:
1169  E_Notify(PSTR(" Usage Switch"), 0x80);
1170  break;
1171  case 0x06:
1172  E_Notify(PSTR(" Usage Modifier"), 0x80);
1173  break;
1174  default:
1175  E_Notify(PSTR(" Vendor Defined("), 0x80);
1176  PrintHex<uint8_t > (data, 0x80);
1177  E_Notify(PSTR(")"), 0x80);
1178  }
1179  break;
1180  case (TYPE_MAIN | TAG_MAIN_INPUT):
1181  case (TYPE_MAIN | TAG_MAIN_OUTPUT):
1182  case (TYPE_MAIN | TAG_MAIN_FEATURE):
1183  totalSize += (uint16_t)rptSize * (uint16_t)rptCount;
1184  rptSize = 0;
1185  rptCount = 0;
1186  E_Notify(PSTR("("), 0x80);
1187  PrintBin<uint8_t > (data, 0x80);
1188  E_Notify(PSTR(")"), 0x80);
1189  break;
1190  } // switch (**pp & (TYPE_MASK | TAG_MASK))
1191  }
1192  } // switch (itemParseState)
1193  itemParseState = 0;
1194  return enErrorSuccess;
1195 }
1196 
1204  NULL, // Keyboard/Keypad
1211  NULL, // Reserved
1212  NULL, // PID
1213  NULL // Unicode
1214 };
1215 
1217  pfUsage = NULL;
1218 
1219  if(VALUE_BETWEEN(page, 0x00, 0x11))
1220  pfUsage = (usagePageFunctions[page - 1]);
1221 
1222  // Dead code...
1223  //
1224  // pfUsage = (UsagePageFunc)pgm_read_pointer(usagePageFunctions[page - 1]);
1225  //else if (page > 0x7f && page < 0x84)
1226  // E_Notify(pstrUsagePageMonitor);
1227  //else if (page > 0x83 && page < 0x8c)
1228  // E_Notify(pstrUsagePagePower);
1229  //else if (page > 0x8b && page < 0x92)
1230  // E_Notify((char*)pgm_read_pointer(&usagePageTitles1[page - 0x8c]));
1231  //else if (page > 0xfeff && page <= 0xffff)
1232  // E_Notify(pstrUsagePageVendorDefined);
1233  //
1234  else
1235  switch(page) {
1236  case 0x14:
1238  break;
1239  case 0x40:
1241  break;
1242  }
1243 }
1244 
1246  const char * const * w;
1247  E_Notify(pstrSpace, 0x80);
1248 
1249  output_if_between(page, 0x00, 0x11, w, E_Notify, usagePageTitles0, 0x80)
1250  else output_if_between(page, 0x8b, 0x92, w, E_Notify, usagePageTitles1, 0x80)
1251  else if(VALUE_BETWEEN(page, 0x7f, 0x84))
1253  else if(VALUE_BETWEEN(page, 0x83, 0x8c))
1255  else if(page > 0xfeff /* && page <= 0xffff */)
1257  else
1258  switch(page) {
1259  case 0x14:
1261  break;
1262  case 0x40:
1264  break;
1265  default:
1267  }
1268 }
1269 
1271  E_Notify(pstrSpace, 0x80);
1272  E_Notify(PSTR("Btn"), 0x80);
1273  PrintHex<uint16_t > (usage, 0x80);
1274  E_Notify(PSTR("\r\n"), 0x80);
1275  //USB_HOST_SERIAL.print(usage, HEX);
1276 }
1277 
1279  E_Notify(pstrSpace, 0x80);
1280  E_Notify(PSTR("Inst"), 0x80);
1281  // Sorry, HEX for now...
1282  PrintHex<uint16_t > (usage, 0x80);
1283  E_Notify(PSTR("\r\n"), 0x80);
1284  //USB_HOST_SERIAL.print(usage, DEC);
1285 }
1286 
1288  const char * const * w;
1289  E_Notify(pstrSpace, 0x80);
1290 
1291  output_if_between(usage, 0x00, 0x0a, w, E_Notify, genDesktopTitles0, 0x80)
1292  else output_if_between(usage, 0x2f, 0x49, w, E_Notify, genDesktopTitles1, 0x80)
1293  else output_if_between(usage, 0x7f, 0x94, w, E_Notify, genDesktopTitles2, 0x80)
1294  else output_if_between(usage, 0x9f, 0xa9, w, E_Notify, genDesktopTitles3, 0x80)
1295  else output_if_between(usage, 0xaf, 0xb8, w, E_Notify, genDesktopTitles4, 0x80)
1296  else E_Notify(pstrUsagePageUndefined, 0x80);
1297 }
1298 
1300  const char * const * w;
1301  E_Notify(pstrSpace, 0x80);
1302 
1303  output_if_between(usage, 0x00, 0x0d, w, E_Notify, simuTitles0, 0x80)
1304  else output_if_between(usage, 0x1f, 0x26, w, E_Notify, simuTitles1, 0x80)
1305  else output_if_between(usage, 0xaf, 0xd1, w, E_Notify, simuTitles2, 0x80)
1306  else E_Notify(pstrUsagePageUndefined, 0x80);
1307 }
1308 
1310  const char * const * w;
1311  E_Notify(pstrSpace, 0x80);
1312 
1313  output_if_between(usage, 0x00, 0x0b, w, E_Notify, vrTitles0, 0x80)
1314  else output_if_between(usage, 0x1f, 0x22, w, E_Notify, vrTitles1, 0x80)
1315  else E_Notify(pstrUsagePageUndefined, 0x80);
1316 }
1317 
1319  const char * const * w;
1320  E_Notify(pstrSpace, 0x80);
1321 
1322  output_if_between(usage, 0x00, 0x05, w, E_Notify, sportsCtrlTitles0, 0x80)
1323  else output_if_between(usage, 0x2f, 0x3a, w, E_Notify, sportsCtrlTitles1, 0x80)
1324  else output_if_between(usage, 0x4f, 0x64, w, E_Notify, sportsCtrlTitles2, 0x80)
1325  else E_Notify(pstrUsagePageUndefined, 0x80);
1326 }
1327 
1329  const char * const * w;
1330  E_Notify(pstrSpace, 0x80);
1331 
1332  output_if_between(usage, 0x00, 0x04, w, E_Notify, gameTitles0, 0x80)
1333  else output_if_between(usage, 0x1f, 0x3a, w, E_Notify, gameTitles1, 0x80)
1334  else E_Notify(pstrUsagePageUndefined, 0x80);
1335 }
1336 
1338  const char * const * w;
1339  E_Notify(pstrSpace, 0x80);
1340 
1341  output_if_between(usage, 0x1f, 0x27, w, E_Notify, genDevCtrlTitles, 0x80)
1342  else E_Notify(pstrUsagePageUndefined, 0x80);
1343 }
1344 
1346  const char * const * w;
1347  E_Notify(pstrSpace, 0x80);
1348 
1349  output_if_between(usage, 0x00, 0x4e, w, E_Notify, ledTitles, 0x80)
1350  else E_Notify(pstrUsagePageUndefined, 0x80);
1351 }
1352 
1354  const char * const * w;
1355  E_Notify(pstrSpace, 0x80);
1356 
1357  output_if_between(usage, 0x00, 0x08, w, E_Notify, telTitles0, 0x80)
1358  else output_if_between(usage, 0x1f, 0x32, w, E_Notify, telTitles1, 0x80)
1359  else output_if_between(usage, 0x4f, 0x54, w, E_Notify, telTitles2, 0x80)
1360  else output_if_between(usage, 0x6f, 0x75, w, E_Notify, telTitles3, 0x80)
1361  else output_if_between(usage, 0x8f, 0x9f, w, E_Notify, telTitles4, 0x80)
1362  else output_if_between(usage, 0xaf, 0xc0, w, E_Notify, telTitles5, 0x80)
1363  else E_Notify(pstrUsagePageUndefined, 0x80);
1364 }
1365 
1367  const char * const * w;
1368  E_Notify(pstrSpace, 0x80);
1369 
1370  output_if_between(usage, 0x00, 0x07, w, E_Notify, consTitles0, 0x80)
1371  else output_if_between(usage, 0x1f, 0x23, w, E_Notify, consTitles1, 0x80)
1372  else output_if_between(usage, 0x2f, 0x37, w, E_Notify, consTitles2, 0x80)
1373  else output_if_between(usage, 0x3f, 0x49, w, E_Notify, consTitles3, 0x80)
1374  else output_if_between(usage, 0x5f, 0x67, w, E_Notify, consTitles4, 0x80)
1375  else output_if_between(usage, 0x7f, 0xa5, w, E_Notify, consTitles5, 0x80)
1376  else output_if_between(usage, 0xaf, 0xcf, w, E_Notify, consTitles6, 0x80)
1377  else output_if_between(usage, 0xdf, 0xeb, w, E_Notify, consTitles7, 0x80)
1378  else output_if_between(usage, 0xef, 0xf6, w, E_Notify, consTitles8, 0x80)
1379  else output_if_between(usage, 0xff, 0x10e, w, E_Notify, consTitles9, 0x80)
1380  else output_if_between(usage, 0x14f, 0x156, w, E_Notify, consTitlesA, 0x80)
1381  else output_if_between(usage, 0x15f, 0x16b, w, E_Notify, consTitlesB, 0x80)
1382  else output_if_between(usage, 0x16f, 0x175, w, E_Notify, consTitlesC, 0x80)
1383  else output_if_between(usage, 0x17f, 0x1c8, w, E_Notify, consTitlesD, 0x80)
1384  else output_if_between(usage, 0x1ff, 0x29d, w, E_Notify, consTitlesE, 0x80)
1385  else E_Notify(pstrUsagePageUndefined, 0x80);
1386 }
1387 
1389  const char * const * w;
1390  E_Notify(pstrSpace, 0x80);
1391 
1392  output_if_between(usage, 0x00, 0x0e, w, E_Notify, digitTitles0, 0x80)
1393  else output_if_between(usage, 0x1f, 0x23, w, E_Notify, digitTitles1, 0x80)
1394  else output_if_between(usage, 0x2f, 0x47, w, E_Notify, digitTitles2, 0x80)
1395  else E_Notify(pstrUsagePageUndefined, 0x80);
1396 }
1397 
1399  const char * const * w;
1400  E_Notify(pstrSpace, 0x80);
1401 
1402  output_if_between(usage, 0x00, 0x03, w, E_Notify, aplphanumTitles0, 0x80)
1403  else output_if_between(usage, 0x1f, 0x4e, w, E_Notify, aplphanumTitles1, 0x80)
1404  else output_if_between(usage, 0x7f, 0x96, w, E_Notify, digitTitles2, 0x80)
1405  else E_Notify(pstrUsagePageUndefined, 0x80);
1406 }
1407 
1409  const char * const * w;
1410  E_Notify(pstrSpace, 0x80);
1411 
1412  if(usage == 1) E_Notify(pstrUsageMedicalUltrasound, 0x80);
1413  else if(usage == 0x70)
1415  else output_if_between(usage, 0x1f, 0x28, w, E_Notify, medInstrTitles0, 0x80)
1416  else output_if_between(usage, 0x3f, 0x45, w, E_Notify, medInstrTitles1, 0x80)
1417  else output_if_between(usage, 0x5f, 0x62, w, E_Notify, medInstrTitles2, 0x80)
1418  else output_if_between(usage, 0x7f, 0x8a, w, E_Notify, medInstrTitles3, 0x80)
1419  else output_if_between(usage, 0x9f, 0xa2, w, E_Notify, medInstrTitles4, 0x80)
1420  else E_Notify(pstrUsagePageUndefined, 0x80);
1421 }
1422 
1423 uint8_t ReportDescParser2::ParseItem(uint8_t **pp, uint16_t *pcntdn) {
1424  //uint8_t ret = enErrorSuccess;
1425 
1426  switch(itemParseState) {
1427  case 0:
1428  if(**pp == HID_LONG_ITEM_PREFIX)
1429  USBTRACE("\r\nLONG\r\n");
1430  else {
1431  uint8_t size = ((**pp) & DATA_SIZE_MASK);
1432  itemPrefix = (**pp);
1433  itemSize = 1 + ((size == DATA_SIZE_4) ? 4 : size);
1434  }
1435  (*pp)++;
1436  (*pcntdn)--;
1437  itemSize--;
1438  itemParseState = 1;
1439 
1440  if(!itemSize)
1441  break;
1442 
1443  if(!pcntdn)
1444  return enErrorIncomplete;
1445  case 1:
1448  itemParseState = 2;
1449  case 2:
1450  if(!valParser.Parse(pp, pcntdn))
1451  return enErrorIncomplete;
1452  itemParseState = 3;
1453  case 3:
1454  {
1455  uint8_t data = *((uint8_t*)varBuffer);
1456 
1457  switch(itemPrefix & (TYPE_MASK | TAG_MASK)) {
1458  case (TYPE_LOCAL | TAG_LOCAL_USAGE):
1459  if(pfUsage) {
1460  if(theBuffer.valueSize > 1) {
1461  uint16_t* ui16 = reinterpret_cast<uint16_t *>(varBuffer);
1462  pfUsage(*ui16);
1463  } else
1464  pfUsage(data);
1465  }
1466  break;
1468  rptSize = data;
1469  break;
1471  rptCount = data;
1472  break;
1474  rptId = data;
1475  break;
1476  case (TYPE_LOCAL | TAG_LOCAL_USAGEMIN):
1477  useMin = data;
1478  break;
1479  case (TYPE_LOCAL | TAG_LOCAL_USAGEMAX):
1480  useMax = data;
1481  break;
1483  SetUsagePage(data);
1484  break;
1485  case (TYPE_MAIN | TAG_MAIN_OUTPUT):
1486  case (TYPE_MAIN | TAG_MAIN_FEATURE):
1487  rptSize = 0;
1488  rptCount = 0;
1489  useMin = 0;
1490  useMax = 0;
1491  break;
1492  case (TYPE_MAIN | TAG_MAIN_INPUT):
1493  OnInputItem(data);
1494 
1495  totalSize += (uint16_t)rptSize * (uint16_t)rptCount;
1496 
1497  rptSize = 0;
1498  rptCount = 0;
1499  useMin = 0;
1500  useMax = 0;
1501  break;
1502  } // switch (**pp & (TYPE_MASK | TAG_MASK))
1503  }
1504  } // switch (itemParseState)
1505  itemParseState = 0;
1506  return enErrorSuccess;
1507 }
1508 
1509 void ReportDescParser2::OnInputItem(uint8_t itm) {
1510  uint8_t byte_offset = (totalSize >> 3); // calculate offset to the next unhandled byte i = (int)(totalCount / 8);
1511  uint32_t tmp = (byte_offset << 3);
1512  uint8_t bit_offset = totalSize - tmp; // number of bits in the current byte already handled
1513  uint8_t *p = pBuf + byte_offset; // current byte pointer
1514 
1515  if(bit_offset)
1516  *p >>= bit_offset;
1517 
1518  uint8_t usage = useMin;
1519 
1520  bool print_usemin_usemax = ((useMin < useMax) && ((itm & 3) == 2) && pfUsage) ? true : false;
1521 
1522  uint8_t bits_of_byte = 8;
1523 
1524  // for each field in field array defined by rptCount
1525  for(uint8_t field = 0; field < rptCount; field++, usage++) {
1526 
1527  union {
1528  uint8_t bResult[4];
1529  uint16_t wResult[2];
1530  uint32_t dwResult;
1531  } result;
1532 
1533  result.dwResult = 0;
1534  uint8_t mask = 0;
1535 
1536  if(print_usemin_usemax)
1537  pfUsage(usage);
1538 
1539  // bits_left - number of bits in the field(array of fields, depending on Report Count) left to process
1540  // bits_of_byte - number of bits in current byte left to process
1541  // bits_to_copy - number of bits to copy to result buffer
1542 
1543  // for each bit in a field
1544  for(uint8_t bits_left = rptSize, bits_to_copy = 0; bits_left;
1545  bits_left -= bits_to_copy) {
1546  bits_to_copy = (bits_left > bits_of_byte) ? bits_of_byte : bits_left;
1547 
1548  result.dwResult <<= bits_to_copy; // Result buffer is shifted by the number of bits to be copied into it
1549 
1550  uint8_t val = *p;
1551 
1552  val >>= (8 - bits_of_byte); // Shift by the number of bits already processed
1553 
1554  mask = 0;
1555 
1556  for(uint8_t j = bits_to_copy; j; j--) {
1557  mask <<= 1;
1558  mask |= 1;
1559  }
1560 
1561  result.bResult[0] = (result.bResult[0] | (val & mask));
1562 
1563  bits_of_byte -= bits_to_copy;
1564 
1565  if(bits_of_byte < 1) {
1566  bits_of_byte = 8;
1567  p++;
1568  }
1569  }
1570  PrintByteValue(result.dwResult);
1571  }
1572  E_Notify(PSTR("\r\n"), 0x80);
1573 }
1574 
1575 void UniversalReportParser::Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf) {
1576  ReportDescParser2 prs(len, buf);
1577 
1578  uint8_t ret = hid->GetReportDescr(0, &prs);
1579 
1580  if(ret)
1581  ErrorMessage<uint8_t > (PSTR("GetReportDescr-2"), ret);
1582 }
const char pstrUsageYTilt[]
Definition: hidusagestr.h:814
const char pstrUsageRewind[]
Definition: hidusagestr.h:323
static const char *const medInstrTitles0[]
static const char *const usagePageTitles0[]
const char pstrUsageACDistributeHorizontaly[]
Definition: hidusagestr.h:780
const char pstrUsageALNetworkConference[]
Definition: hidusagestr.h:594
const char pstrUsageTouchScreen[]
Definition: hidusagestr.h:787
#define TAG_GLOBAL_LOGICALMIN
Definition: hid.h:46
const char pstrUsageLine[]
Definition: hidusagestr.h:368
const char pstrUsageACExpand[]
Definition: hidusagestr.h:724
const char pstrUsageClimateControlEnable[]
Definition: hidusagestr.h:538
const char pstrUsagePhoneKey5[]
Definition: hidusagestr.h:405
const char pstrUsagePageMSRDevices[]
Definition: hidusagestr.h:51
const char pstrUsageScrollLock[]
Definition: hidusagestr.h:274
static const char *const telTitles1[]
const char pstrUsageSystemColdRestart[]
Definition: hidusagestr.h:105
const char pstrUsageSecurityCodeCharEntered[]
Definition: hidusagestr.h:267
void(* UsagePageFunc)(uint16_t usage)
const char pstrUsageRearBrake[]
Definition: hidusagestr.h:180
const char pstrUsageACSort[]
Definition: hidusagestr.h:747
const char pstrUsageSelectedIndicator[]
Definition: hidusagestr.h:329
const char pstrUsageUntouch[]
Definition: hidusagestr.h:804
const char pstrUsageTelephonyKeyPad[]
Definition: hidusagestr.h:356
static const char *const consTitles1[]
const char pstrUsageScreenSaverDelay[]
Definition: hidusagestr.h:834
const char pstrUsageBatteryOperation[]
Definition: hidusagestr.h:298
const char pstrUsageFlashOnTime[]
Definition: hidusagestr.h:337
const char pstrUsageSpeakerPhone[]
Definition: hidusagestr.h:369
const char pstrUsageMoveRightLeft[]
Definition: hidusagestr.h:240
const char pstrUsagePutter[]
Definition: hidusagestr.h:211
const char pstrUsage2Iron[]
Definition: hidusagestr.h:213
const char pstrUsageStickFollowThough[]
Definition: hidusagestr.h:207
const char pstrUsageErrorFotDataCanNotBeRead[]
Definition: hidusagestr.h:844
const char pstrUsageVz[]
Definition: hidusagestr.h:84
const char pstrUsageSpeedDial[]
Definition: hidusagestr.h:376
const char pstrUsageMenuUp[]
Definition: hidusagestr.h:436
const char pstrUsageDoNotDisturb[]
Definition: hidusagestr.h:279
const char pstrUsageHeadMountedDisplay[]
Definition: hidusagestr.h:188
static const char *const consTitles5[]
#define TAG_GLOBAL_POP
Definition: hid.h:56
const char pstrUsageErrorNotALoadableCharacter[]
Definition: hidusagestr.h:843
const char pstrUsageALLogonLogoff[]
Definition: hidusagestr.h:599
const char pstrUsageSoftControlSelect[]
Definition: hidusagestr.h:922
const char pstrUsageSpectralDopplerModeSelect[]
Definition: hidusagestr.h:914
const char pstrUsageBicycleSimulationDevice[]
Definition: hidusagestr.h:141
const char pstrUsageEnterDisk[]
Definition: hidusagestr.h:497
const char pstrUsageHold[]
Definition: hidusagestr.h:303
const char pstrUsageALWirelessStatus[]
Definition: hidusagestr.h:615
const char pstrUsageCameraOff[]
Definition: hidusagestr.h:312
const char pstrUsageMultiAxisController[]
Definition: hidusagestr.h:65
const char pstrUsageMediaSelectWWW[]
Definition: hidusagestr.h:460
static const char *const consTitlesD[]
const char pstrUsageOar[]
Definition: hidusagestr.h:201
const char pstrUsageALControlPannel[]
Definition: hidusagestr.h:601
const char pstrUsageAlternateAudioDecrement[]
Definition: hidusagestr.h:569
const char pstrUsageACSelectObject[]
Definition: hidusagestr.h:745
const char pstrUsageStatusNotReady[]
Definition: hidusagestr.h:841
const char pstrUsageApplicationBreak[]
Definition: hidusagestr.h:116
const char pstrUsagePageDigitizer[]
Definition: hidusagestr.h:42
const char pstrUsageALIntegratedHelpCenter[]
Definition: hidusagestr.h:608
const char pstrUsagePaletteDataOffset[]
Definition: hidusagestr.h:879
const char pstrUsageResolutionMultiplier[]
Definition: hidusagestr.h:90
const char pstrUsageSoftControlAdjust[]
Definition: hidusagestr.h:923
const char pstrUsageWingFlaps[]
Definition: hidusagestr.h:167
const char pstrUsageACDeleteComment[]
Definition: hidusagestr.h:737
const char pstrUsageBalance[]
Definition: hidusagestr.h:518
const char pstrUsageMute[]
Definition: hidusagestr.h:280
const char pstrUsageACNextLink[]
Definition: hidusagestr.h:666
const char pstrUsageACProperties[]
Definition: hidusagestr.h:650
const char pstrUsageHandset[]
Definition: hidusagestr.h:354
const char pstrUsageALAudioBrowser[]
Definition: hidusagestr.h:625
#define TYPE_GLOBAL
Definition: hid.h:36
static void PrintValue(uint8_t *p, uint8_t len)
static const char *const genDesktopTitles1[]
const char pstrUsageLightEnable[]
Definition: hidusagestr.h:536
const char pstrUsagePageMedicalInstruments[]
Definition: hidusagestr.h:46
const char pstrUsageFastBlinkOffTime[]
Definition: hidusagestr.h:341
const char pstrUsageFlightYoke[]
Definition: hidusagestr.h:146
const char pstrUsageAssignSelection[]
Definition: hidusagestr.h:451
const char pstrUsageACSortDescending[]
Definition: hidusagestr.h:749
const char pstrUsageClearMark[]
Definition: hidusagestr.h:505
const char pstrUsageConference[]
Definition: hidusagestr.h:309
const char pstrUsageWeaponsArm[]
Definition: hidusagestr.h:165
#define TAG_GLOBAL_UNITEXP
Definition: hid.h:50
const char pstrUsageCursorPixelPosition[]
Definition: hidusagestr.h:850
const char pstrUsageXTilt[]
Definition: hidusagestr.h:813
const char pstrUsageStill[]
Definition: hidusagestr.h:449
const char pstrUsageSystemDisplayBoth[]
Definition: hidusagestr.h:123
const char pstrUsage10Iron[]
Definition: hidusagestr.h:221
const char pstrUsageEnterChannel[]
Definition: hidusagestr.h:454
const char pstrUsageNewGame[]
Definition: hidusagestr.h:249
const char pstrUsageALEncryption[]
Definition: hidusagestr.h:618
#define TYPE_LOCAL
Definition: hid.h:37
const char pstrUsagePageMonitor[]
Definition: hidusagestr.h:47
const char pstrUsageChannelFront[]
Definition: hidusagestr.h:558
const char pstrUsageACMirrorHorizontal[]
Definition: hidusagestr.h:698
const char pstrUsageACSaveAndClose[]
Definition: hidusagestr.h:776
const char pstrUsageSystemAppMenu[]
Definition: hidusagestr.h:97
const char pstrUsageACInsertObject[]
Definition: hidusagestr.h:774
const char pstrUsageCursorPositionReport[]
Definition: hidusagestr.h:845
const char pstrUsageRoomTemperature[]
Definition: hidusagestr.h:539
const char pstrUsageSelect[]
Definition: hidusagestr.h:81
#define DATA_SIZE_4
Definition: hid.h:33
const char pstrUsageACFullScreenView[]
Definition: hidusagestr.h:673
const char pstrUsageStickHeight[]
Definition: hidusagestr.h:210
const char pstrUsageVbrx[]
Definition: hidusagestr.h:85
const char pstrUsageCoordinateMeasuringMachine[]
Definition: hidusagestr.h:790
const char pstrUsageCursorBlink[]
Definition: hidusagestr.h:853
const char pstrUsageACOpen[]
Definition: hidusagestr.h:643
const char pstrUsageALProcessTaskManager[]
Definition: hidusagestr.h:603
const char pstrUsageTwist[]
Definition: hidusagestr.h:817
const char pstrUsageMenuDown[]
Definition: hidusagestr.h:437
const char pstrUsageFanSpeed[]
Definition: hidusagestr.h:535
const char pstrUsageCursorMode[]
Definition: hidusagestr.h:851
const char pstrUsageTipPressure[]
Definition: hidusagestr.h:800
const char pstrUsageMediaSelectSecurity[]
Definition: hidusagestr.h:475
const char pstrUsagePitchForwardBackward[]
Definition: hidusagestr.h:238
const char pstrUsageSystemDisplayExternal[]
Definition: hidusagestr.h:122
#define TAG_LOCAL_USAGEMAX
Definition: hid.h:60
const char pstrUsageAnswerOnOff[]
Definition: hidusagestr.h:384
const char pstrUsageScanNextTrack[]
Definition: hidusagestr.h:491
const char pstrUsageSpeakerSystem[]
Definition: hidusagestr.h:554
static const char *const telTitles5[]
const char pstrUsageMessageWaiting[]
Definition: hidusagestr.h:296
const char pstrUsageIndicatorOn[]
Definition: hidusagestr.h:332
const char pstrUsageACUndo[]
Definition: hidusagestr.h:651
const char pstrUsageRecallLast[]
Definition: hidusagestr.h:453
const char pstrUsagePhoneKey0[]
Definition: hidusagestr.h:400
const char pstrUsageCyclicTrim[]
Definition: hidusagestr.h:145
const char pstrUsagePhoneKey1[]
Definition: hidusagestr.h:401
const char pstrUsageArticulatedArm[]
Definition: hidusagestr.h:793
const char pstrUsagePhoneKey8[]
Definition: hidusagestr.h:408
const char pstrUsageStickType[]
Definition: hidusagestr.h:209
const char pstrUsageSystemSetup[]
Definition: hidusagestr.h:113
static const char *const aplphanumTitles2[]
const char pstrUsageSystemSuspend[]
Definition: hidusagestr.h:347
#define TAG_GLOBAL_PUSH
Definition: hid.h:55
static void PrintUsagePage(uint16_t page)
const char pstrUsageDepth[]
Definition: hidusagestr.h:908
const char pstrUsagePaletteDataSize[]
Definition: hidusagestr.h:878
#define TAG_GLOBAL_PHYSMIN
Definition: hid.h:48
static const char *const gameTitles1[]
#define TAG_LOCAL_USAGE
Definition: hid.h:58
#define TAG_GLOBAL_REPORTID
Definition: hid.h:53
const char pstrUsageSearchMarkForward[]
Definition: hidusagestr.h:508
const char pstrUsageALTermLockScrSav[]
Definition: hidusagestr.h:600
const char pstrUsageConsumerControl[]
Definition: hidusagestr.h:418
static const char *const genDesktopTitles0[]
const char pstrUsageSystemDisplayInvert[]
Definition: hidusagestr.h:120
const char pstrUsageBusy[]
Definition: hidusagestr.h:315
#define TYPE_MASK
Definition: hid.h:27
const char pstrUsageAnimatronicDevice[]
Definition: hidusagestr.h:192
const char pstrUsageALLogJournalTimecard[]
Definition: hidusagestr.h:586
const char pstrUsageALTaskProjectManager[]
Definition: hidusagestr.h:585
const char pstrUsageReady[]
Definition: hidusagestr.h:316
const char pstrUsageIndicatorRed[]
Definition: hidusagestr.h:343
const char pstrUsageSoftStepSecondary[]
Definition: hidusagestr.h:910
const char pstrUsageHeadphone[]
Definition: hidusagestr.h:422
const char pstrUsagePlaySkip[]
Definition: hidusagestr.h:516
const char pstrUsageSubChannel[]
Definition: hidusagestr.h:565
const char pstrUsageACJustifyTop[]
Definition: hidusagestr.h:707
const char pstrUsageACAttachComment[]
Definition: hidusagestr.h:736
const char pstrUsageRinger[]
Definition: hidusagestr.h:399
const char pstrUsageALPreviousTaskApplication[]
Definition: hidusagestr.h:606
const char pstrUsageReverse[]
Definition: hidusagestr.h:321
const char pstrUsageIllumination[]
Definition: hidusagestr.h:432
const char pstrUsagePageGameControls[]
Definition: hidusagestr.h:34
const char pstrUsageSystemMenuUp[]
Definition: hidusagestr.h:103
static const char *const genDevCtrlTitles[]
const char pstrUsageKeyboard[]
Definition: hidusagestr.h:63
const char pstrUsageACSnoozeAlarm[]
Definition: hidusagestr.h:757
const char pstrUsageACItalics[]
Definition: hidusagestr.h:688
const char pstrUsageMagicCarpetSimulationDevice[]
Definition: hidusagestr.h:140
const char pstrUsageClosedCaptionSelect[]
Definition: hidusagestr.h:445
const char pstrUsageChannelIncrement[]
Definition: hidusagestr.h:478
const char pstrUsageAnsweringMachine[]
Definition: hidusagestr.h:352
const char pstrUsagePageGenericDesktopControls[]
Definition: hidusagestr.h:30
const char pstrUsageSystemBreak[]
Definition: hidusagestr.h:114
const char pstrUsagePhoneKey3[]
Definition: hidusagestr.h:403
const char pstrUsageACRotate[]
Definition: hidusagestr.h:694
const char pstrUsageSystemMenuLeft[]
Definition: hidusagestr.h:102
const char pstrUsageColorDopplerModeAdjust[]
Definition: hidusagestr.h:917
static void PrintTelephonyPageUsage(uint16_t usage)
const char pstrUsagePageBarCodeScanner[]
Definition: hidusagestr.h:49
const char pstrUsageACFormat[]
Definition: hidusagestr.h:685
const char pstrUsage3Wood[]
Definition: hidusagestr.h:227
const char pstrUsageBlitReport[]
Definition: hidusagestr.h:881
const char pstrUsageACPan[]
Definition: hidusagestr.h:681
const char pstrUsagePagePID[]
Definition: hidusagestr.h:43
const char pstrUsageSystemMenuRight[]
Definition: hidusagestr.h:101
static void PrintByteValue(uint8_t data)
const char pstrUsageALOnlineActivityBrowser[]
Definition: hidusagestr.h:638
const char pstrUsageLeanRightLeft[]
Definition: hidusagestr.h:243
const char pstrUsageACPreviousLink[]
Definition: hidusagestr.h:665
const char pstrUsageFlareRelease[]
Definition: hidusagestr.h:161
const char pstrUsageToeBrake[]
Definition: hidusagestr.h:163
const char pstrUsageACFindAndReplace[]
Definition: hidusagestr.h:657
const char pstrUsageACJustifyCenterH[]
Definition: hidusagestr.h:704
const char pstrUsageACViewClock[]
Definition: hidusagestr.h:752
const char pstrUsageSystemPowerDown[]
Definition: hidusagestr.h:92
const char pstrUsagePrint[]
Definition: hidusagestr.h:902
const char pstrUsageVbry[]
Definition: hidusagestr.h:86
const char pstrUsagePowerWedge[]
Definition: hidusagestr.h:225
const char pstrUsageSave[]
Definition: hidusagestr.h:901
const char pstrUsageEject[]
Definition: hidusagestr.h:494
const char pstrUsagePageConsumer[]
Definition: hidusagestr.h:41
static void PrintMedicalInstrumentPageUsage(uint16_t usage)
#define TYPE_MAIN
Definition: hid.h:35
const char pstrUsageALMovieBrowser[]
Definition: hidusagestr.h:626
const char pstrUsageACExpandAll[]
Definition: hidusagestr.h:725
const char pstrUsageALSmartCardInfoHelp[]
Definition: hidusagestr.h:635
const char pstrUsageALPreemptiveHaltTaskApp[]
Definition: hidusagestr.h:607
const char pstrUsageStart[]
Definition: hidusagestr.h:80
const char pstrUsageFanEnable[]
Definition: hidusagestr.h:534
const char pstrUsage2DModeAdjust[]
Definition: hidusagestr.h:921
const char pstrUsageTurnRightLeft[]
Definition: hidusagestr.h:237
const char pstrUsageALConsumerControlConfig[]
Definition: hidusagestr.h:573
const char pstrUsageTreadmill[]
Definition: hidusagestr.h:200
const char pstrUsageACTileVert[]
Definition: hidusagestr.h:684
const char pstrUsageSandWedge[]
Definition: hidusagestr.h:223
const char pstrUsagePageUndefined[]
Definition: hidusagestr.h:29
const char pstrUsageRing[]
Definition: hidusagestr.h:295
const char pstrUsageACSelectTable[]
Definition: hidusagestr.h:744
const char pstrUsageFunctionButtons[]
Definition: hidusagestr.h:433
const char pstrUsageClutch[]
Definition: hidusagestr.h:170
const char pstrUsageMediaSelectVideoPhone[]
Definition: hidusagestr.h:464
const char pstrUsageFontData[]
Definition: hidusagestr.h:855
const char pstrUsageNumericKeyPad[]
Definition: hidusagestr.h:419
const char pstrUsageVy[]
Definition: hidusagestr.h:83
const char pstrUsageSurroundOn[]
Definition: hidusagestr.h:286
const char pstrUsageALEntertainmentContentBrow[]
Definition: hidusagestr.h:633
const char pstrUsageACSend[]
Definition: hidusagestr.h:765
static const char *const consTitles7[]
const char pstrUsageSelection[]
Definition: hidusagestr.h:450
const char pstrUsagePhoneKey6[]
Definition: hidusagestr.h:406
const char pstrUsageNumLock[]
Definition: hidusagestr.h:272
const char pstrUsageBump[]
Definition: hidusagestr.h:248
const char pstrUsageCountedBuffer[]
Definition: hidusagestr.h:77
const char pstrUsage3DDigitizer[]
Definition: hidusagestr.h:791
const char pstrUsagePlay[]
Definition: hidusagestr.h:325
const char pstrUsageWeekly[]
Definition: hidusagestr.h:484
const char pstrUsageALPowerStatus[]
Definition: hidusagestr.h:623
const char pstrUsagePen[]
Definition: hidusagestr.h:785
const char pstrUsageSpeedSelect[]
Definition: hidusagestr.h:528
const char pstrUsageSubChannelDecrement[]
Definition: hidusagestr.h:567
virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)
const char pstrUsagePower[]
Definition: hidusagestr.h:277
const char pstrUsageMessage[]
Definition: hidusagestr.h:383
const char pstrUsageACSelectTimeZone[]
Definition: hidusagestr.h:753
const char pstrUsageUpdate[]
Definition: hidusagestr.h:899
const char pstrUsageACAllCaps[]
Definition: hidusagestr.h:693
const char pstrUsageHighCutFilter[]
Definition: hidusagestr.h:282
const char pstrUsageSpeaker[]
Definition: hidusagestr.h:301
const char pstrUsagePinballDevice[]
Definition: hidusagestr.h:234
const char pstrUsageGunClip[]
Definition: hidusagestr.h:253
const char pstrUsageMessageControls[]
Definition: hidusagestr.h:353
const char pstrUsageSystemContextMenu[]
Definition: hidusagestr.h:95
const char pstrUsageACInsertMode[]
Definition: hidusagestr.h:730
const char pstrUsageSystemDock[]
Definition: hidusagestr.h:111
const char pstrUsageALMarketMonitorFinBrowser[]
Definition: hidusagestr.h:636
const char pstrUsageMouse[]
Definition: hidusagestr.h:60
#define TAG_MASK
Definition: hid.h:28
const char pstrUsageShootBall[]
Definition: hidusagestr.h:250
const char pstrUsageDivePlane[]
Definition: hidusagestr.h:175
const char pstrUsageSpinning[]
Definition: hidusagestr.h:290
static void PrintLEDPageUsage(uint16_t usage)
const char pstrUsageFlightStick[]
Definition: hidusagestr.h:143
const char pstrUsageDisplayEnable[]
Definition: hidusagestr.h:194
const char pstrUsageAltitude[]
Definition: hidusagestr.h:816
const char pstrUsageProgramChangeKeys[]
Definition: hidusagestr.h:810
const char pstrUsageACBuyChkout[]
Definition: hidusagestr.h:722
void SetUsagePage(uint16_t page)
const char pstrUsageACInsertFile[]
Definition: hidusagestr.h:772
const char pstrUsageACTileHoriz[]
Definition: hidusagestr.h:683
const char pstrUsageBarrelSwitch[]
Definition: hidusagestr.h:820
const char pstrUsagePhoneDirectory[]
Definition: hidusagestr.h:379
const char pstrUsageStickSpeed[]
Definition: hidusagestr.h:204
const char pstrUsageMedicalUltrasound[]
Definition: hidusagestr.h:895
const char pstrUsageAlternateFunction[]
Definition: hidusagestr.h:367
const char pstrUsageDaily[]
Definition: hidusagestr.h:483
const char pstrUsageRowingMachine[]
Definition: hidusagestr.h:199
static void PrintGameControlsPageUsage(uint16_t usage)
const char pstrUsageTrebleIncrement[]
Definition: hidusagestr.h:552
const char pstrUsageArmature[]
Definition: hidusagestr.h:794
const char pstrUsageCharacterReport[]
Definition: hidusagestr.h:838
const char pstrUsageACFontSize[]
Definition: hidusagestr.h:702
const char pstrUsage7Wood[]
Definition: hidusagestr.h:229
const char pstrUsageNext[]
Definition: hidusagestr.h:900
const char pstrUsageCursorEnable[]
Definition: hidusagestr.h:852
const char pstrUsageSoftButtonReport[]
Definition: hidusagestr.h:892
static void PrintButtonPageUsage(uint16_t usage)
const char pstrUsageALOEMHelp[]
Definition: hidusagestr.h:631
const char pstrUsageQuit[]
Definition: hidusagestr.h:470
static void PrintConsumerPageUsage(uint16_t usage)
const char pstrUsagePhoneKey7[]
Definition: hidusagestr.h:407
const char pstrUsageALLogoff[]
Definition: hidusagestr.h:598
const char pstrUsageOnLine[]
Definition: hidusagestr.h:313
const char pstrUsageACZoomOut[]
Definition: hidusagestr.h:671
const char pstrUsageACInsertPicture[]
Definition: hidusagestr.h:773
static void PrintItemTitle(uint8_t prefix)
const char pstrUsageACDistributeVerticaly[]
Definition: hidusagestr.h:781
#define TAG_GLOBAL_USAGEPAGE
Definition: hid.h:45
const char pstrUsageVolumeDecrement[]
Definition: hidusagestr.h:527
const char pstrUsageTabletPick[]
Definition: hidusagestr.h:822
const char pstrUsageDPadLeft[]
Definition: hidusagestr.h:110
const char pstrUsagePlus10[]
Definition: hidusagestr.h:424
const char pstrUsageBassDecrement[]
Definition: hidusagestr.h:551
const char pstrUsageACIndentIncrease[]
Definition: hidusagestr.h:712
const char pstrUsageShift[]
Definition: hidusagestr.h:278
const char pstrUsageALLogon[]
Definition: hidusagestr.h:597
static const char *const medInstrTitles1[]
const char pstrUsageALCalendarSchedule[]
Definition: hidusagestr.h:584
#define output_if_between(v, l, h, wa, fp, mp, el)
Definition: macros.h:20
const char pstrUsageMenu[]
Definition: hidusagestr.h:434
const char pstrUsageALNextTaskApplication[]
Definition: hidusagestr.h:605
const char pstrUsagePhoneMute[]
Definition: hidusagestr.h:373
static void PrintOrdinalPageUsage(uint16_t usage)
const char pstrUsageSystemDisplaySwapPriSec[]
Definition: hidusagestr.h:126
const char pstrUsageInsideRingback[]
Definition: hidusagestr.h:390
static const char *const consTitles3[]
static const char *const genDesktopTitles3[]
const char pstrUsageFreezeThaw[]
Definition: hidusagestr.h:897
const char pstrUsagePageUnicode[]
Definition: hidusagestr.h:44
const char pstrUsageALAudioPlayer[]
Definition: hidusagestr.h:640
const char pstrUsageGamePad[]
Definition: hidusagestr.h:62
const char pstrUsageACJustifyBlockH[]
Definition: hidusagestr.h:706
const char pstrUsageSystemWakeup[]
Definition: hidusagestr.h:94
const char pstrUsagePhoneKeyB[]
Definition: hidusagestr.h:413
const char pstrUsageACResetAlarm[]
Definition: hidusagestr.h:758
static const char *const usagePageTitles1[]
const char pstrUsagePhoneKey2[]
Definition: hidusagestr.h:402
const char pstrUsageReturnToMark[]
Definition: hidusagestr.h:507
const char pstrUsagePhoneKey9[]
Definition: hidusagestr.h:409
const char pstrUsageFrameForward[]
Definition: hidusagestr.h:502
const char pstrUsageVx[]
Definition: hidusagestr.h:82
const char pstrUsageLongPlay[]
Definition: hidusagestr.h:531
static const char *const simuTitles1[]
const char pstrUsageACPaste[]
Definition: hidusagestr.h:654
const char pstrUsageACMaximize[]
Definition: hidusagestr.h:646
const char pstrUsage9Wood[]
Definition: hidusagestr.h:230
const char pstrUsageOrderMovie[]
Definition: hidusagestr.h:455
const char pstrUsageACSelectColumn[]
Definition: hidusagestr.h:742
static void PrintDigitizerPageUsage(uint16_t usage)
const char pstrUsageSystemWarmRestart[]
Definition: hidusagestr.h:106
const char pstrUsageALKeyboardLayout[]
Definition: hidusagestr.h:616
const char pstrUsageACHistory[]
Definition: hidusagestr.h:668
const char pstrUsageCapsLock[]
Definition: hidusagestr.h:273
const char pstrUsageOffLine[]
Definition: hidusagestr.h:314
const char pstrUsagePageSportControls[]
Definition: hidusagestr.h:33
const char pstrUsageStatusReady[]
Definition: hidusagestr.h:842
static const char *const consTitles4[]
const char pstrUsageFrontBrake[]
Definition: hidusagestr.h:179
const char pstrUsageSurroundMode[]
Definition: hidusagestr.h:523
const char pstrUsageFlexor[]
Definition: hidusagestr.h:185
static const char *const digitTitles2[]
const char pstrUsageChannelRight[]
Definition: hidusagestr.h:556
const char pstrUsageACGoto[]
Definition: hidusagestr.h:659
const char pstrUsageACCollapse[]
Definition: hidusagestr.h:726
#define TAG_MAIN_FEATURE
Definition: hid.h:42
const char pstrUsageTrebleDecrement[]
Definition: hidusagestr.h:553
const char pstrUsageWirelessID[]
Definition: hidusagestr.h:265
static const char *const genDesktopTitles2[]
const char pstrUsageScanPreviousTrack[]
Definition: hidusagestr.h:492
static const char *const consTitles9[]
const char pstrUsageHandTracker[]
Definition: hidusagestr.h:189
const char pstrUsageRy[]
Definition: hidusagestr.h:71
static const char *const telTitles4[]
const char pstrUsageAttributeData[]
Definition: hidusagestr.h:869
uint8_t GetReportDescr(uint16_t wIndex, USBReadParser *parser=NULL)
Definition: hid.cpp:17
const char pstrUsagePhoneKeyD[]
Definition: hidusagestr.h:415
const char pstrUsageBodySuit[]
Definition: hidusagestr.h:184
const char pstrUsageACFlipHorizontal[]
Definition: hidusagestr.h:696
const char pstrUsageBlitRectangleY1[]
Definition: hidusagestr.h:883
const char pstrUsageACSortAscending[]
Definition: hidusagestr.h:748
const char pstrUsageBrake[]
Definition: hidusagestr.h:169
const char pstrUsageNightMode[]
Definition: hidusagestr.h:306
const char pstrUsageMenuLeft[]
Definition: hidusagestr.h:438
const char pstrUsageALRemoteNetISPConnect[]
Definition: hidusagestr.h:593
const char pstrUsageVerticalScroll[]
Definition: hidusagestr.h:836
const char pstrUsageFrameBackwards[]
Definition: hidusagestr.h:503
const char pstrUsageACStop[]
Definition: hidusagestr.h:663
static const char *const aplphanumTitles0[]
const char pstrUsageStopEject[]
Definition: hidusagestr.h:514
const char pstrUsageMediaSelectMessages[]
Definition: hidusagestr.h:466
const char pstrUsageALCalculator[]
Definition: hidusagestr.h:588
const char pstrUsageCharAttributeUnderline[]
Definition: hidusagestr.h:871
const char pstrUsageAMPM[]
Definition: hidusagestr.h:426
const char pstrUsageACCancel[]
Definition: hidusagestr.h:720
const char pstrUsageMenuEscape[]
Definition: hidusagestr.h:440
const char pstrUsageRepeatFromMark[]
Definition: hidusagestr.h:506
static const char *const sportsCtrlTitles2[]
const char pstrUsageFontReport[]
Definition: hidusagestr.h:854
const char pstrUsageACNo[]
Definition: hidusagestr.h:719
const char pstrUsageACStrikethrough[]
Definition: hidusagestr.h:690
const char pstrUsageAileron[]
Definition: hidusagestr.h:148
const char pstrUsageKana[]
Definition: hidusagestr.h:276
const char pstrUsageALCommandLineProcessorRun[]
Definition: hidusagestr.h:602
const char pstrUsageCollectiveControl[]
Definition: hidusagestr.h:153
const char pstrUsageBalanceLeft[]
Definition: hidusagestr.h:549
const char pstrUsageStickHeelToe[]
Definition: hidusagestr.h:206
const char pstrUsage7Iron[]
Definition: hidusagestr.h:218
const char pstrUsagePageOrdinal[]
Definition: hidusagestr.h:39
const char pstrUsageSystemHibernate[]
Definition: hidusagestr.h:119
const char pstrUsageTipSwitch[]
Definition: hidusagestr.h:818
const char pstrUsageTracking[]
Definition: hidusagestr.h:499
const char pstrUsageACSubscript[]
Definition: hidusagestr.h:691
static const char *const consTitlesC[]
const char pstrUsagePageVRControls[]
Definition: hidusagestr.h:32
const char pstrUsageVoiceMail[]
Definition: hidusagestr.h:380
const char pstrUsageZoomSelect[]
Definition: hidusagestr.h:912
static const char *const aplphanumTitles1[]
static void PrintGenericDeviceControlsPageUsage(uint16_t usage)
static void PrintSportsControlsPageUsage(uint16_t usage)
const char pstrUsageElectronicCountermeasures[]
Definition: hidusagestr.h:155
const char pstrUsagePriorityRingback[]
Definition: hidusagestr.h:391
const char pstrUsageACLock[]
Definition: hidusagestr.h:732
const char pstrUsageSystemDisplayDual[]
Definition: hidusagestr.h:124
const char pstrUsagePaperJam[]
Definition: hidusagestr.h:318
const char pstrUsageShifter[]
Definition: hidusagestr.h:171
const char pstrUsageDPadDown[]
Definition: hidusagestr.h:108
const char pstrUsageSystemMenuExit[]
Definition: hidusagestr.h:99
const char pstrUsageCyclicControl[]
Definition: hidusagestr.h:144
const char pstrUsageACFilter[]
Definition: hidusagestr.h:750
const char pstrUsageVolume[]
Definition: hidusagestr.h:517
static const char *const consTitlesB[]
const char pstrUsageALDocuments[]
Definition: hidusagestr.h:609
const char pstrUsageFlightCommunications[]
Definition: hidusagestr.h:160
const char pstrUsageALDigitalRightsManager[]
Definition: hidusagestr.h:627
const char pstrUsageTonesOff[]
Definition: hidusagestr.h:397
const char pstrUsageMediaSelectComputer[]
Definition: hidusagestr.h:458
const char pstrUsage5Iron[]
Definition: hidusagestr.h:216
const char pstrUsageDataOnScreen[]
Definition: hidusagestr.h:443
const char pstrUsageACSetBorders[]
Definition: hidusagestr.h:769
const char pstrUsageStereoPlotter[]
Definition: hidusagestr.h:792
const char pstrUsageACRename[]
Definition: hidusagestr.h:777
const char pstrUsageDataReadBack[]
Definition: hidusagestr.h:829
const char pstrUsageMoveForwardBackward[]
Definition: hidusagestr.h:241
const char pstrUsageOffHook[]
Definition: hidusagestr.h:294
const char pstrUsageInsideRingTone[]
Definition: hidusagestr.h:387
const char pstrUsageReorderTone[]
Definition: hidusagestr.h:393
const char pstrUsageACForward[]
Definition: hidusagestr.h:662
const char pstrUsageSlowBlinkOffTime[]
Definition: hidusagestr.h:339
const char pstrUsageHelp[]
Definition: hidusagestr.h:471
const char pstrUsageGunSafety[]
Definition: hidusagestr.h:258
const char pstrUsageACPrintPreview[]
Definition: hidusagestr.h:728
const char pstrUsageCharacterWidth[]
Definition: hidusagestr.h:856
const char pstrUsageLowCutFilter[]
Definition: hidusagestr.h:283
const char pstrUsageChaffRelease[]
Definition: hidusagestr.h:152
const char pstrUsageACBold[]
Definition: hidusagestr.h:687
static void PrintVRControlsPageUsage(uint16_t usage)
const char pstrUsageMediaSelectProgramGuide[]
Definition: hidusagestr.h:463
const char pstrUsage1Iron[]
Definition: hidusagestr.h:212
const char pstrUsageCompose[]
Definition: hidusagestr.h:275
const char pstrUsageSystemSleep[]
Definition: hidusagestr.h:93
const char pstrUsageRecordingFormatDetect[]
Definition: hidusagestr.h:293
const char pstrUsageACSave[]
Definition: hidusagestr.h:648
const char pstrUsageSystemMenuHelp[]
Definition: hidusagestr.h:98
const char pstrUsageBelt[]
Definition: hidusagestr.h:183
const char pstrUsageACNumberedList[]
Definition: hidusagestr.h:713
const char pstrUsageColumns[]
Definition: hidusagestr.h:849
const char pstrUsagePageVendorDefined[]
Definition: hidusagestr.h:56
const char pstrUsageACYes[]
Definition: hidusagestr.h:718
const char pstrUsage9Iron[]
Definition: hidusagestr.h:220
const char pstrUsageBitDepthFormat[]
Definition: hidusagestr.h:875
const char pstrUsageGunSingleShot[]
Definition: hidusagestr.h:255
const char pstrUsageMoveUpDown[]
Definition: hidusagestr.h:242
const char pstrUsageAirplaneSimulationDevice[]
Definition: hidusagestr.h:138
static const char *const medInstrTitles4[]
const char pstrUsageACJustifyCenterV[]
Definition: hidusagestr.h:708
const char pstrUsageSlider[]
Definition: hidusagestr.h:73
const char pstrUsageMonthly[]
Definition: hidusagestr.h:485
const char pstrUsageZ[]
Definition: hidusagestr.h:69
const char pstrUsageACSelectRow[]
Definition: hidusagestr.h:743
const char pstrUsageGunBolt[]
Definition: hidusagestr.h:252
const char pstrUsageCAV[]
Definition: hidusagestr.h:291
const char pstrUsagePageLEDs[]
Definition: hidusagestr.h:37
#define TAG_GLOBAL_PHYSMAX
Definition: hid.h:49
const char pstrUsageMotion[]
Definition: hidusagestr.h:544
const char pstrUsageACNew[]
Definition: hidusagestr.h:642
const char pstrUsageError[]
Definition: hidusagestr.h:328
#define VALUE_BETWEEN(v, l, h)
Definition: macros.h:17
const char pstrUsageSendCalls[]
Definition: hidusagestr.h:307
#define TAG_LOCAL_USAGEMIN
Definition: hid.h:59
const char pstrUsageACMirrorVertical[]
Definition: hidusagestr.h:699
const char pstrUsageSystemDebuggerBreak[]
Definition: hidusagestr.h:115
const char pstrUsageBlitRectangleY2[]
Definition: hidusagestr.h:885
const char pstrUsageDPadUp[]
Definition: hidusagestr.h:107
const char pstrUsageACAttachFile[]
Definition: hidusagestr.h:766
const char pstrUsageVCRTV[]
Definition: hidusagestr.h:446
const char pstrUsageGraphicEqualizer[]
Definition: hidusagestr.h:423
const char pstrUsageRandomPlay[]
Definition: hidusagestr.h:495
const char pstrUsageSpectralDopplerModeAdjust[]
Definition: hidusagestr.h:915
Definition: hid.h:143
const char pstrUsageSystemMenuDown[]
Definition: hidusagestr.h:104
const char pstrUsageProgrammableButton[]
Definition: hidusagestr.h:357
const char pstrUsageIndicatorFastBlink[]
Definition: hidusagestr.h:335
const char pstrUsageRows[]
Definition: hidusagestr.h:848
const char pstrUsageBarrelElevation[]
Definition: hidusagestr.h:174
static const char *const telTitles3[]
const char pstrUsageACMinimize[]
Definition: hidusagestr.h:647
const char pstrUsageFocus[]
Definition: hidusagestr.h:907
const char pstrUsageChannelUnknown[]
Definition: hidusagestr.h:564
const char pstrUsagePark[]
Definition: hidusagestr.h:365
const char pstrUsageInvert[]
Definition: hidusagestr.h:812
const char pstrUsageACJustifyBlockV[]
Definition: hidusagestr.h:710
const char pstrUsageSleep[]
Definition: hidusagestr.h:429
const char pstrUsage3DGameController[]
Definition: hidusagestr.h:233
const char pstrUsageFlightControlStick[]
Definition: hidusagestr.h:142
const char pstrUsageBitmappedDisplay[]
Definition: hidusagestr.h:826
const char pstrUsageACPanRight[]
Definition: hidusagestr.h:680
const char pstrUsageBatteryOK[]
Definition: hidusagestr.h:299
const char pstrUsageBitmapSizeY[]
Definition: hidusagestr.h:874
const char pstrUsageDiveBrake[]
Definition: hidusagestr.h:154
const char pstrUsageFireAlarm[]
Definition: hidusagestr.h:541
const char pstrUsageSleepAfter[]
Definition: hidusagestr.h:430
const char pstrUsageAttributeReadback[]
Definition: hidusagestr.h:868
const char pstrUsageALOEMFeaturesBrowser[]
Definition: hidusagestr.h:630
const char pstrUsageACCut[]
Definition: hidusagestr.h:653
const char pstrUsageGunSelector[]
Definition: hidusagestr.h:254
const char pstrUsageACBookmarks[]
Definition: hidusagestr.h:667
const char pstrUsageBroadcastMode[]
Definition: hidusagestr.h:447
const char pstrUsageMotionModeSelect[]
Definition: hidusagestr.h:918
const char pstrUsageACSelectWord[]
Definition: hidusagestr.h:739
const char pstrUsageACNewWindow[]
Definition: hidusagestr.h:682
const char pstrUsageALDatabaseApp[]
Definition: hidusagestr.h:579
const char pstrUsageALOnlineCommunity[]
Definition: hidusagestr.h:632
const char pstrUsageFastForward[]
Definition: hidusagestr.h:324
const char pstrUsageClosedCaption[]
Definition: hidusagestr.h:444
const char pstrUsageVCRAcquisition[]
Definition: hidusagestr.h:896
const char pstrUsageCoverage[]
Definition: hidusagestr.h:305
const char pstrUsageTankSimulationDevice[]
Definition: hidusagestr.h:132
const char pstrUsageACHome[]
Definition: hidusagestr.h:660
const char pstrUsageOnce[]
Definition: hidusagestr.h:482
static const char *const consTitles2[]
const char pstrUsageACJustifyRight[]
Definition: hidusagestr.h:705
const char pstrUsageBaseballBat[]
Definition: hidusagestr.h:197
const char pstrUsageSystemDisplayLCDAutoscale[]
Definition: hidusagestr.h:127
const char pstrUsage7SegmentDirectMap[]
Definition: hidusagestr.h:862
const char pstrUsageMotionModeAdjust[]
Definition: hidusagestr.h:919
const char pstrUsageCharAttributeBlink[]
Definition: hidusagestr.h:872
const char pstrUsageAutomobileSimulationDevice[]
Definition: hidusagestr.h:131
const char pstrUsageACJustifyBottom[]
Definition: hidusagestr.h:709
const char pstrUsageMenuRight[]
Definition: hidusagestr.h:439
const char pstrUsageWirelessChannel[]
Definition: hidusagestr.h:264
const char pstrUsageReset[]
Definition: hidusagestr.h:428
const char pstrUsageACReplyAll[]
Definition: hidusagestr.h:763
const char pstrUsageTrackingIncrement[]
Definition: hidusagestr.h:512
const char pstrUsageALClock[]
Definition: hidusagestr.h:621
static const char *const telTitles0[]
const char pstrUsageACDemote[]
Definition: hidusagestr.h:717
const char pstrUsageChannelSurround[]
Definition: hidusagestr.h:561
static void PrintGenericDesktopPageUsage(uint16_t usage)
const char pstrUsageALFileBrowser[]
Definition: hidusagestr.h:622
const char pstrUsageSoftStepPrimary[]
Definition: hidusagestr.h:909
const char pstrUsageACCollapseAll[]
Definition: hidusagestr.h:727
const char pstrUsageSystemDisplayInternal[]
Definition: hidusagestr.h:121
const char pstrUsageVest[]
Definition: hidusagestr.h:191
const char pstrUsageDigitizer[]
Definition: hidusagestr.h:784
const char pstrUsageDisplayData[]
Definition: hidusagestr.h:839
const char pstrUsageFeature[]
Definition: hidusagestr.h:360
bool Parse(uint8_t **pp, uint16_t *pcntdn)
Definition: parsetools.cpp:19
const char pstrUsageFont14Segment[]
Definition: hidusagestr.h:863
const char pstrUsageRx[]
Definition: hidusagestr.h:70
const char pstrUsage14SegmentDirectMap[]
Definition: hidusagestr.h:864
const char pstrUsageGamepadTrigger[]
Definition: hidusagestr.h:260
const char pstrUsageALDictionary[]
Definition: hidusagestr.h:611
const char pstrUsage3Iron[]
Definition: hidusagestr.h:214
const char pstrUsageMediaSelectTelephone[]
Definition: hidusagestr.h:462
const char pstrUsageACEditTimeZone[]
Definition: hidusagestr.h:754
const char pstrUsageAccelerator[]
Definition: hidusagestr.h:168
const char pstrUsageALInstantMessaging[]
Definition: hidusagestr.h:629
const char pstrUsageIndicatorSlowBlink[]
Definition: hidusagestr.h:334
const char pstrUsageInsideDialTone[]
Definition: hidusagestr.h:385
const char pstrUsageBatteryLow[]
Definition: hidusagestr.h:300
const char pstrUsageSportsSimulationDevice[]
Definition: hidusagestr.h:137
const char pstrUsageChannelTop[]
Definition: hidusagestr.h:563
const char pstrUsageALAlarms[]
Definition: hidusagestr.h:620
const char pstrUsageACJustifyLeft[]
Definition: hidusagestr.h:703
const char pstrUsageIndicatorAmber[]
Definition: hidusagestr.h:345
const char pstrUsageSelectDisk[]
Definition: hidusagestr.h:496
const char pstrUsageACEdit[]
Definition: hidusagestr.h:686
const char pstrUsageOculometer[]
Definition: hidusagestr.h:190
const char pstrUsageInRange[]
Definition: hidusagestr.h:802
const char pstrUsageElevator[]
Definition: hidusagestr.h:156
const char pstrUsageFlightSimulationDevice[]
Definition: hidusagestr.h:130
const char pstrUsageALVoicemail[]
Definition: hidusagestr.h:582
const char pstrUsageTrigger[]
Definition: hidusagestr.h:164
const char pstrUsageACPromote[]
Definition: hidusagestr.h:716
const char pstrUsageACScroll[]
Definition: hidusagestr.h:678
const char pstrUsageGunBurst[]
Definition: hidusagestr.h:256
const char pstrUsageACSplit[]
Definition: hidusagestr.h:779
const char pstrUsageDisplayStatus[]
Definition: hidusagestr.h:840
const char pstrUsageACFontColor[]
Definition: hidusagestr.h:701
const char pstrUsageWheel[]
Definition: hidusagestr.h:75
#define TAG_GLOBAL_REPORTSIZE
Definition: hid.h:52
const char pstrUsageACFontSelect[]
Definition: hidusagestr.h:700
const char pstrUsageRingSelect[]
Definition: hidusagestr.h:372
const char pstrUsageChannelSide[]
Definition: hidusagestr.h:560
const char pstrUsageSystemUndock[]
Definition: hidusagestr.h:112
MultiByteValueParser valParser
const char pstrUsageTabletFunctionKeys[]
Definition: hidusagestr.h:809
const char pstrUsageStoreNumber[]
Definition: hidusagestr.h:377
const char pstrUsageGenericGUIAppControls[]
Definition: hidusagestr.h:641
const char pstrUsageACZoomIn[]
Definition: hidusagestr.h:670
const char pstrUsageHeadSet[]
Definition: hidusagestr.h:302
const char pstrUsageACSearch[]
Definition: hidusagestr.h:658
const char pstrUsageLandingGear[]
Definition: hidusagestr.h:162
static const char *const consTitles6[]
const char pstrUsageACSelectSentence[]
Definition: hidusagestr.h:740
const char pstrUsageDisplayAttributesReport[]
Definition: hidusagestr.h:827
#define TAG_MAIN_OUTPUT
Definition: hid.h:40
const char pstrUsageSlow[]
Definition: hidusagestr.h:533
const char pstrUsageALSpellCheck[]
Definition: hidusagestr.h:613
static const char *const vrTitles0[]
const char pstrUsageACPanLeft[]
Definition: hidusagestr.h:679
void E_Notify(char const *msg, int lvl)
Definition: message.cpp:34
const char pstrUsageSearchMarkBackwards[]
Definition: hidusagestr.h:509
const char pstrUsageZoomAdjust[]
Definition: hidusagestr.h:913
const char pstrUsageACClose[]
Definition: hidusagestr.h:644
static const char *const telTitles2[]
const char pstrUsageTabletPCSystemControls[]
Definition: hidusagestr.h:66
const char pstrUsageSubmarineSimulationDevice[]
Definition: hidusagestr.h:134
#define TAG_MAIN_ENDCOLLECTION
Definition: hid.h:43
static const char *const consTitles0[]
const char pstrUsageMenuValueIncrease[]
Definition: hidusagestr.h:441
#define HID_LONG_ITEM_PREFIX
Definition: hid.h:101
const char pstrUsageGunAutomatic[]
Definition: hidusagestr.h:257
const char pstrUsagePlayPause[]
Definition: hidusagestr.h:515
const char pstrUsageACDelete[]
Definition: hidusagestr.h:731
const char pstrUsageSlowTracking[]
Definition: hidusagestr.h:501
const char pstrUsagePaperOut[]
Definition: hidusagestr.h:317
const char pstrUsageSecurityEnable[]
Definition: hidusagestr.h:540
const char pstrUsageWeaponsSelect[]
Definition: hidusagestr.h:166
const char pstrUsageClearDisplay[]
Definition: hidusagestr.h:832
const char pstrUsageDisplayControlReport[]
Definition: hidusagestr.h:831
const char pstrUsageMediaSelectVCR[]
Definition: hidusagestr.h:468
const char pstrUsageElevatorTrim[]
Definition: hidusagestr.h:157
const char pstrUsageRz[]
Definition: hidusagestr.h:72
static void PrintSimulationControlsPageUsage(uint16_t usage)
const char pstrUsageTap[]
Definition: hidusagestr.h:805
const char pstrUsageACSyncronize[]
Definition: hidusagestr.h:759
const char pstrUsagePlaybackSpeed[]
Definition: hidusagestr.h:529
const char pstrUsageDisplayContrast[]
Definition: hidusagestr.h:866
const char pstrUsageSecondaryFlipper[]
Definition: hidusagestr.h:247
const char pstrUsageACInsertColumn[]
Definition: hidusagestr.h:771
const char pstrUsageACResize[]
Definition: hidusagestr.h:695
const char pstrUsageBass[]
Definition: hidusagestr.h:520
const char pstrUsageChannelCenterFront[]
Definition: hidusagestr.h:559
const char pstrUsageTouch[]
Definition: hidusagestr.h:803
const char pstrUsageTurretDirection[]
Definition: hidusagestr.h:173
const char pstrUsageALAVCapturePlayback[]
Definition: hidusagestr.h:589
const char pstrUsage4Iron[]
Definition: hidusagestr.h:215
const char pstrUsage2DModeSelect[]
Definition: hidusagestr.h:920
const char pstrUsageACScrollUp[]
Definition: hidusagestr.h:676
const char pstrUsagePageArcade[]
Definition: hidusagestr.h:54
const char pstrUsageEqualizerEnable[]
Definition: hidusagestr.h:284
#define DATA_SIZE_MASK
Definition: hid.h:26
const char pstrUsageRow[]
Definition: hidusagestr.h:846
const char pstrUsageHeadTracker[]
Definition: hidusagestr.h:187
const char pstrUsageACSelectParagraph[]
Definition: hidusagestr.h:741
const char pstrUsageSpaceshipSimulationDevice[]
Definition: hidusagestr.h:133
const char pstrUsageVolumeIncrement[]
Definition: hidusagestr.h:526
const char pstrUsageScreenSaverEnable[]
Definition: hidusagestr.h:835
static const char *const sportsCtrlTitles0[]
const char pstrUsageDataMode[]
Definition: hidusagestr.h:297
static const char *const medInstrTitles3[]
const char pstrUsageModeStep[]
Definition: hidusagestr.h:452
const char pstrUsageInUseIndicator[]
Definition: hidusagestr.h:330
const char pstrUsageTrackNormal[]
Definition: hidusagestr.h:500
static void PrintAlphanumDisplayPageUsage(uint16_t usage)
const char pstrUsageACPasteSpecial[]
Definition: hidusagestr.h:729
const char pstrUsageCallWaitingTone[]
Definition: hidusagestr.h:394
const char pstrUsageACAddToCart[]
Definition: hidusagestr.h:723
const char pstrUsageStandBy[]
Definition: hidusagestr.h:310
const char pstrUsageSleepMode[]
Definition: hidusagestr.h:431
const char pstrUsage6Iron[]
Definition: hidusagestr.h:217
const char pstrUsageASCIICharacterSet[]
Definition: hidusagestr.h:828
const char pstrUsageExternalPowerConnected[]
Definition: hidusagestr.h:348
uint8_t valueSize
Definition: parsetools.h:24
const char pstrUsagePageGenericDeviceControls[]
Definition: hidusagestr.h:35
const char pstrUsageBlitData[]
Definition: hidusagestr.h:886
const char pstrUsageForwardCalls[]
Definition: hidusagestr.h:366
const char pstrUsageALLocalMachineBrowser[]
Definition: hidusagestr.h:590
const char pstrUsageMark[]
Definition: hidusagestr.h:504
const char pstrUsagePlus100[]
Definition: hidusagestr.h:425
const char pstrUsageHeadset[]
Definition: hidusagestr.h:355
const char pstrUsageACCopy[]
Definition: hidusagestr.h:652
const char pstrUsageX[]
Definition: hidusagestr.h:67
const char pstrUsageStickTempo[]
Definition: hidusagestr.h:208
const char pstrUsagePaletteReport[]
Definition: hidusagestr.h:877
const char pstrUsageACSetClock[]
Definition: hidusagestr.h:751
const char pstrUsageSecurityCodeCleared[]
Definition: hidusagestr.h:269
const char pstrUsageKeypad[]
Definition: hidusagestr.h:64
const char pstrUsageBitmapSizeX[]
Definition: hidusagestr.h:873
const char pstrUsageACRedoRepeat[]
Definition: hidusagestr.h:746
const char pstrUsagePhoneKeyPound[]
Definition: hidusagestr.h:411
const char pstrUsageVbrz[]
Definition: hidusagestr.h:87
const char pstrUsageBalanceRight[]
Definition: hidusagestr.h:548
const char pstrUsageTrackingDecrement[]
Definition: hidusagestr.h:513
const char pstrUsagePhone[]
Definition: hidusagestr.h:351
const char pstrUsageSnapshot[]
Definition: hidusagestr.h:448
const char pstrUsagePageTelephone[]
Definition: hidusagestr.h:40
const char pstrUsageCallPickup[]
Definition: hidusagestr.h:308
const char pstrUsageACMerge[]
Definition: hidusagestr.h:778
const char pstrUsagePuck[]
Definition: hidusagestr.h:798
const char pstrUsageACUnprotect[]
Definition: hidusagestr.h:735
const char pstrUsageTreble[]
Definition: hidusagestr.h:521
virtual uint8_t ParseItem(uint8_t **pp, uint16_t *pcntdn)
const char pstrUsageMediaSelectDVD[]
Definition: hidusagestr.h:461
const char pstrUsageACNormalView[]
Definition: hidusagestr.h:674
const char pstrUsageLightPen[]
Definition: hidusagestr.h:786
const char pstrUsage11Iron[]
Definition: hidusagestr.h:222
const char pstrUsageMediaSelectCD[]
Definition: hidusagestr.h:467
const char pstrUsageJoystick[]
Definition: hidusagestr.h:61
const char pstrUsageFlash[]
Definition: hidusagestr.h:359
#define TAG_GLOBAL_REPORTCOUNT
Definition: hid.h:54
const char pstrUsagePoliceAlarm[]
Definition: hidusagestr.h:542
const char pstrUsageFreeSpaceWand[]
Definition: hidusagestr.h:796
const char pstrUsageBlitRectangleX2[]
Definition: hidusagestr.h:884
const char pstrUsageBassBoost[]
Definition: hidusagestr.h:522
const char pstrUsagePaletteData[]
Definition: hidusagestr.h:880
const char pstrUsageFastBlinkOnTime[]
Definition: hidusagestr.h:340
const char pstrUsageHelicopterSimulationDevice[]
Definition: hidusagestr.h:139
const char pstrUsageEraser[]
Definition: hidusagestr.h:821
const char pstrUsageALNewsreader[]
Definition: hidusagestr.h:581
const char pstrUsageRate[]
Definition: hidusagestr.h:203
const char pstrUsageDPadRight[]
Definition: hidusagestr.h:109
const char pstrUsageApplicationDebuggerBreak[]
Definition: hidusagestr.h:117
const char pstrUsageALContactsAddressBook[]
Definition: hidusagestr.h:583
const char pstrUsageALDigitalWallet[]
Definition: hidusagestr.h:628
const char pstrUsageSamplingRateDetect[]
Definition: hidusagestr.h:289
const char pstrUsageALSpreadsheet[]
Definition: hidusagestr.h:576
const char pstrUsageStereo[]
Definition: hidusagestr.h:288
const char pstrUsageHeightOfPOV[]
Definition: hidusagestr.h:245
const char pstrUsageRollRightLeft[]
Definition: hidusagestr.h:239
const char pstrUsageACSendTo[]
Definition: hidusagestr.h:761
const char pstrUsageForward[]
Definition: hidusagestr.h:320
static const char *const digitTitles1[]
const char pstrUsageSoftButtonOffset2[]
Definition: hidusagestr.h:891
const char pstrUsageFinger[]
Definition: hidusagestr.h:799
const char pstrUsageACExit[]
Definition: hidusagestr.h:645
const char pstrUsageExtendedPlay[]
Definition: hidusagestr.h:532
const char pstrUsageAlternateAudioIncrement[]
Definition: hidusagestr.h:568
const char pstrUsageMotionWakeup[]
Definition: hidusagestr.h:79
static const char *const vrTitles1[]
#define TAG_GLOBAL_LOGICALMAX
Definition: hid.h:47
const char pstrUsageMicrophoneEnable[]
Definition: hidusagestr.h:903
const char pstrUsageACBack[]
Definition: hidusagestr.h:661
#define TAG_GLOBAL_UNIT
Definition: hid.h:51
const char pstrUsageHoldupAlarm[]
Definition: hidusagestr.h:546
const char pstrUsageCharacterSpacingHorizontal[]
Definition: hidusagestr.h:858
static const char *const ledTitles[]
const char pstrUsageChannelDecrement[]
Definition: hidusagestr.h:479
void Initialize(MultiValueBuffer *const pbuf)
Definition: parsetools.h:42
const char pstrUsageStickFaceAngle[]
Definition: hidusagestr.h:205
const char pstrUsageBarrelPressure[]
Definition: hidusagestr.h:801
const char pstrUsageACReply[]
Definition: hidusagestr.h:762
const char pstrUsageRepeat[]
Definition: hidusagestr.h:287
const char pstrUsageSubChannelIncrement[]
Definition: hidusagestr.h:566
const char pstrUsageACZoom[]
Definition: hidusagestr.h:672
const char pstrUsageRudder[]
Definition: hidusagestr.h:158
const char pstrUsageCallerID[]
Definition: hidusagestr.h:374
const char pstrUsageHorizontalScroll[]
Definition: hidusagestr.h:837
const char pstrSpace[]
Definition: hidusagestr.h:22
const char pstrUsageACCatalog[]
Definition: hidusagestr.h:721
static const char *const gameTitles0[]
const char pstrUsageIndicatorFlash[]
Definition: hidusagestr.h:333
const char pstrUsagePagePointOfSale[]
Definition: hidusagestr.h:52
const char pstrUsageMediaSelectCall[]
Definition: hidusagestr.h:477
const char pstrUsageALLANWANBrow[]
Definition: hidusagestr.h:591
const char pstrUsageDepthGainCompensation[]
Definition: hidusagestr.h:911
const char pstrUsageSecondaryTipSwitch[]
Definition: hidusagestr.h:819
const char pstrUsageDiscoverWirelessControl[]
Definition: hidusagestr.h:266
const char pstrUsageSystemMainMenu[]
Definition: hidusagestr.h:96
virtual void Parse(const uint16_t len, const uint8_t *pbuf, const uint16_t &offset)
const char pstrUsageDataValid[]
Definition: hidusagestr.h:807
const char pstrUsageACViewToggle[]
Definition: hidusagestr.h:675
const char pstrUsagePriorityRingTone[]
Definition: hidusagestr.h:389
const char pstrUsageMenuPick[]
Definition: hidusagestr.h:435
const char pstrUsagePointOfView[]
Definition: hidusagestr.h:236
const char pstrUsageSoftButtonID[]
Definition: hidusagestr.h:888
const char pstrUsageMediaSelectCable[]
Definition: hidusagestr.h:473
const char pstrUsagePageCameraControl[]
Definition: hidusagestr.h:53
const char pstrUsageIndicatorGreen[]
Definition: hidusagestr.h:344
const char pstrUsageScreenCalls[]
Definition: hidusagestr.h:381
const char pstrUsageACInsertSymbol[]
Definition: hidusagestr.h:775
static const char *const consTitlesA[]
const char pstrUsageACClearAlarm[]
Definition: hidusagestr.h:756
const char pstrUsageToneEnable[]
Definition: hidusagestr.h:281
const char pstrUsageLoftWedge[]
Definition: hidusagestr.h:224
const char pstrUsageByteCount[]
Definition: hidusagestr.h:78
static const char *const genDesktopTitles4[]
const char pstrUsageAlphanumericDisplay[]
Definition: hidusagestr.h:825
const char pstrUsageACPrint[]
Definition: hidusagestr.h:649
const char pstrUsageSlope[]
Definition: hidusagestr.h:202
const char pstrUsagePhoneKeyC[]
Definition: hidusagestr.h:414
static const char *const consTitlesE[]
const char pstrUsageSystemMenuSelect[]
Definition: hidusagestr.h:100
const char pstrUsageACScrollDown[]
Definition: hidusagestr.h:677
const char pstrUsageACProtect[]
Definition: hidusagestr.h:734
const char pstrUsageALProgrammableButton[]
Definition: hidusagestr.h:572
const char pstrUsageDial[]
Definition: hidusagestr.h:74
const char pstrUsageCharacterHeight[]
Definition: hidusagestr.h:857
const char pstrUsageLightIlluminationLevel[]
Definition: hidusagestr.h:537
const char pstrUsageALTelephonyDialer[]
Definition: hidusagestr.h:596
const char pstrUsageMediaSelectTape[]
Definition: hidusagestr.h:472
const char pstrUsageProximity[]
Definition: hidusagestr.h:543
const char pstrUsageACRefresh[]
Definition: hidusagestr.h:664
const char pstrUsageALTextEditor[]
Definition: hidusagestr.h:575
const char pstrUsageALResearchSearchBrowser[]
Definition: hidusagestr.h:639
static const char *const digitTitles0[]
const char pstrUsageAzimuth[]
Definition: hidusagestr.h:815
virtual uint8_t ParseItem(uint8_t **pp, uint16_t *pcntdn)
const char pstrUsageACSelectAll[]
Definition: hidusagestr.h:655
const char pstrUsageALNetworkChat[]
Definition: hidusagestr.h:595
const char pstrUsageMotocicleSimulationDevice[]
Definition: hidusagestr.h:136
static const char *const simuTitles0[]
const char pstrUsageALDesktop[]
Definition: hidusagestr.h:612
const char pstrUsageThrottle[]
Definition: hidusagestr.h:159
const char pstrUsageTrackControl[]
Definition: hidusagestr.h:147
const char pstrUsageALImageBrowser[]
Definition: hidusagestr.h:624
const char pstrUsageALCheckbookFinance[]
Definition: hidusagestr.h:587
static const char *const simuTitles2[]
const char pstrUsageVno[]
Definition: hidusagestr.h:88
const char pstrUsagePause[]
Definition: hidusagestr.h:326
const char pstrUsageCharacterAttribute[]
Definition: hidusagestr.h:867
const char pstrUsageDrop[]
Definition: hidusagestr.h:364
const char pstrUsageACDownload[]
Definition: hidusagestr.h:768
const char pstrUsageIndicatorOff[]
Definition: hidusagestr.h:336
const char pstrUsageChannelLeft[]
Definition: hidusagestr.h:555
const char pstrUsageSystemDisplayToggleIntExt[]
Definition: hidusagestr.h:125
const char pstrUsageCharacterSpacingVertical[]
Definition: hidusagestr.h:859
const char pstrUsageCameraOn[]
Definition: hidusagestr.h:311
const char pstrUsageMediaSelectGames[]
Definition: hidusagestr.h:465
const char pstrUsageACBulletedList[]
Definition: hidusagestr.h:715
const char pstrUsageSoundFieldOn[]
Definition: hidusagestr.h:285
const char pstrUsageSoftButtonSide[]
Definition: hidusagestr.h:889
const char pstrUsageLeanForwardBackward[]
Definition: hidusagestr.h:244
const char pstrUsageUnicodeCharset[]
Definition: hidusagestr.h:860
const char pstrUsageTransfer[]
Definition: hidusagestr.h:363
const char pstrUsageLoudness[]
Definition: hidusagestr.h:524
const char pstrUsageALWordProcessor[]
Definition: hidusagestr.h:574
const char pstrUsageAntiTorqueControl[]
Definition: hidusagestr.h:150
const char pstrUsageBlitRectangleX1[]
Definition: hidusagestr.h:882
const char pstrUsagePageSimulationControls[]
Definition: hidusagestr.h:31
const char pstrUsageACSetAlarm[]
Definition: hidusagestr.h:755
static const char *const sportsCtrlTitles1[]
const char pstrUsagePointer[]
Definition: hidusagestr.h:59
const char pstrUsage8Iron[]
Definition: hidusagestr.h:219
const char pstrUsageWhiteBoard[]
Definition: hidusagestr.h:789
const char pstrUsageColumn[]
Definition: hidusagestr.h:847
const char pstrUsageSystemControl[]
Definition: hidusagestr.h:91
const char pstrUsageChannel[]
Definition: hidusagestr.h:456
const char pstrUsageSoftButtonOffset1[]
Definition: hidusagestr.h:890
const char pstrUsageRemote[]
Definition: hidusagestr.h:319
const char pstrUsagePageScale[]
Definition: hidusagestr.h:50
const char pstrUsageChannelCenter[]
Definition: hidusagestr.h:557
const char pstrUsageALCustomCorpNewsBrowser[]
Definition: hidusagestr.h:637
const char pstrUsageMultiplePointDigitizer[]
Definition: hidusagestr.h:795
const char pstrUsageTransducerIndex[]
Definition: hidusagestr.h:808
const char pstrUsageHandleBars[]
Definition: hidusagestr.h:178
const char pstrUsageSlowBlinkOnTime[]
Definition: hidusagestr.h:338
const char pstrUsagePlayer[]
Definition: hidusagestr.h:251
const char pstrUsageGolfClub[]
Definition: hidusagestr.h:198
const char pstrUsageStop[]
Definition: hidusagestr.h:322
const char pstrUsageChannelLowFreqEnhancement[]
Definition: hidusagestr.h:562
const char pstrUsageAutopilotEnable[]
Definition: hidusagestr.h:151
const char pstrUsageACRestartNumbering[]
Definition: hidusagestr.h:714
const char pstrUsageALPresentationApp[]
Definition: hidusagestr.h:578
const char pstrUsageFeatureNotification[]
Definition: hidusagestr.h:89
const char pstrUsageMediaSelectSatellite[]
Definition: hidusagestr.h:474
const char pstrUsageRedial[]
Definition: hidusagestr.h:362
const char pstrUsageMicrophone[]
Definition: hidusagestr.h:304
const char pstrUsageAileronTrim[]
Definition: hidusagestr.h:149
const char pstrUsageCLV[]
Definition: hidusagestr.h:292
const char pstrUsagePageReserved[]
Definition: hidusagestr.h:55
const char pstrUsageMedicalAlarm[]
Definition: hidusagestr.h:547
const char pstrUsageStandardPlay[]
Definition: hidusagestr.h:530
const char pstrUsageRingEnable[]
Definition: hidusagestr.h:371
MultiValueBuffer theBuffer
const char pstrUsageRecord[]
Definition: hidusagestr.h:327
const char pstrUsageACUnlock[]
Definition: hidusagestr.h:733
const char pstrUsageACViewComment[]
Definition: hidusagestr.h:738
static UsagePageFunc usagePageFunctions[]
const char pstrUsageACForwardMessage[]
Definition: hidusagestr.h:764
const char pstrUsageACSendReceive[]
Definition: hidusagestr.h:760
const char pstrUsageConfirmationTone1[]
Definition: hidusagestr.h:395
const char pstrUsageACFind[]
Definition: hidusagestr.h:656
const char pstrUsageFlipper[]
Definition: hidusagestr.h:246
const char pstrUsageACInsertRow[]
Definition: hidusagestr.h:770
const char pstrUsageALScreenSaver[]
Definition: hidusagestr.h:619
const char pstrUsageACIndentDecrease[]
Definition: hidusagestr.h:711
const char pstrUsageALInternetBrowser[]
Definition: hidusagestr.h:592
static const char *const consTitles8[]
const char pstrUsageMediaSelection[]
Definition: hidusagestr.h:457
const char pstrUsageTransmitPower[]
Definition: hidusagestr.h:905
const char pstrUsageBicycleCrank[]
Definition: hidusagestr.h:177
const char pstrUsageHookSwitch[]
Definition: hidusagestr.h:358
const char pstrUsageFont7Segment[]
Definition: hidusagestr.h:861
#define TAG_MAIN_INPUT
Definition: hid.h:39
static const char *const medInstrTitles2[]
const char pstrUsageGlove[]
Definition: hidusagestr.h:186
const char pstrUsageMediaSelectTV[]
Definition: hidusagestr.h:459
const char pstrUsageGamepadFireJump[]
Definition: hidusagestr.h:259
const char pstrUsage1Wood[]
Definition: hidusagestr.h:226
const char pstrUsageColorDopplerModeSelect[]
Definition: hidusagestr.h:916
const char pstrUsageSoftButton[]
Definition: hidusagestr.h:887
const char pstrUsageCounterReset[]
Definition: hidusagestr.h:510
const char pstrUsageOutsideRingTone[]
Definition: hidusagestr.h:388
const char pstrUsageRecallNumber[]
Definition: hidusagestr.h:378
const char pstrUsageGunDevice[]
Definition: hidusagestr.h:235
const char pstrUsagePageButton[]
Definition: hidusagestr.h:38
const char pstrUsageIndicatorColor[]
Definition: hidusagestr.h:342
const char pstrUsageBallast[]
Definition: hidusagestr.h:176
const char pstrUsageCine[]
Definition: hidusagestr.h:904
const char pstrUsageSecurityCodeCharErased[]
Definition: hidusagestr.h:268
const char pstrUsageBatteryStrength[]
Definition: hidusagestr.h:263
const char pstrUsageALVirusProtection[]
Definition: hidusagestr.h:617
const char pstrUsagePageAlphaNumericDisplay[]
Definition: hidusagestr.h:45
const char pstrUsage5Wood[]
Definition: hidusagestr.h:228
const char pstrUsageDuresAlarm[]
Definition: hidusagestr.h:545
#define USBTRACE(s)
Definition: macros.h:65
const char pstrUsageACUnderline[]
Definition: hidusagestr.h:689
const char pstrUsageALLaunchButtonConfigTool[]
Definition: hidusagestr.h:571
const char pstrUsageSailingSimulationDevice[]
Definition: hidusagestr.h:135
const char pstrUsageALOnlineShoppingBrowser[]
Definition: hidusagestr.h:634
const char pstrUsageTouchPad[]
Definition: hidusagestr.h:788
const char pstrUsageALThesaurus[]
Definition: hidusagestr.h:610
#define TAG_MAIN_COLLECTION
Definition: hid.h:41
const char pstrUsageVCRPlus[]
Definition: hidusagestr.h:481
const char pstrUsageFontReadBack[]
Definition: hidusagestr.h:830
const char pstrUsageALGrammarCheck[]
Definition: hidusagestr.h:614
const char pstrUsageALSelectTaskApplication[]
Definition: hidusagestr.h:604
const char pstrUsageCharAttributeEnhance[]
Definition: hidusagestr.h:870
const char pstrUsageStylus[]
Definition: hidusagestr.h:797
const char pstrUsageConfirmationTone2[]
Definition: hidusagestr.h:396
const char pstrUsageQuality[]
Definition: hidusagestr.h:806
const char pstrUsagePagePower[]
Definition: hidusagestr.h:48
const char pstrUsageDisplayBrightness[]
Definition: hidusagestr.h:865
const char pstrUsageMPX[]
Definition: hidusagestr.h:525
const char pstrUsageOutsideRingback[]
Definition: hidusagestr.h:398
const char pstrUsageShowCounter[]
Definition: hidusagestr.h:511
const char pstrUsageSteering[]
Definition: hidusagestr.h:172
const char pstrUsageACSuperscript[]
Definition: hidusagestr.h:692
const char pstrUsagePageKeyboardKeypad[]
Definition: hidusagestr.h:36
const char pstrUsageACSubscriptions[]
Definition: hidusagestr.h:669
const char pstrUsageSystemSpeakerMute[]
Definition: hidusagestr.h:118
const char pstrUsageY[]
Definition: hidusagestr.h:68
const char pstrUsageSend[]
Definition: hidusagestr.h:375
const char pstrUsageHatSwitch[]
Definition: hidusagestr.h:76
const char pstrUsageBassIncrement[]
Definition: hidusagestr.h:550
const char pstrUsagePhoneKey4[]
Definition: hidusagestr.h:404
const char pstrUsagePhoneKeyA[]
Definition: hidusagestr.h:412
const char pstrUsageOutsideDialTone[]
Definition: hidusagestr.h:386
const char pstrUsageMultiModeIndicator[]
Definition: hidusagestr.h:331
const char pstrUsageMediaSelectSAP[]
Definition: hidusagestr.h:480
const char pstrUsageStereoEnable[]
Definition: hidusagestr.h:193
uint8_t varBuffer[sizeof(USB_CONFIGURATION_DESCRIPTOR)]
const char pstrUsageALGraphicsEditor[]
Definition: hidusagestr.h:577
const char pstrUsageClipStore[]
Definition: hidusagestr.h:898
const char pstrUsageApplicationLaunchButtons[]
Definition: hidusagestr.h:570
const char pstrUsageACFlipVertical[]
Definition: hidusagestr.h:697
const char pstrUsageDisplayOrientation[]
Definition: hidusagestr.h:876
const char pstrUsageGenericIndicator[]
Definition: hidusagestr.h:346
const char pstrUsagePhoneKeyStar[]
Definition: hidusagestr.h:410
const char pstrUsageACUpload[]
Definition: hidusagestr.h:767
const char pstrUsageMenuValueDecrease[]
Definition: hidusagestr.h:442
const char pstrUsageALEmailReader[]
Definition: hidusagestr.h:580
const char pstrUsageLineBusyTone[]
Definition: hidusagestr.h:392
const char pstrUsageMediaSelectTuner[]
Definition: hidusagestr.h:469
const char pstrUsageMediaSelectHome[]
Definition: hidusagestr.h:476