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