[PATCH 4/8] HID: bpf: handle injected report descriptor in HID-BPF

Benjamin Tissoires posted 8 patches 3 days, 20 hours ago
[PATCH 4/8] HID: bpf: handle injected report descriptor in HID-BPF
Posted by Benjamin Tissoires 3 days, 20 hours ago
udev-hid-bpf is now capable of injecting the parsed report descriptor in
the program. Provide the macros required for it.

Sync up from udev-hid-bpf commits:
bpf: inject the parsed report descriptor in HID_REPORT_DESCRIPTOR
hid_bpf_helpers: provide iterator macros for walking the HID report descriptor
hid_bpf_helpers: Add extract_bits function
bpf: add hid_usages.h
bpf: move the report descriptor structs into their own header

Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/221
Link: https://gitlab.freedesktop.org/libevdev/udev-hid-bpf/-/merge_requests/228
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
---
 drivers/hid/bpf/progs/hid_bpf_helpers.h            |  136 +
 .../hid/bpf/progs/hid_report_descriptor_helpers.h  |   80 +
 drivers/hid/bpf/progs/hid_usages.h                 | 2810 ++++++++++++++++++++
 3 files changed, 3026 insertions(+)

diff --git a/drivers/hid/bpf/progs/hid_bpf_helpers.h b/drivers/hid/bpf/progs/hid_bpf_helpers.h
index f9071444c938..c67facdefff3 100644
--- a/drivers/hid/bpf/progs/hid_bpf_helpers.h
+++ b/drivers/hid/bpf/progs/hid_bpf_helpers.h
@@ -9,6 +9,16 @@
 #include <bpf/bpf_helpers.h>
 #include <bpf/bpf_endian.h>
 #include <linux/errno.h>
+#include "hid_report_descriptor_helpers.h"
+
+/* Compiler attributes */
+#ifndef __packed
+#define __packed __attribute__((packed))
+#endif
+
+#ifndef __maybe_unused
+#define __maybe_unused __attribute__((__unused__))
+#endif
 
 extern __u8 *hid_bpf_get_data(struct hid_bpf_ctx *ctx,
 			      unsigned int offset,
@@ -330,4 +340,130 @@ DEFINE_GUARD(bpf_spin, struct bpf_spin_lock, bpf_spin_lock, bpf_spin_unlock);
 #define hid_bpf_cpu_to_be32(x)	bpf_htonl(x)
 #define hid_bpf_cpu_to_be64(x)	bpf_cpu_to_be64(x)
 
+static inline __maybe_unused __u16 field_start_byte(struct hid_rdesc_field *field)
+{
+	return field->bits_start / 8;
+}
+
+static inline __maybe_unused __u16 field_end_byte(struct hid_rdesc_field *field)
+{
+	if (!field->bits_end)
+		return 0;
+
+	return (__u16)(field->bits_end - 1) / 8;
+}
+
+static __maybe_unused __u32 extract_bits(__u8 *buffer, const size_t size, struct hid_rdesc_field *field)
+{
+	__s32 nbits = field->bits_end - field->bits_start;
+	__u32 start = field_start_byte(field);
+	__u32 end = field_end_byte(field);
+	__u8 base_shift = field->bits_start % 8;
+
+	if (nbits <= 0 || nbits > 32 || start >= size || end >= size)
+		return 0;
+
+	/* Fast path for byte-aligned standard-sized reads */
+	if (base_shift == 0) {
+		/* 8-bit aligned read */
+		if (nbits == 8 && start < size)
+			return buffer[start];
+
+		/* 16-bit aligned read - use separate variables for verifier */
+		if (nbits == 16) {
+			__u32 off0 = start;
+			__u32 off1 = start + 1;
+
+			if (off0 < size && off1 < size) {
+				return buffer[off0] |
+				       ((__u32)buffer[off1] << 8);
+			}
+		}
+
+		/* 32-bit aligned read - use separate variables for verifier */
+		if (nbits == 32) {
+			__u32 off0 = start;
+			__u32 off1 = start + 1;
+			__u32 off2 = start + 2;
+			__u32 off3 = start + 3;
+
+			if (off0 < size && off1 < size &&
+			    off2 < size && off3 < size) {
+				return buffer[off0] |
+				       ((__u32)buffer[off1] << 8) |
+				       ((__u32)buffer[off2] << 16) |
+				       ((__u32)buffer[off3] << 24);
+			}
+		}
+	}
+
+	/* General case: bit manipulation for unaligned or non-standard sizes */
+	int mask = 0xffffffff >> (32 - nbits);
+	__u64 value = 0;
+	__u32 i;
+
+	bpf_for (i, start, end + 1) {
+		value |= (__u64)buffer[i] << ((i - start) * 8);
+	}
+
+	return (value >> base_shift) & mask;
+}
+
+#define EXTRACT_BITS(buffer, field) extract_bits(buffer, sizeof(buffer), field)
+
+/* Base macro for iterating over HID arrays with bounds checking.
+ * Follows the bpf_for pattern from libbpf.
+ */
+#define __hid_bpf_for_each_array(array, num_elements, max_elements, var)              \
+	for (                                                                          \
+		/* initialize and define destructor */                                 \
+		struct bpf_iter_num ___it __attribute__((aligned(8),                   \
+							 cleanup(bpf_iter_num_destroy))),      \
+		/* ___p pointer is necessary to call bpf_iter_num_new() *once* */      \
+				    *___p __attribute__((unused)) = (                  \
+			/* always initialize iterator; if bounds fail, iterate 0 times */ \
+			bpf_iter_num_new(&___it, 0,                                    \
+					 (num_elements) > (max_elements) ?             \
+						0 : (num_elements)),                   \
+			/* workaround for Clang bug */                                 \
+			(void)bpf_iter_num_destroy, (void *)0);                        \
+		({                                                                     \
+			/* iteration step */                                           \
+			int *___t = bpf_iter_num_next(&___it);                         \
+			int ___i;                                                      \
+			/* termination and bounds check, assign var */                 \
+			(___t && (___i = *___t, ___i >= 0 && ___i < (num_elements)) && \
+			 ((num_elements) <= (max_elements)) &&                         \
+			 (var = &(array)[___i], 1));                                   \
+		});                                                                    \
+	)
+
+/* Iterate over input reports in a descriptor */
+#define hid_bpf_for_each_input_report(descriptor, report_var) \
+	__hid_bpf_for_each_array((descriptor)->input_reports, \
+				 (descriptor)->num_input_reports, \
+				 HID_MAX_REPORTS, report_var)
+
+/* Iterate over feature reports in a descriptor */
+#define hid_bpf_for_each_feature_report(descriptor, report_var) \
+	__hid_bpf_for_each_array((descriptor)->feature_reports, \
+				 (descriptor)->num_feature_reports, \
+				 HID_MAX_REPORTS, report_var)
+
+/* Iterate over output reports in a descriptor */
+#define hid_bpf_for_each_output_report(descriptor, report_var) \
+	__hid_bpf_for_each_array((descriptor)->output_reports, \
+				 (descriptor)->num_output_reports, \
+				 HID_MAX_REPORTS, report_var)
+
+/* Iterate over fields in a report */
+#define hid_bpf_for_each_field(report, field_var) \
+	__hid_bpf_for_each_array((report)->fields, (report)->num_fields, \
+				 HID_MAX_FIELDS, field_var)
+
+/* Iterate over collections in a field */
+#define hid_bpf_for_each_collection(field, collection_var) \
+	__hid_bpf_for_each_array((field)->collections, (field)->num_collections, \
+				 HID_MAX_COLLECTIONS, collection_var)
+
 #endif /* __HID_BPF_HELPERS_H */
diff --git a/drivers/hid/bpf/progs/hid_report_descriptor_helpers.h b/drivers/hid/bpf/progs/hid_report_descriptor_helpers.h
new file mode 100644
index 000000000000..2aed5c0a6ad4
--- /dev/null
+++ b/drivers/hid/bpf/progs/hid_report_descriptor_helpers.h
@@ -0,0 +1,80 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/* Copyright (c) 2022 Benjamin Tissoires
+ */
+
+#ifndef __HID_REPORT_DESCRIPTOR_HELPERS_H
+#define __HID_REPORT_DESCRIPTOR_HELPERS_H
+
+#include "vmlinux.h"
+
+/* Compiler attributes */
+#ifndef __packed
+#define __packed __attribute__((packed))
+#endif
+
+#ifndef __maybe_unused
+#define __maybe_unused __attribute__((__unused__))
+#endif
+
+/* Report Descriptor Structures */
+#define HID_MAX_COLLECTIONS 32
+#define HID_MAX_FIELDS 64
+#define HID_MAX_REPORTS 16
+
+enum hid_rdesc_field_type {
+	HID_FIELD_VARIABLE = 0,
+	HID_FIELD_ARRAY = 1,
+	HID_FIELD_CONSTANT = 2,
+};
+
+struct hid_rdesc_collection {
+	__u16 usage_page;
+	__u16 usage_id;
+	__u8 collection_type;
+} __packed;
+
+struct hid_rdesc_field {
+	__u8 field_type;        /* enum hid_rdesc_field_type */
+	__u8 num_collections;
+	__u16 bits_start;
+	__u16 bits_end;
+	__u16 usage_page;
+	union {
+		__u16 usage_id;       /* For Variable fields */
+		struct __packed {     /* For Array fields */
+			__u16 usage_minimum;
+			__u16 usage_maximum;
+		};
+	};
+	__s32 logical_minimum;
+	__s32 logical_maximum;
+	struct {
+		__u8 is_relative:1;             /* Data is relative to previous value */
+		__u8 wraps:1;                   /* Value wraps around (e.g., rotary encoder) */
+		__u8 is_nonlinear:1;            /* Non-linear relationship between logical/physical */
+		__u8 has_no_preferred_state:1;  /* No rest position (e.g., free-floating joystick) */
+		__u8 has_null_state:1;          /* Can report null/no-data values */
+		__u8 is_volatile:1;             /* Volatile (Output/Feature) - NOT POPULATED, always 0 */
+		__u8 is_buffered_bytes:1;       /* Fixed-size byte stream vs bitfield */
+		__u8 reserved:1;                /* Reserved for future use */
+	} flags;
+	struct hid_rdesc_collection collections[HID_MAX_COLLECTIONS];
+} __packed;
+
+struct hid_rdesc_report {
+	__u8 report_id;         /* 0 means no report ID */
+	__u16 size_in_bits;
+	__u8 num_fields;
+	struct hid_rdesc_field fields[HID_MAX_FIELDS];
+} __packed;
+
+struct hid_rdesc_descriptor {
+	__u8 num_input_reports;
+	__u8 num_output_reports;
+	__u8 num_feature_reports;
+	struct hid_rdesc_report input_reports[HID_MAX_REPORTS];
+	struct hid_rdesc_report output_reports[HID_MAX_REPORTS];
+	struct hid_rdesc_report feature_reports[HID_MAX_REPORTS];
+} __packed;
+
+#endif /* __HID_REPORT_DESCRIPTOR_HELPERS_H */
diff --git a/drivers/hid/bpf/progs/hid_usages.h b/drivers/hid/bpf/progs/hid_usages.h
new file mode 100644
index 000000000000..5469b25c9f79
--- /dev/null
+++ b/drivers/hid/bpf/progs/hid_usages.h
@@ -0,0 +1,2810 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/* Copyright (c) 2025 Red Hat, Inc
+ */
+
+// THIS FILE IS GENERATED, DO NOT EDIT
+
+#pragma once
+
+/* ----- Generated Usage Pages and Usages ------ */
+#define HidUsagePage_GenericDesktop                 0x01
+#define HidUsagePage_SimulationControls             0x02
+#define HidUsagePage_VRControls                     0x03
+#define HidUsagePage_SportControls                  0x04
+#define HidUsagePage_GameControls                   0x05
+#define HidUsagePage_GenericDeviceControls          0x06
+#define HidUsagePage_KeyboardKeypad                 0x07
+#define HidUsagePage_LED                            0x08
+#define HidUsagePage_Button                         0x09
+#define HidUsagePage_Ordinal                        0x0a
+#define HidUsagePage_TelephonyDevice                0x0b
+#define HidUsagePage_Consumer                       0x0c
+#define HidUsagePage_Digitizers                     0x0d
+#define HidUsagePage_Haptics                        0x0e
+#define HidUsagePage_PhysicalInputDevice            0x0f
+#define HidUsagePage_Unicode                        0x10
+#define HidUsagePage_SoC                            0x11
+#define HidUsagePage_EyeandHeadTrackers             0x12
+#define HidUsagePage_AuxiliaryDisplay               0x14
+#define HidUsagePage_Sensors                        0x20
+#define HidUsagePage_MedicalInstrument              0x40
+#define HidUsagePage_BrailleDisplay                 0x41
+#define HidUsagePage_LightingAndIllumination        0x59
+#define HidUsagePage_Monitor                        0x80
+#define HidUsagePage_MonitorEnumerated              0x81
+#define HidUsagePage_VESAVirtualControls            0x82
+#define HidUsagePage_Power                          0x84
+#define HidUsagePage_BatterySystem                  0x85
+#define HidUsagePage_BarcodeScanner                 0x8c
+#define HidUsagePage_Scales                         0x8d
+#define HidUsagePage_MagneticStripeReader           0x8e
+#define HidUsagePage_CameraControl                  0x90
+#define HidUsagePage_Arcade                         0x91
+#define HidUsagePage_FIDOAlliance                   0xf1d0
+
+#define HidUsage_GD_Pointer                               0x01
+#define HidUsage_GD_Mouse                                 0x02
+#define HidUsage_GD_Joystick                              0x04
+#define HidUsage_GD_Gamepad                               0x05
+#define HidUsage_GD_Keyboard                              0x06
+#define HidUsage_GD_Keypad                                0x07
+#define HidUsage_GD_MultiaxisController                   0x08
+#define HidUsage_GD_TabletPCSystemControls                0x09
+#define HidUsage_GD_WaterCoolingDevice                    0x0a
+#define HidUsage_GD_ComputerChassisDevice                 0x0b
+#define HidUsage_GD_WirelessRadioControls                 0x0c
+#define HidUsage_GD_PortableDeviceControl                 0x0d
+#define HidUsage_GD_SystemMultiAxisController             0x0e
+#define HidUsage_GD_SpatialController                     0x0f
+#define HidUsage_GD_AssistiveControl                      0x10
+#define HidUsage_GD_DeviceDock                            0x11
+#define HidUsage_GD_DockableDevice                        0x12
+#define HidUsage_GD_CallStateManagementControl            0x13
+#define HidUsage_GD_X                                     0x30
+#define HidUsage_GD_Y                                     0x31
+#define HidUsage_GD_Z                                     0x32
+#define HidUsage_GD_Rx                                    0x33
+#define HidUsage_GD_Ry                                    0x34
+#define HidUsage_GD_Rz                                    0x35
+#define HidUsage_GD_Slider                                0x36
+#define HidUsage_GD_Dial                                  0x37
+#define HidUsage_GD_Wheel                                 0x38
+#define HidUsage_GD_HatSwitch                             0x39
+#define HidUsage_GD_CountedBuffer                         0x3a
+#define HidUsage_GD_ByteCount                             0x3b
+#define HidUsage_GD_MotionWakeup                          0x3c
+#define HidUsage_GD_Start                                 0x3d
+#define HidUsage_GD_Select                                0x3e
+#define HidUsage_GD_Vx                                    0x40
+#define HidUsage_GD_Vy                                    0x41
+#define HidUsage_GD_Vz                                    0x42
+#define HidUsage_GD_Vbrx                                  0x43
+#define HidUsage_GD_Vbry                                  0x44
+#define HidUsage_GD_Vbrz                                  0x45
+#define HidUsage_GD_Vno                                   0x46
+#define HidUsage_GD_FeatureNotification                   0x47
+#define HidUsage_GD_ResolutionMultiplier                  0x48
+#define HidUsage_GD_Qx                                    0x49
+#define HidUsage_GD_Qy                                    0x4a
+#define HidUsage_GD_Qz                                    0x4b
+#define HidUsage_GD_Qw                                    0x4c
+#define HidUsage_GD_SystemControl                         0x80
+#define HidUsage_GD_SystemPowerDown                       0x81
+#define HidUsage_GD_SystemSleep                           0x82
+#define HidUsage_GD_SystemWakeUp                          0x83
+#define HidUsage_GD_SystemContextMenu                     0x84
+#define HidUsage_GD_SystemMainMenu                        0x85
+#define HidUsage_GD_SystemAppMenu                         0x86
+#define HidUsage_GD_SystemMenuHelp                        0x87
+#define HidUsage_GD_SystemMenuExit                        0x88
+#define HidUsage_GD_SystemMenuSelect                      0x89
+#define HidUsage_GD_SystemMenuRight                       0x8a
+#define HidUsage_GD_SystemMenuLeft                        0x8b
+#define HidUsage_GD_SystemMenuUp                          0x8c
+#define HidUsage_GD_SystemMenuDown                        0x8d
+#define HidUsage_GD_SystemColdRestart                     0x8e
+#define HidUsage_GD_SystemWarmRestart                     0x8f
+#define HidUsage_GD_DpadUp                                0x90
+#define HidUsage_GD_DpadDown                              0x91
+#define HidUsage_GD_DpadRight                             0x92
+#define HidUsage_GD_DpadLeft                              0x93
+#define HidUsage_GD_IndexTrigger                          0x94
+#define HidUsage_GD_PalmTrigger                           0x95
+#define HidUsage_GD_Thumbstick                            0x96
+#define HidUsage_GD_SystemFunctionShift                   0x97
+#define HidUsage_GD_SystemFunctionShiftLock               0x98
+#define HidUsage_GD_SystemFunctionShiftLockIndicator      0x99
+#define HidUsage_GD_SystemDismissNotification             0x9a
+#define HidUsage_GD_SystemDoNotDisturb                    0x9b
+#define HidUsage_GD_SystemDock                            0xa0
+#define HidUsage_GD_SystemUndock                          0xa1
+#define HidUsage_GD_SystemSetup                           0xa2
+#define HidUsage_GD_SystemBreak                           0xa3
+#define HidUsage_GD_SystemDebuggerBreak                   0xa4
+#define HidUsage_GD_ApplicationBreak                      0xa5
+#define HidUsage_GD_ApplicationDebuggerBreak              0xa6
+#define HidUsage_GD_SystemSpeakerMute                     0xa7
+#define HidUsage_GD_SystemHibernate                       0xa8
+#define HidUsage_GD_SystemMicrophoneMute                  0xa9
+#define HidUsage_GD_SystemAccessibilityBinding            0xaa
+#define HidUsage_GD_SystemDisplayInvert                   0xb0
+#define HidUsage_GD_SystemDisplayInternal                 0xb1
+#define HidUsage_GD_SystemDisplayExternal                 0xb2
+#define HidUsage_GD_SystemDisplayBoth                     0xb3
+#define HidUsage_GD_SystemDisplayDual                     0xb4
+#define HidUsage_GD_SystemDisplayToggleIntExtMode         0xb5
+#define HidUsage_GD_SystemDisplaySwapPrimarySecondary     0xb6
+#define HidUsage_GD_SystemDisplayToggleLCDAutoscale       0xb7
+#define HidUsage_GD_SensorZone                            0xc0
+#define HidUsage_GD_RPM                                   0xc1
+#define HidUsage_GD_CoolantLevel                          0xc2
+#define HidUsage_GD_CoolantCriticalLevel                  0xc3
+#define HidUsage_GD_CoolantPump                           0xc4
+#define HidUsage_GD_ChassisEnclosure                      0xc5
+#define HidUsage_GD_WirelessRadioButton                   0xc6
+#define HidUsage_GD_WirelessRadioLED                      0xc7
+#define HidUsage_GD_WirelessRadioSliderSwitch             0xc8
+#define HidUsage_GD_SystemDisplayRotationLockButton       0xc9
+#define HidUsage_GD_SystemDisplayRotationLockSliderSwitch 0xca
+#define HidUsage_GD_ControlEnable                         0xcb
+#define HidUsage_GD_DockableDeviceUniqueID                0xd0
+#define HidUsage_GD_DockableDeviceVendorID                0xd1
+#define HidUsage_GD_DockableDevicePrimaryUsagePage        0xd2
+#define HidUsage_GD_DockableDevicePrimaryUsageID          0xd3
+#define HidUsage_GD_DockableDeviceDockingState            0xd4
+#define HidUsage_GD_DockableDeviceDisplayOcclusion        0xd5
+#define HidUsage_GD_DockableDeviceObjectType              0xd6
+#define HidUsage_GD_CallActiveLED                         0xe0
+#define HidUsage_GD_CallMuteToggle                        0xe1
+#define HidUsage_GD_CallMuteLED                           0xe2
+#define HidUsage_SC_FlightSimulationDevice                0x01
+#define HidUsage_SC_AutomobileSimulationDevice            0x02
+#define HidUsage_SC_TankSimulationDevice                  0x03
+#define HidUsage_SC_SpaceshipSimulationDevice             0x04
+#define HidUsage_SC_SubmarineSimulationDevice             0x05
+#define HidUsage_SC_SailingSimulationDevice               0x06
+#define HidUsage_SC_MotorcycleSimulationDevice            0x07
+#define HidUsage_SC_SportsSimulationDevice                0x08
+#define HidUsage_SC_AirplaneSimulationDevice              0x09
+#define HidUsage_SC_HelicopterSimulationDevice            0x0a
+#define HidUsage_SC_MagicCarpetSimulationDevice           0x0b
+#define HidUsage_SC_BicycleSimulationDevice               0x0c
+#define HidUsage_SC_FlightControlStick                    0x20
+#define HidUsage_SC_FlightStick                           0x21
+#define HidUsage_SC_CyclicControl                         0x22
+#define HidUsage_SC_CyclicTrim                            0x23
+#define HidUsage_SC_FlightYoke                            0x24
+#define HidUsage_SC_TrackControl                          0x25
+#define HidUsage_SC_Aileron                               0xb0
+#define HidUsage_SC_AileronTrim                           0xb1
+#define HidUsage_SC_AntiTorqueControl                     0xb2
+#define HidUsage_SC_AutopilotEnable                       0xb3
+#define HidUsage_SC_ChaffRelease                          0xb4
+#define HidUsage_SC_CollectiveControl                     0xb5
+#define HidUsage_SC_DiveBrake                             0xb6
+#define HidUsage_SC_ElectronicCountermeasures             0xb7
+#define HidUsage_SC_Elevator                              0xb8
+#define HidUsage_SC_ElevatorTrim                          0xb9
+#define HidUsage_SC_Rudder                                0xba
+#define HidUsage_SC_Throttle                              0xbb
+#define HidUsage_SC_FlightCommunications                  0xbc
+#define HidUsage_SC_FlareRelease                          0xbd
+#define HidUsage_SC_LandingGear                           0xbe
+#define HidUsage_SC_ToeBrake                              0xbf
+#define HidUsage_SC_Trigger                               0xc0
+#define HidUsage_SC_WeaponsArm                            0xc1
+#define HidUsage_SC_WeaponsSelect                         0xc2
+#define HidUsage_SC_WingFlaps                             0xc3
+#define HidUsage_SC_Accelerator                           0xc4
+#define HidUsage_SC_Brake                                 0xc5
+#define HidUsage_SC_Clutch                                0xc6
+#define HidUsage_SC_Shifter                               0xc7
+#define HidUsage_SC_Steering                              0xc8
+#define HidUsage_SC_TurretDirection                       0xc9
+#define HidUsage_SC_BarrelElevation                       0xca
+#define HidUsage_SC_DivePlane                             0xcb
+#define HidUsage_SC_Ballast                               0xcc
+#define HidUsage_SC_BicycleCrank                          0xcd
+#define HidUsage_SC_HandleBars                            0xce
+#define HidUsage_SC_FrontBrake                            0xcf
+#define HidUsage_SC_RearBrake                             0xd0
+#define HidUsage_VRC_Belt                                 0x01
+#define HidUsage_VRC_BodySuit                             0x02
+#define HidUsage_VRC_Flexor                               0x03
+#define HidUsage_VRC_Glove                                0x04
+#define HidUsage_VRC_HeadTracker                          0x05
+#define HidUsage_VRC_HeadMountedDisplay                   0x06
+#define HidUsage_VRC_HandTracker                          0x07
+#define HidUsage_VRC_Oculometer                           0x08
+#define HidUsage_VRC_Vest                                 0x09
+#define HidUsage_VRC_AnimatronicDevice                    0x0a
+#define HidUsage_VRC_StereoEnable                         0x20
+#define HidUsage_VRC_DisplayEnable                        0x21
+#define HidUsage_SC_BaseballBat                           0x01
+#define HidUsage_SC_GolfClub                              0x02
+#define HidUsage_SC_RowingMachine                         0x03
+#define HidUsage_SC_Treadmill                             0x04
+#define HidUsage_SC_Oar                                   0x30
+#define HidUsage_SC_Slope                                 0x31
+#define HidUsage_SC_Rate                                  0x32
+#define HidUsage_SC_StickSpeed                            0x33
+#define HidUsage_SC_StickFaceAngle                        0x34
+#define HidUsage_SC_StickHeelToe                          0x35
+#define HidUsage_SC_StickFollowThrough                    0x36
+#define HidUsage_SC_StickTempo                            0x37
+#define HidUsage_SC_StickType                             0x38
+#define HidUsage_SC_StickHeight                           0x39
+#define HidUsage_SC_Putter                                0x50
+#define HidUsage_SC_OneIron                               0x51
+#define HidUsage_SC_TwoIron                               0x52
+#define HidUsage_SC_ThreeIron                             0x53
+#define HidUsage_SC_FourIron                              0x54
+#define HidUsage_SC_FiveIron                              0x55
+#define HidUsage_SC_SixIron                               0x56
+#define HidUsage_SC_SevenIron                             0x57
+#define HidUsage_SC_EightIron                             0x58
+#define HidUsage_SC_NineIron                              0x59
+#define HidUsage_SC_One0Iron                              0x5a
+#define HidUsage_SC_One1Iron                              0x5b
+#define HidUsage_SC_SandWedge                             0x5c
+#define HidUsage_SC_LoftWedge                             0x5d
+#define HidUsage_SC_PowerWedge                            0x5e
+#define HidUsage_SC_OneWood                               0x5f
+#define HidUsage_SC_ThreeWood                             0x60
+#define HidUsage_SC_FiveWood                              0x61
+#define HidUsage_SC_SevenWood                             0x62
+#define HidUsage_SC_NineWood                              0x63
+#define HidUsage_GC_ThreeDGameController                  0x01
+#define HidUsage_GC_PinballDevice                         0x02
+#define HidUsage_GC_GunDevice                             0x03
+#define HidUsage_GC_PointofView                           0x20
+#define HidUsage_GC_TurnRightLeft                         0x21
+#define HidUsage_GC_PitchForwardBackward                  0x22
+#define HidUsage_GC_RollRightLeft                         0x23
+#define HidUsage_GC_MoveRightLeft                         0x24
+#define HidUsage_GC_MoveForwardBackward                   0x25
+#define HidUsage_GC_MoveUpDown                            0x26
+#define HidUsage_GC_LeanRightLeft                         0x27
+#define HidUsage_GC_LeanForwardBackward                   0x28
+#define HidUsage_GC_HeightofPOV                           0x29
+#define HidUsage_GC_Flipper                               0x2a
+#define HidUsage_GC_SecondaryFlipper                      0x2b
+#define HidUsage_GC_Bump                                  0x2c
+#define HidUsage_GC_NewGame                               0x2d
+#define HidUsage_GC_ShootBall                             0x2e
+#define HidUsage_GC_Player                                0x2f
+#define HidUsage_GC_GunBolt                               0x30
+#define HidUsage_GC_GunClip                               0x31
+#define HidUsage_GC_GunSelector                           0x32
+#define HidUsage_GC_GunSingleShot                         0x33
+#define HidUsage_GC_GunBurst                              0x34
+#define HidUsage_GC_GunAutomatic                          0x35
+#define HidUsage_GC_GunSafety                             0x36
+#define HidUsage_GC_GamepadFireJump                       0x37
+#define HidUsage_GC_GamepadTrigger                        0x39
+#define HidUsage_GC_FormfittingGamepad                    0x3a
+#define HidUsage_GDC_BackgroundNonuserControls            0x01
+#define HidUsage_GDC_BatteryStrength                      0x20
+#define HidUsage_GDC_WirelessChannel                      0x21
+#define HidUsage_GDC_WirelessID                           0x22
+#define HidUsage_GDC_DiscoverWirelessControl              0x23
+#define HidUsage_GDC_SecurityCodeCharacterEntered         0x24
+#define HidUsage_GDC_SecurityCodeCharacterErased          0x25
+#define HidUsage_GDC_SecurityCodeCleared                  0x26
+#define HidUsage_GDC_SequenceID                           0x27
+#define HidUsage_GDC_SequenceIDReset                      0x28
+#define HidUsage_GDC_RFSignalStrength                     0x29
+#define HidUsage_GDC_SoftwareVersion                      0x2a
+#define HidUsage_GDC_ProtocolVersion                      0x2b
+#define HidUsage_GDC_HardwareVersion                      0x2c
+#define HidUsage_GDC_Major                                0x2d
+#define HidUsage_GDC_Minor                                0x2e
+#define HidUsage_GDC_Revision                             0x2f
+#define HidUsage_GDC_Handedness                           0x30
+#define HidUsage_GDC_EitherHand                           0x31
+#define HidUsage_GDC_LeftHand                             0x32
+#define HidUsage_GDC_RightHand                            0x33
+#define HidUsage_GDC_BothHands                            0x34
+#define HidUsage_GDC_GripPoseOffset                       0x40
+#define HidUsage_GDC_PointerPoseOffset                    0x41
+#define HidUsage_KK_ErrorRollOver                         0x01
+#define HidUsage_KK_POSTFail                              0x02
+#define HidUsage_KK_ErrorUndefined                        0x03
+#define HidUsage_KK_KeyboardA                             0x04
+#define HidUsage_KK_KeyboardB                             0x05
+#define HidUsage_KK_KeyboardC                             0x06
+#define HidUsage_KK_KeyboardD                             0x07
+#define HidUsage_KK_KeyboardE                             0x08
+#define HidUsage_KK_KeyboardF                             0x09
+#define HidUsage_KK_KeyboardG                             0x0a
+#define HidUsage_KK_KeyboardH                             0x0b
+#define HidUsage_KK_KeyboardI                             0x0c
+#define HidUsage_KK_KeyboardJ                             0x0d
+#define HidUsage_KK_KeyboardK                             0x0e
+#define HidUsage_KK_KeyboardL                             0x0f
+#define HidUsage_KK_KeyboardM                             0x10
+#define HidUsage_KK_KeyboardN                             0x11
+#define HidUsage_KK_KeyboardO                             0x12
+#define HidUsage_KK_KeyboardP                             0x13
+#define HidUsage_KK_KeyboardQ                             0x14
+#define HidUsage_KK_KeyboardR                             0x15
+#define HidUsage_KK_KeyboardS                             0x16
+#define HidUsage_KK_KeyboardT                             0x17
+#define HidUsage_KK_KeyboardU                             0x18
+#define HidUsage_KK_KeyboardV                             0x19
+#define HidUsage_KK_KeyboardW                             0x1a
+#define HidUsage_KK_KeyboardX                             0x1b
+#define HidUsage_KK_KeyboardY                             0x1c
+#define HidUsage_KK_KeyboardZ                             0x1d
+#define HidUsage_KK_Keyboard1andBang                      0x1e
+#define HidUsage_KK_Keyboard2andAt                        0x1f
+#define HidUsage_KK_Keyboard3andHash                      0x20
+#define HidUsage_KK_Keyboard4andDollar                    0x21
+#define HidUsage_KK_Keyboard5andPercent                   0x22
+#define HidUsage_KK_Keyboard6andCaret                     0x23
+#define HidUsage_KK_Keyboard7andAmpersand                 0x24
+#define HidUsage_KK_Keyboard8andStar                      0x25
+#define HidUsage_KK_Keyboard9andLeftBracket               0x26
+#define HidUsage_KK_Keyboard0andRightBracket              0x27
+#define HidUsage_KK_KeyboardReturnEnter                   0x28
+#define HidUsage_KK_KeyboardEscape                        0x29
+#define HidUsage_KK_KeyboardDelete                        0x2a
+#define HidUsage_KK_KeyboardTab                           0x2b
+#define HidUsage_KK_KeyboardSpacebar                      0x2c
+#define HidUsage_KK_KeyboardDashandUnderscore             0x2d
+#define HidUsage_KK_KeyboardEqualsandPlus                 0x2e
+#define HidUsage_KK_KeyboardLeftBrace                     0x2f
+#define HidUsage_KK_KeyboardRightBrace                    0x30
+#define HidUsage_KK_KeyboardBackslashandPipe              0x31
+#define HidUsage_KK_KeyboardNonUSHashandTilde             0x32
+#define HidUsage_KK_KeyboardSemiColonandColon             0x33
+#define HidUsage_KK_KeyboardLeftAposandDouble             0x34
+#define HidUsage_KK_KeyboardGraveAccentandTilde           0x35
+#define HidUsage_KK_KeyboardCommaandLessThan              0x36
+#define HidUsage_KK_KeyboardPeriodandGreaterThan          0x37
+#define HidUsage_KK_KeyboardForwardSlashandQuestionMark   0x38
+#define HidUsage_KK_KeyboardCapsLock                      0x39
+#define HidUsage_KK_KeyboardF1                            0x3a
+#define HidUsage_KK_KeyboardF2                            0x3b
+#define HidUsage_KK_KeyboardF3                            0x3c
+#define HidUsage_KK_KeyboardF4                            0x3d
+#define HidUsage_KK_KeyboardF5                            0x3e
+#define HidUsage_KK_KeyboardF6                            0x3f
+#define HidUsage_KK_KeyboardF7                            0x40
+#define HidUsage_KK_KeyboardF8                            0x41
+#define HidUsage_KK_KeyboardF9                            0x42
+#define HidUsage_KK_KeyboardF10                           0x43
+#define HidUsage_KK_KeyboardF11                           0x44
+#define HidUsage_KK_KeyboardF12                           0x45
+#define HidUsage_KK_KeyboardPrintScreen                   0x46
+#define HidUsage_KK_KeyboardScrollLock                    0x47
+#define HidUsage_KK_KeyboardPause                         0x48
+#define HidUsage_KK_KeyboardInsert                        0x49
+#define HidUsage_KK_KeyboardHome                          0x4a
+#define HidUsage_KK_KeyboardPageUp                        0x4b
+#define HidUsage_KK_KeyboardDeleteForward                 0x4c
+#define HidUsage_KK_KeyboardEnd                           0x4d
+#define HidUsage_KK_KeyboardPageDown                      0x4e
+#define HidUsage_KK_KeyboardRightArrow                    0x4f
+#define HidUsage_KK_KeyboardLeftArrow                     0x50
+#define HidUsage_KK_KeyboardDownArrow                     0x51
+#define HidUsage_KK_KeyboardUpArrow                       0x52
+#define HidUsage_KK_KeypadNumLockandClear                 0x53
+#define HidUsage_KK_KeypadForwardSlash                    0x54
+#define HidUsage_KK_KeypadStar                            0x55
+#define HidUsage_KK_KeypadDash                            0x56
+#define HidUsage_KK_KeypadPlus                            0x57
+#define HidUsage_KK_KeypadENTER                           0x58
+#define HidUsage_KK_Keypad1andEnd                         0x59
+#define HidUsage_KK_Keypad2andDownArrow                   0x5a
+#define HidUsage_KK_Keypad3andPageDn                      0x5b
+#define HidUsage_KK_Keypad4andLeftArrow                   0x5c
+#define HidUsage_KK_Keypad5                               0x5d
+#define HidUsage_KK_Keypad6andRightArrow                  0x5e
+#define HidUsage_KK_Keypad7andHome                        0x5f
+#define HidUsage_KK_Keypad8andUpArrow                     0x60
+#define HidUsage_KK_Keypad9andPageUp                      0x61
+#define HidUsage_KK_Keypad0andInsert                      0x62
+#define HidUsage_KK_KeypadPeriodandDelete                 0x63
+#define HidUsage_KK_KeyboardNonUSBackslashandPipe         0x64
+#define HidUsage_KK_KeyboardApplication                   0x65
+#define HidUsage_KK_KeyboardPower                         0x66
+#define HidUsage_KK_KeypadEquals                          0x67
+#define HidUsage_KK_KeyboardF13                           0x68
+#define HidUsage_KK_KeyboardF14                           0x69
+#define HidUsage_KK_KeyboardF15                           0x6a
+#define HidUsage_KK_KeyboardF16                           0x6b
+#define HidUsage_KK_KeyboardF17                           0x6c
+#define HidUsage_KK_KeyboardF18                           0x6d
+#define HidUsage_KK_KeyboardF19                           0x6e
+#define HidUsage_KK_KeyboardF20                           0x6f
+#define HidUsage_KK_KeyboardF21                           0x70
+#define HidUsage_KK_KeyboardF22                           0x71
+#define HidUsage_KK_KeyboardF23                           0x72
+#define HidUsage_KK_KeyboardF24                           0x73
+#define HidUsage_KK_KeyboardExecute                       0x74
+#define HidUsage_KK_KeyboardHelp                          0x75
+#define HidUsage_KK_KeyboardMenu                          0x76
+#define HidUsage_KK_KeyboardSelect                        0x77
+#define HidUsage_KK_KeyboardStop                          0x78
+#define HidUsage_KK_KeyboardAgain                         0x79
+#define HidUsage_KK_KeyboardUndo                          0x7a
+#define HidUsage_KK_KeyboardCut                           0x7b
+#define HidUsage_KK_KeyboardCopy                          0x7c
+#define HidUsage_KK_KeyboardPaste                         0x7d
+#define HidUsage_KK_KeyboardFind                          0x7e
+#define HidUsage_KK_KeyboardMute                          0x7f
+#define HidUsage_KK_KeyboardVolumeUp                      0x80
+#define HidUsage_KK_KeyboardVolumeDown                    0x81
+#define HidUsage_KK_KeyboardLockingCapsLock               0x82
+#define HidUsage_KK_KeyboardLockingNumLock                0x83
+#define HidUsage_KK_KeyboardLockingScrollLock             0x84
+#define HidUsage_KK_KeypadComma                           0x85
+#define HidUsage_KK_KeypadEqualSign                       0x86
+#define HidUsage_KK_KeyboardInternational1                0x87
+#define HidUsage_KK_KeyboardInternational2                0x88
+#define HidUsage_KK_KeyboardInternational3                0x89
+#define HidUsage_KK_KeyboardInternational4                0x8a
+#define HidUsage_KK_KeyboardInternational5                0x8b
+#define HidUsage_KK_KeyboardInternational6                0x8c
+#define HidUsage_KK_KeyboardInternational7                0x8d
+#define HidUsage_KK_KeyboardInternational8                0x8e
+#define HidUsage_KK_KeyboardInternational9                0x8f
+#define HidUsage_KK_KeyboardLANG1                         0x90
+#define HidUsage_KK_KeyboardLANG2                         0x91
+#define HidUsage_KK_KeyboardLANG3                         0x92
+#define HidUsage_KK_KeyboardLANG4                         0x93
+#define HidUsage_KK_KeyboardLANG5                         0x94
+#define HidUsage_KK_KeyboardLANG6                         0x95
+#define HidUsage_KK_KeyboardLANG7                         0x96
+#define HidUsage_KK_KeyboardLANG8                         0x97
+#define HidUsage_KK_KeyboardLANG9                         0x98
+#define HidUsage_KK_KeyboardAlternateErase                0x99
+#define HidUsage_KK_KeyboardSysReqAttention               0x9a
+#define HidUsage_KK_KeyboardCancel                        0x9b
+#define HidUsage_KK_KeyboardClear                         0x9c
+#define HidUsage_KK_KeyboardPrior                         0x9d
+#define HidUsage_KK_KeyboardReturn                        0x9e
+#define HidUsage_KK_KeyboardSeparator                     0x9f
+#define HidUsage_KK_KeyboardOut                           0xa0
+#define HidUsage_KK_KeyboardOper                          0xa1
+#define HidUsage_KK_KeyboardClearAgain                    0xa2
+#define HidUsage_KK_KeyboardCrSelProps                    0xa3
+#define HidUsage_KK_KeyboardExSel                         0xa4
+#define HidUsage_KK_KeypadDouble0                         0xb0
+#define HidUsage_KK_KeypadTriple0                         0xb1
+#define HidUsage_KK_ThousandsSeparator                    0xb2
+#define HidUsage_KK_DecimalSeparator                      0xb3
+#define HidUsage_KK_CurrencyUnit                          0xb4
+#define HidUsage_KK_CurrencySubunit                       0xb5
+#define HidUsage_KK_KeypadLeftBracket                     0xb6
+#define HidUsage_KK_KeypadRightBracket                    0xb7
+#define HidUsage_KK_KeypadLeftBrace                       0xb8
+#define HidUsage_KK_KeypadRightBrace                      0xb9
+#define HidUsage_KK_KeypadTab                             0xba
+#define HidUsage_KK_KeypadBackspace                       0xbb
+#define HidUsage_KK_KeypadA                               0xbc
+#define HidUsage_KK_KeypadB                               0xbd
+#define HidUsage_KK_KeypadC                               0xbe
+#define HidUsage_KK_KeypadD                               0xbf
+#define HidUsage_KK_KeypadE                               0xc0
+#define HidUsage_KK_KeypadF                               0xc1
+#define HidUsage_KK_KeypadXOR                             0xc2
+#define HidUsage_KK_KeypadCaret                           0xc3
+#define HidUsage_KK_KeypadPercentage                      0xc4
+#define HidUsage_KK_KeypadLess                            0xc5
+#define HidUsage_KK_KeypadGreater                         0xc6
+#define HidUsage_KK_KeypadAmpersand                       0xc7
+#define HidUsage_KK_KeypadDoubleAmpersand                 0xc8
+#define HidUsage_KK_KeypadBar                             0xc9
+#define HidUsage_KK_KeypadDoubleBar                       0xca
+#define HidUsage_KK_KeypadColon                           0xcb
+#define HidUsage_KK_KeypadHash                            0xcc
+#define HidUsage_KK_KeypadSpace                           0xcd
+#define HidUsage_KK_KeypadAt                              0xce
+#define HidUsage_KK_KeypadBang                            0xcf
+#define HidUsage_KK_KeypadMemoryStore                     0xd0
+#define HidUsage_KK_KeypadMemoryRecall                    0xd1
+#define HidUsage_KK_KeypadMemoryClear                     0xd2
+#define HidUsage_KK_KeypadMemoryAdd                       0xd3
+#define HidUsage_KK_KeypadMemorySubtract                  0xd4
+#define HidUsage_KK_KeypadMemoryMultiply                  0xd5
+#define HidUsage_KK_KeypadMemoryDivide                    0xd6
+#define HidUsage_KK_KeypadPlusMinus                       0xd7
+#define HidUsage_KK_KeypadClear                           0xd8
+#define HidUsage_KK_KeypadClearEntry                      0xd9
+#define HidUsage_KK_KeypadBinary                          0xda
+#define HidUsage_KK_KeypadOctal                           0xdb
+#define HidUsage_KK_KeypadDecimal                         0xdc
+#define HidUsage_KK_KeypadHexadecimal                     0xdd
+#define HidUsage_KK_KeyboardLeftControl                   0xe0
+#define HidUsage_KK_KeyboardLeftShift                     0xe1
+#define HidUsage_KK_KeyboardLeftAlt                       0xe2
+#define HidUsage_KK_KeyboardLeftGUI                       0xe3
+#define HidUsage_KK_KeyboardRightControl                  0xe4
+#define HidUsage_KK_KeyboardRightShift                    0xe5
+#define HidUsage_KK_KeyboardRightAlt                      0xe6
+#define HidUsage_KK_KeyboardRightGUI                      0xe7
+#define HidUsage_LED_NumLock                              0x01
+#define HidUsage_LED_CapsLock                             0x02
+#define HidUsage_LED_ScrollLock                           0x03
+#define HidUsage_LED_Compose                              0x04
+#define HidUsage_LED_Kana                                 0x05
+#define HidUsage_LED_Power                                0x06
+#define HidUsage_LED_Shift                                0x07
+#define HidUsage_LED_DoNotDisturb                         0x08
+#define HidUsage_LED_Mute                                 0x09
+#define HidUsage_LED_ToneEnable                           0x0a
+#define HidUsage_LED_HighCutFilter                        0x0b
+#define HidUsage_LED_LowCutFilter                         0x0c
+#define HidUsage_LED_EqualizerEnable                      0x0d
+#define HidUsage_LED_SoundFieldOn                         0x0e
+#define HidUsage_LED_SurroundOn                           0x0f
+#define HidUsage_LED_Repeat                               0x10
+#define HidUsage_LED_Stereo                               0x11
+#define HidUsage_LED_SamplingRateDetect                   0x12
+#define HidUsage_LED_Spinning                             0x13
+#define HidUsage_LED_CAV                                  0x14
+#define HidUsage_LED_CLV                                  0x15
+#define HidUsage_LED_RecordingFormatDetect                0x16
+#define HidUsage_LED_OffHook                              0x17
+#define HidUsage_LED_Ring                                 0x18
+#define HidUsage_LED_MessageWaiting                       0x19
+#define HidUsage_LED_DataMode                             0x1a
+#define HidUsage_LED_BatteryOperation                     0x1b
+#define HidUsage_LED_BatteryOK                            0x1c
+#define HidUsage_LED_BatteryLow                           0x1d
+#define HidUsage_LED_Speaker                              0x1e
+#define HidUsage_LED_Headset                              0x1f
+#define HidUsage_LED_Hold                                 0x20
+#define HidUsage_LED_Microphone                           0x21
+#define HidUsage_LED_Coverage                             0x22
+#define HidUsage_LED_NightMode                            0x23
+#define HidUsage_LED_SendCalls                            0x24
+#define HidUsage_LED_CallPickup                           0x25
+#define HidUsage_LED_Conference                           0x26
+#define HidUsage_LED_Standby                              0x27
+#define HidUsage_LED_CameraOn                             0x28
+#define HidUsage_LED_CameraOff                            0x29
+#define HidUsage_LED_OnLine                               0x2a
+#define HidUsage_LED_OffLine                              0x2b
+#define HidUsage_LED_Busy                                 0x2c
+#define HidUsage_LED_Ready                                0x2d
+#define HidUsage_LED_PaperOut                             0x2e
+#define HidUsage_LED_PaperJam                             0x2f
+#define HidUsage_LED_Remote                               0x30
+#define HidUsage_LED_Forward                              0x31
+#define HidUsage_LED_Reverse                              0x32
+#define HidUsage_LED_Stop                                 0x33
+#define HidUsage_LED_Rewind                               0x34
+#define HidUsage_LED_FastForward                          0x35
+#define HidUsage_LED_Play                                 0x36
+#define HidUsage_LED_Pause                                0x37
+#define HidUsage_LED_Record                               0x38
+#define HidUsage_LED_Error                                0x39
+#define HidUsage_LED_UsageSelectedIndicator               0x3a
+#define HidUsage_LED_UsageInUseIndicator                  0x3b
+#define HidUsage_LED_UsageMultiModeIndicator              0x3c
+#define HidUsage_LED_IndicatorOn                          0x3d
+#define HidUsage_LED_IndicatorFlash                       0x3e
+#define HidUsage_LED_IndicatorSlowBlink                   0x3f
+#define HidUsage_LED_IndicatorFastBlink                   0x40
+#define HidUsage_LED_IndicatorOff                         0x41
+#define HidUsage_LED_FlashOnTime                          0x42
+#define HidUsage_LED_SlowBlinkOnTime                      0x43
+#define HidUsage_LED_SlowBlinkOffTime                     0x44
+#define HidUsage_LED_FastBlinkOnTime                      0x45
+#define HidUsage_LED_FastBlinkOffTime                     0x46
+#define HidUsage_LED_UsageIndicatorColor                  0x47
+#define HidUsage_LED_IndicatorRed                         0x48
+#define HidUsage_LED_IndicatorGreen                       0x49
+#define HidUsage_LED_IndicatorAmber                       0x4a
+#define HidUsage_LED_GenericIndicator                     0x4b
+#define HidUsage_LED_SystemSuspend                        0x4c
+#define HidUsage_LED_ExternalPowerConnected               0x4d
+#define HidUsage_LED_IndicatorBlue                        0x4e
+#define HidUsage_LED_IndicatorOrange                      0x4f
+#define HidUsage_LED_GoodStatus                           0x50
+#define HidUsage_LED_WarningStatus                        0x51
+#define HidUsage_LED_RGBLED                               0x52
+#define HidUsage_LED_RedLEDChannel                        0x53
+#define HidUsage_LED_BlueLEDChannel                       0x54
+#define HidUsage_LED_GreenLEDChannel                      0x55
+#define HidUsage_LED_LEDIntensity                         0x56
+#define HidUsage_LED_SystemMicrophoneMute                 0x57
+#define HidUsage_LED_PlayerIndicator                      0x60
+#define HidUsage_LED_Player1                              0x61
+#define HidUsage_LED_Player2                              0x62
+#define HidUsage_LED_Player3                              0x63
+#define HidUsage_LED_Player4                              0x64
+#define HidUsage_LED_Player5                              0x65
+#define HidUsage_LED_Player6                              0x66
+#define HidUsage_LED_Player7                              0x67
+#define HidUsage_LED_Player8                              0x68
+#define HidUsage_TD_Phone                                 0x01
+#define HidUsage_TD_AnsweringMachine                      0x02
+#define HidUsage_TD_MessageControls                       0x03
+#define HidUsage_TD_Handset                               0x04
+#define HidUsage_TD_Headset                               0x05
+#define HidUsage_TD_TelephonyKeyPad                       0x06
+#define HidUsage_TD_ProgrammableButton                    0x07
+#define HidUsage_TD_HookSwitch                            0x20
+#define HidUsage_TD_Flash                                 0x21
+#define HidUsage_TD_Feature                               0x22
+#define HidUsage_TD_Hold                                  0x23
+#define HidUsage_TD_Redial                                0x24
+#define HidUsage_TD_Transfer                              0x25
+#define HidUsage_TD_Drop                                  0x26
+#define HidUsage_TD_Park                                  0x27
+#define HidUsage_TD_ForwardCalls                          0x28
+#define HidUsage_TD_AlternateFunction                     0x29
+#define HidUsage_TD_Line                                  0x2a
+#define HidUsage_TD_SpeakerPhone                          0x2b
+#define HidUsage_TD_Conference                            0x2c
+#define HidUsage_TD_RingEnable                            0x2d
+#define HidUsage_TD_RingSelect                            0x2e
+#define HidUsage_TD_PhoneMute                             0x2f
+#define HidUsage_TD_CallerID                              0x30
+#define HidUsage_TD_Send                                  0x31
+#define HidUsage_TD_SpeedDial                             0x50
+#define HidUsage_TD_StoreNumber                           0x51
+#define HidUsage_TD_RecallNumber                          0x52
+#define HidUsage_TD_PhoneDirectory                        0x53
+#define HidUsage_TD_VoiceMail                             0x70
+#define HidUsage_TD_ScreenCalls                           0x71
+#define HidUsage_TD_DoNotDisturb                          0x72
+#define HidUsage_TD_Message                               0x73
+#define HidUsage_TD_AnswerOnOff                           0x74
+#define HidUsage_TD_InsideDialTone                        0x90
+#define HidUsage_TD_OutsideDialTone                       0x91
+#define HidUsage_TD_InsideRingTone                        0x92
+#define HidUsage_TD_OutsideRingTone                       0x93
+#define HidUsage_TD_PriorityRingTone                      0x94
+#define HidUsage_TD_InsideRingback                        0x95
+#define HidUsage_TD_PriorityRingback                      0x96
+#define HidUsage_TD_LineBusyTone                          0x97
+#define HidUsage_TD_ReorderTone                           0x98
+#define HidUsage_TD_CallWaitingTone                       0x99
+#define HidUsage_TD_ConfirmationTone1                     0x9a
+#define HidUsage_TD_ConfirmationTone2                     0x9b
+#define HidUsage_TD_TonesOff                              0x9c
+#define HidUsage_TD_OutsideRingback                       0x9d
+#define HidUsage_TD_Ringer                                0x9e
+#define HidUsage_TD_PhoneKey0                             0xb0
+#define HidUsage_TD_PhoneKey1                             0xb1
+#define HidUsage_TD_PhoneKey2                             0xb2
+#define HidUsage_TD_PhoneKey3                             0xb3
+#define HidUsage_TD_PhoneKey4                             0xb4
+#define HidUsage_TD_PhoneKey5                             0xb5
+#define HidUsage_TD_PhoneKey6                             0xb6
+#define HidUsage_TD_PhoneKey7                             0xb7
+#define HidUsage_TD_PhoneKey8                             0xb8
+#define HidUsage_TD_PhoneKey9                             0xb9
+#define HidUsage_TD_PhoneKeyStar                          0xba
+#define HidUsage_TD_PhoneKeyPound                         0xbb
+#define HidUsage_TD_PhoneKeyA                             0xbc
+#define HidUsage_TD_PhoneKeyB                             0xbd
+#define HidUsage_TD_PhoneKeyC                             0xbe
+#define HidUsage_TD_PhoneKeyD                             0xbf
+#define HidUsage_TD_PhoneCallHistoryKey                   0xc0
+#define HidUsage_TD_PhoneCallerIDKey                      0xc1
+#define HidUsage_TD_PhoneSettingsKey                      0xc2
+#define HidUsage_TD_HostControl                           0xf0
+#define HidUsage_TD_HostAvailable                         0xf1
+#define HidUsage_TD_HostCallActive                        0xf2
+#define HidUsage_TD_ActivateHandsetAudio                  0xf3
+#define HidUsage_TD_RingType                              0xf4
+#define HidUsage_TD_RedialablePhoneNumber                 0xf5
+#define HidUsage_TD_StopRingTone                          0xf8
+#define HidUsage_TD_PSTNRingTone                          0xf9
+#define HidUsage_TD_HostRingTone                          0xfa
+#define HidUsage_TD_AlertSoundError                       0xfb
+#define HidUsage_TD_AlertSoundConfirm                     0xfc
+#define HidUsage_TD_AlertSoundNotification                0xfd
+#define HidUsage_TD_SilentRing                            0xfe
+#define HidUsage_TD_EmailMessageWaiting                   0x108
+#define HidUsage_TD_VoicemailMessageWaiting               0x109
+#define HidUsage_TD_HostHold                              0x10a
+#define HidUsage_TD_IncomingCallHistoryCount              0x110
+#define HidUsage_TD_OutgoingCallHistoryCount              0x111
+#define HidUsage_TD_IncomingCallHistory                   0x112
+#define HidUsage_TD_OutgoingCallHistory                   0x113
+#define HidUsage_TD_PhoneLocale                           0x114
+#define HidUsage_TD_PhoneTimeSecond                       0x140
+#define HidUsage_TD_PhoneTimeMinute                       0x141
+#define HidUsage_TD_PhoneTimeHour                         0x142
+#define HidUsage_TD_PhoneDateDay                          0x143
+#define HidUsage_TD_PhoneDateMonth                        0x144
+#define HidUsage_TD_PhoneDateYear                         0x145
+#define HidUsage_TD_HandsetNickname                       0x146
+#define HidUsage_TD_AddressBookID                         0x147
+#define HidUsage_TD_CallDuration                          0x14a
+#define HidUsage_TD_DualModePhone                         0x14b
+#define HidUsage_Con_ConsumerControl                      0x01
+#define HidUsage_Con_NumericKeyPad                        0x02
+#define HidUsage_Con_ProgrammableButtons                  0x03
+#define HidUsage_Con_Microphone                           0x04
+#define HidUsage_Con_Headphone                            0x05
+#define HidUsage_Con_GraphicEqualizer                     0x06
+#define HidUsage_Con_Plus10                               0x20
+#define HidUsage_Con_Plus100                              0x21
+#define HidUsage_Con_AMPM                                 0x22
+#define HidUsage_Con_Power                                0x30
+#define HidUsage_Con_Reset                                0x31
+#define HidUsage_Con_Sleep                                0x32
+#define HidUsage_Con_SleepAfter                           0x33
+#define HidUsage_Con_SleepMode                            0x34
+#define HidUsage_Con_Illumination                         0x35
+#define HidUsage_Con_FunctionButtons                      0x36
+#define HidUsage_Con_Menu                                 0x40
+#define HidUsage_Con_MenuPick                             0x41
+#define HidUsage_Con_MenuUp                               0x42
+#define HidUsage_Con_MenuDown                             0x43
+#define HidUsage_Con_MenuLeft                             0x44
+#define HidUsage_Con_MenuRight                            0x45
+#define HidUsage_Con_MenuEscape                           0x46
+#define HidUsage_Con_MenuValueIncrease                    0x47
+#define HidUsage_Con_MenuValueDecrease                    0x48
+#define HidUsage_Con_DataOnScreen                         0x60
+#define HidUsage_Con_ClosedCaption                        0x61
+#define HidUsage_Con_ClosedCaptionSelect                  0x62
+#define HidUsage_Con_VCRTV                                0x63
+#define HidUsage_Con_BroadcastMode                        0x64
+#define HidUsage_Con_Snapshot                             0x65
+#define HidUsage_Con_Still                                0x66
+#define HidUsage_Con_PictureinPictureToggle               0x67
+#define HidUsage_Con_PictureinPictureSwap                 0x68
+#define HidUsage_Con_RedMenuButton                        0x69
+#define HidUsage_Con_GreenMenuButton                      0x6a
+#define HidUsage_Con_BlueMenuButton                       0x6b
+#define HidUsage_Con_YellowMenuButton                     0x6c
+#define HidUsage_Con_Aspect                               0x6d
+#define HidUsage_Con_ThreeDModeSelect                     0x6e
+#define HidUsage_Con_DisplayBrightnessIncrement           0x6f
+#define HidUsage_Con_DisplayBrightnessDecrement           0x70
+#define HidUsage_Con_DisplayBrightness                    0x71
+#define HidUsage_Con_DisplayBacklightToggle               0x72
+#define HidUsage_Con_DisplaySetBrightnesstoMinimum        0x73
+#define HidUsage_Con_DisplaySetBrightnesstoMaximum        0x74
+#define HidUsage_Con_DisplaySetAutoBrightness             0x75
+#define HidUsage_Con_CameraAccessEnabled                  0x76
+#define HidUsage_Con_CameraAccessDisabled                 0x77
+#define HidUsage_Con_CameraAccessToggle                   0x78
+#define HidUsage_Con_KeyboardBrightnessIncrement          0x79
+#define HidUsage_Con_KeyboardBrightnessDecrement          0x7a
+#define HidUsage_Con_KeyboardBacklightSetLevel            0x7b
+#define HidUsage_Con_KeyboardBacklightOOC                 0x7c
+#define HidUsage_Con_KeyboardBacklightSetMinimum          0x7d
+#define HidUsage_Con_KeyboardBacklightSetMaximum          0x7e
+#define HidUsage_Con_KeyboardBacklightAuto                0x7f
+#define HidUsage_Con_Selection                            0x80
+#define HidUsage_Con_AssignSelection                      0x81
+#define HidUsage_Con_ModeStep                             0x82
+#define HidUsage_Con_RecallLast                           0x83
+#define HidUsage_Con_EnterChannel                         0x84
+#define HidUsage_Con_OrderMovie                           0x85
+#define HidUsage_Con_Channel                              0x86
+#define HidUsage_Con_MediaSelection                       0x87
+#define HidUsage_Con_MediaSelectComputer                  0x88
+#define HidUsage_Con_MediaSelectTV                        0x89
+#define HidUsage_Con_MediaSelectWWW                       0x8a
+#define HidUsage_Con_MediaSelectDVD                       0x8b
+#define HidUsage_Con_MediaSelectTelephone                 0x8c
+#define HidUsage_Con_MediaSelectProgramGuide              0x8d
+#define HidUsage_Con_MediaSelectVideoPhone                0x8e
+#define HidUsage_Con_MediaSelectGames                     0x8f
+#define HidUsage_Con_MediaSelectMessages                  0x90
+#define HidUsage_Con_MediaSelectCD                        0x91
+#define HidUsage_Con_MediaSelectVCR                       0x92
+#define HidUsage_Con_MediaSelectTuner                     0x93
+#define HidUsage_Con_Quit                                 0x94
+#define HidUsage_Con_Help                                 0x95
+#define HidUsage_Con_MediaSelectTape                      0x96
+#define HidUsage_Con_MediaSelectCable                     0x97
+#define HidUsage_Con_MediaSelectSatellite                 0x98
+#define HidUsage_Con_MediaSelectSecurity                  0x99
+#define HidUsage_Con_MediaSelectHome                      0x9a
+#define HidUsage_Con_MediaSelectCall                      0x9b
+#define HidUsage_Con_ChannelIncrement                     0x9c
+#define HidUsage_Con_ChannelDecrement                     0x9d
+#define HidUsage_Con_MediaSelectSAP                       0x9e
+#define HidUsage_Con_VCRPlus                              0xa0
+#define HidUsage_Con_Once                                 0xa1
+#define HidUsage_Con_Daily                                0xa2
+#define HidUsage_Con_Weekly                               0xa3
+#define HidUsage_Con_Monthly                              0xa4
+#define HidUsage_Con_Play                                 0xb0
+#define HidUsage_Con_Pause                                0xb1
+#define HidUsage_Con_Record                               0xb2
+#define HidUsage_Con_FastForward                          0xb3
+#define HidUsage_Con_Rewind                               0xb4
+#define HidUsage_Con_ScanNextTrack                        0xb5
+#define HidUsage_Con_ScanPreviousTrack                    0xb6
+#define HidUsage_Con_Stop                                 0xb7
+#define HidUsage_Con_Eject                                0xb8
+#define HidUsage_Con_RandomPlay                           0xb9
+#define HidUsage_Con_SelectDisc                           0xba
+#define HidUsage_Con_EnterDisc                            0xbb
+#define HidUsage_Con_Repeat                               0xbc
+#define HidUsage_Con_Tracking                             0xbd
+#define HidUsage_Con_TrackNormal                          0xbe
+#define HidUsage_Con_SlowTracking                         0xbf
+#define HidUsage_Con_FrameForward                         0xc0
+#define HidUsage_Con_FrameBack                            0xc1
+#define HidUsage_Con_Mark                                 0xc2
+#define HidUsage_Con_ClearMark                            0xc3
+#define HidUsage_Con_RepeatFromMark                       0xc4
+#define HidUsage_Con_ReturnToMark                         0xc5
+#define HidUsage_Con_SearchMarkForward                    0xc6
+#define HidUsage_Con_SearchMarkBackwards                  0xc7
+#define HidUsage_Con_CounterReset                         0xc8
+#define HidUsage_Con_ShowCounter                          0xc9
+#define HidUsage_Con_TrackingIncrement                    0xca
+#define HidUsage_Con_TrackingDecrement                    0xcb
+#define HidUsage_Con_StopEject                            0xcc
+#define HidUsage_Con_PlayPause                            0xcd
+#define HidUsage_Con_PlaySkip                             0xce
+#define HidUsage_Con_VoiceCommand                         0xcf
+#define HidUsage_Con_InvokeCaptureInterface               0xd0
+#define HidUsage_Con_StartorStopGameRecording             0xd1
+#define HidUsage_Con_HistoricalGameCapture                0xd2
+#define HidUsage_Con_CaptureGameScreenshot                0xd3
+#define HidUsage_Con_ShoworHideRecordingIndicator         0xd4
+#define HidUsage_Con_StartorStopMicrophoneCapture         0xd5
+#define HidUsage_Con_StartorStopCameraCapture             0xd6
+#define HidUsage_Con_StartorStopGameBroadcast             0xd7
+#define HidUsage_Con_StartorStopVoiceDictationSession     0xd8
+#define HidUsage_Con_InvokeDismissEmojiPicker             0xd9
+#define HidUsage_Con_Volume                               0xe0
+#define HidUsage_Con_Balance                              0xe1
+#define HidUsage_Con_Mute                                 0xe2
+#define HidUsage_Con_Bass                                 0xe3
+#define HidUsage_Con_Treble                               0xe4
+#define HidUsage_Con_BassBoost                            0xe5
+#define HidUsage_Con_SurroundMode                         0xe6
+#define HidUsage_Con_Loudness                             0xe7
+#define HidUsage_Con_MPX                                  0xe8
+#define HidUsage_Con_VolumeIncrement                      0xe9
+#define HidUsage_Con_VolumeDecrement                      0xea
+#define HidUsage_Con_SpeedSelect                          0xf0
+#define HidUsage_Con_PlaybackSpeed                        0xf1
+#define HidUsage_Con_StandardPlay                         0xf2
+#define HidUsage_Con_LongPlay                             0xf3
+#define HidUsage_Con_ExtendedPlay                         0xf4
+#define HidUsage_Con_Slow                                 0xf5
+#define HidUsage_Con_FanEnable                            0x100
+#define HidUsage_Con_FanSpeed                             0x101
+#define HidUsage_Con_LightEnable                          0x102
+#define HidUsage_Con_LightIlluminationLevel               0x103
+#define HidUsage_Con_ClimateControlEnable                 0x104
+#define HidUsage_Con_RoomTemperature                      0x105
+#define HidUsage_Con_SecurityEnable                       0x106
+#define HidUsage_Con_FireAlarm                            0x107
+#define HidUsage_Con_PoliceAlarm                          0x108
+#define HidUsage_Con_Proximity                            0x109
+#define HidUsage_Con_Motion                               0x10a
+#define HidUsage_Con_DuressAlarm                          0x10b
+#define HidUsage_Con_HoldupAlarm                          0x10c
+#define HidUsage_Con_MedicalAlarm                         0x10d
+#define HidUsage_Con_BalanceRight                         0x150
+#define HidUsage_Con_BalanceLeft                          0x151
+#define HidUsage_Con_BassIncrement                        0x152
+#define HidUsage_Con_BassDecrement                        0x153
+#define HidUsage_Con_TrebleIncrement                      0x154
+#define HidUsage_Con_TrebleDecrement                      0x155
+#define HidUsage_Con_SpeakerSystem                        0x160
+#define HidUsage_Con_ChannelLeft                          0x161
+#define HidUsage_Con_ChannelRight                         0x162
+#define HidUsage_Con_ChannelCenter                        0x163
+#define HidUsage_Con_ChannelFront                         0x164
+#define HidUsage_Con_ChannelCenterFront                   0x165
+#define HidUsage_Con_ChannelSide                          0x166
+#define HidUsage_Con_ChannelSurround                      0x167
+#define HidUsage_Con_ChannelLowFrequencyEnhancement       0x168
+#define HidUsage_Con_ChannelTop                           0x169
+#define HidUsage_Con_ChannelUnknown                       0x16a
+#define HidUsage_Con_Subchannel                           0x170
+#define HidUsage_Con_SubchannelIncrement                  0x171
+#define HidUsage_Con_SubchannelDecrement                  0x172
+#define HidUsage_Con_AlternateAudioIncrement              0x173
+#define HidUsage_Con_AlternateAudioDecrement              0x174
+#define HidUsage_Con_ApplicationLaunchButtons             0x180
+#define HidUsage_Con_ALLaunchButtonConfigurationTool      0x181
+#define HidUsage_Con_ALProgrammableButtonConfiguration    0x182
+#define HidUsage_Con_ALConsumerControlConfiguration       0x183
+#define HidUsage_Con_ALWordProcessor                      0x184
+#define HidUsage_Con_ALTextEditor                         0x185
+#define HidUsage_Con_ALSpreadsheet                        0x186
+#define HidUsage_Con_ALGraphicsEditor                     0x187
+#define HidUsage_Con_ALPresentationApp                    0x188
+#define HidUsage_Con_ALDatabaseApp                        0x189
+#define HidUsage_Con_ALEmailReader                        0x18a
+#define HidUsage_Con_ALNewsreader                         0x18b
+#define HidUsage_Con_ALVoicemail                          0x18c
+#define HidUsage_Con_ALContactsAddressBook                0x18d
+#define HidUsage_Con_ALCalendarSchedule                   0x18e
+#define HidUsage_Con_ALTaskProjectManager                 0x18f
+#define HidUsage_Con_ALLogJournalTimecard                 0x190
+#define HidUsage_Con_ALCheckbookFinance                   0x191
+#define HidUsage_Con_ALCalculator                         0x192
+#define HidUsage_Con_ALAVCapturePlayback                  0x193
+#define HidUsage_Con_ALLocalMachineBrowser                0x194
+#define HidUsage_Con_ALLANWANBrowser                      0x195
+#define HidUsage_Con_ALInternetBrowser                    0x196
+#define HidUsage_Con_ALRemoteNetworkingISPConnect         0x197
+#define HidUsage_Con_ALNetworkConference                  0x198
+#define HidUsage_Con_ALNetworkChat                        0x199
+#define HidUsage_Con_ALTelephonyDialer                    0x19a
+#define HidUsage_Con_ALLogon                              0x19b
+#define HidUsage_Con_ALLogoff                             0x19c
+#define HidUsage_Con_ALLogonLogoff                        0x19d
+#define HidUsage_Con_ALTerminalLockScreensaver            0x19e
+#define HidUsage_Con_ALControlPanel                       0x19f
+#define HidUsage_Con_ALCommandLineProcessorRun            0x1a0
+#define HidUsage_Con_ALProcessTaskManager                 0x1a1
+#define HidUsage_Con_ALSelectTaskApplication              0x1a2
+#define HidUsage_Con_ALNextTaskApplication                0x1a3
+#define HidUsage_Con_ALPreviousTaskApplication            0x1a4
+#define HidUsage_Con_ALPreemptiveHaltTaskApplication      0x1a5
+#define HidUsage_Con_ALIntegratedHelpCenter               0x1a6
+#define HidUsage_Con_ALDocuments                          0x1a7
+#define HidUsage_Con_ALThesaurus                          0x1a8
+#define HidUsage_Con_ALDictionary                         0x1a9
+#define HidUsage_Con_ALDesktop                            0x1aa
+#define HidUsage_Con_ALSpellCheck                         0x1ab
+#define HidUsage_Con_ALGrammarCheck                       0x1ac
+#define HidUsage_Con_ALWirelessStatus                     0x1ad
+#define HidUsage_Con_ALKeyboardLayout                     0x1ae
+#define HidUsage_Con_ALVirusProtection                    0x1af
+#define HidUsage_Con_ALEncryption                         0x1b0
+#define HidUsage_Con_ALScreenSaver                        0x1b1
+#define HidUsage_Con_ALAlarms                             0x1b2
+#define HidUsage_Con_ALClock                              0x1b3
+#define HidUsage_Con_ALFileBrowser                        0x1b4
+#define HidUsage_Con_ALPowerStatus                        0x1b5
+#define HidUsage_Con_ALImageBrowser                       0x1b6
+#define HidUsage_Con_ALAudioBrowser                       0x1b7
+#define HidUsage_Con_ALMovieBrowser                       0x1b8
+#define HidUsage_Con_ALDigitalRightsManager               0x1b9
+#define HidUsage_Con_ALDigitalWallet                      0x1ba
+#define HidUsage_Con_ALInstantMessaging                   0x1bc
+#define HidUsage_Con_ALOEMFeaturesTipsTutorialBrowser     0x1bd
+#define HidUsage_Con_ALOEMHelp                            0x1be
+#define HidUsage_Con_ALOnlineCommunity                    0x1bf
+#define HidUsage_Con_ALEntertainmentContentBrowser        0x1c0
+#define HidUsage_Con_ALOnlineShoppingBrowser              0x1c1
+#define HidUsage_Con_ALSmartCardInformationHelp           0x1c2
+#define HidUsage_Con_ALMarketMonitorFinanceBrowser        0x1c3
+#define HidUsage_Con_ALCustomizedCorporateNewsBrowser     0x1c4
+#define HidUsage_Con_ALOnlineActivityBrowser              0x1c5
+#define HidUsage_Con_ALResearchSearchBrowser              0x1c6
+#define HidUsage_Con_ALAudioPlayer                        0x1c7
+#define HidUsage_Con_ALMessageStatus                      0x1c8
+#define HidUsage_Con_ALContactSync                        0x1c9
+#define HidUsage_Con_ALNavigation                         0x1ca
+#define HidUsage_Con_ALContextawareDesktopAssistant       0x1cb
+#define HidUsage_Con_GenericGUIApplicationControls        0x200
+#define HidUsage_Con_ACNew                                0x201
+#define HidUsage_Con_ACOpen                               0x202
+#define HidUsage_Con_ACClose                              0x203
+#define HidUsage_Con_ACExit                               0x204
+#define HidUsage_Con_ACMaximize                           0x205
+#define HidUsage_Con_ACMinimize                           0x206
+#define HidUsage_Con_ACSave                               0x207
+#define HidUsage_Con_ACPrint                              0x208
+#define HidUsage_Con_ACProperties                         0x209
+#define HidUsage_Con_ACUndo                               0x21a
+#define HidUsage_Con_ACCopy                               0x21b
+#define HidUsage_Con_ACCut                                0x21c
+#define HidUsage_Con_ACPaste                              0x21d
+#define HidUsage_Con_ACSelectAll                          0x21e
+#define HidUsage_Con_ACFind                               0x21f
+#define HidUsage_Con_ACFindandReplace                     0x220
+#define HidUsage_Con_ACSearch                             0x221
+#define HidUsage_Con_ACGoTo                               0x222
+#define HidUsage_Con_ACHome                               0x223
+#define HidUsage_Con_ACBack                               0x224
+#define HidUsage_Con_ACForward                            0x225
+#define HidUsage_Con_ACStop                               0x226
+#define HidUsage_Con_ACRefresh                            0x227
+#define HidUsage_Con_ACPreviousLink                       0x228
+#define HidUsage_Con_ACNextLink                           0x229
+#define HidUsage_Con_ACBookmarks                          0x22a
+#define HidUsage_Con_ACHistory                            0x22b
+#define HidUsage_Con_ACSubscriptions                      0x22c
+#define HidUsage_Con_ACZoomIn                             0x22d
+#define HidUsage_Con_ACZoomOut                            0x22e
+#define HidUsage_Con_ACZoom                               0x22f
+#define HidUsage_Con_ACFullScreenView                     0x230
+#define HidUsage_Con_ACNormalView                         0x231
+#define HidUsage_Con_ACViewToggle                         0x232
+#define HidUsage_Con_ACScrollUp                           0x233
+#define HidUsage_Con_ACScrollDown                         0x234
+#define HidUsage_Con_ACScroll                             0x235
+#define HidUsage_Con_ACPanLeft                            0x236
+#define HidUsage_Con_ACPanRight                           0x237
+#define HidUsage_Con_ACPan                                0x238
+#define HidUsage_Con_ACNewWindow                          0x239
+#define HidUsage_Con_ACTileHorizontally                   0x23a
+#define HidUsage_Con_ACTileVertically                     0x23b
+#define HidUsage_Con_ACFormat                             0x23c
+#define HidUsage_Con_ACEdit                               0x23d
+#define HidUsage_Con_ACBold                               0x23e
+#define HidUsage_Con_ACItalics                            0x23f
+#define HidUsage_Con_ACUnderline                          0x240
+#define HidUsage_Con_ACStrikethrough                      0x241
+#define HidUsage_Con_ACSubscript                          0x242
+#define HidUsage_Con_ACSuperscript                        0x243
+#define HidUsage_Con_ACAllCaps                            0x244
+#define HidUsage_Con_ACRotate                             0x245
+#define HidUsage_Con_ACResize                             0x246
+#define HidUsage_Con_ACFlipHorizontal                     0x247
+#define HidUsage_Con_ACFlipVertical                       0x248
+#define HidUsage_Con_ACMirrorHorizontal                   0x249
+#define HidUsage_Con_ACMirrorVertical                     0x24a
+#define HidUsage_Con_ACFontSelect                         0x24b
+#define HidUsage_Con_ACFontColor                          0x24c
+#define HidUsage_Con_ACFontSize                           0x24d
+#define HidUsage_Con_ACJustifyLeft                        0x24e
+#define HidUsage_Con_ACJustifyCenterH                     0x24f
+#define HidUsage_Con_ACJustifyRight                       0x250
+#define HidUsage_Con_ACJustifyBlockH                      0x251
+#define HidUsage_Con_ACJustifyTop                         0x252
+#define HidUsage_Con_ACJustifyCenterV                     0x253
+#define HidUsage_Con_ACJustifyBottom                      0x254
+#define HidUsage_Con_ACJustifyBlockV                      0x255
+#define HidUsage_Con_ACIndentDecrease                     0x256
+#define HidUsage_Con_ACIndentIncrease                     0x257
+#define HidUsage_Con_ACNumberedList                       0x258
+#define HidUsage_Con_ACRestartNumbering                   0x259
+#define HidUsage_Con_ACBulletedList                       0x25a
+#define HidUsage_Con_ACPromote                            0x25b
+#define HidUsage_Con_ACDemote                             0x25c
+#define HidUsage_Con_ACYes                                0x25d
+#define HidUsage_Con_ACNo                                 0x25e
+#define HidUsage_Con_ACCancel                             0x25f
+#define HidUsage_Con_ACCatalog                            0x260
+#define HidUsage_Con_ACBuyCheckout                        0x261
+#define HidUsage_Con_ACAddtoCart                          0x262
+#define HidUsage_Con_ACExpand                             0x263
+#define HidUsage_Con_ACExpandAll                          0x264
+#define HidUsage_Con_ACCollapse                           0x265
+#define HidUsage_Con_ACCollapseAll                        0x266
+#define HidUsage_Con_ACPrintPreview                       0x267
+#define HidUsage_Con_ACPasteSpecial                       0x268
+#define HidUsage_Con_ACInsertMode                         0x269
+#define HidUsage_Con_ACDelete                             0x26a
+#define HidUsage_Con_ACLock                               0x26b
+#define HidUsage_Con_ACUnlock                             0x26c
+#define HidUsage_Con_ACProtect                            0x26d
+#define HidUsage_Con_ACUnprotect                          0x26e
+#define HidUsage_Con_ACAttachComment                      0x26f
+#define HidUsage_Con_ACDeleteComment                      0x270
+#define HidUsage_Con_ACViewComment                        0x271
+#define HidUsage_Con_ACSelectWord                         0x272
+#define HidUsage_Con_ACSelectSentence                     0x273
+#define HidUsage_Con_ACSelectParagraph                    0x274
+#define HidUsage_Con_ACSelectColumn                       0x275
+#define HidUsage_Con_ACSelectRow                          0x276
+#define HidUsage_Con_ACSelectTable                        0x277
+#define HidUsage_Con_ACSelectObject                       0x278
+#define HidUsage_Con_ACRedoRepeat                         0x279
+#define HidUsage_Con_ACSort                               0x27a
+#define HidUsage_Con_ACSortAscending                      0x27b
+#define HidUsage_Con_ACSortDescending                     0x27c
+#define HidUsage_Con_ACFilter                             0x27d
+#define HidUsage_Con_ACSetClock                           0x27e
+#define HidUsage_Con_ACViewClock                          0x27f
+#define HidUsage_Con_ACSelectTimeZone                     0x280
+#define HidUsage_Con_ACEditTimeZones                      0x281
+#define HidUsage_Con_ACSetAlarm                           0x282
+#define HidUsage_Con_ACClearAlarm                         0x283
+#define HidUsage_Con_ACSnoozeAlarm                        0x284
+#define HidUsage_Con_ACResetAlarm                         0x285
+#define HidUsage_Con_ACSynchronize                        0x286
+#define HidUsage_Con_ACSendReceive                        0x287
+#define HidUsage_Con_ACSendTo                             0x288
+#define HidUsage_Con_ACReply                              0x289
+#define HidUsage_Con_ACReplyAll                           0x28a
+#define HidUsage_Con_ACForwardMsg                         0x28b
+#define HidUsage_Con_ACSend                               0x28c
+#define HidUsage_Con_ACAttachFile                         0x28d
+#define HidUsage_Con_ACUpload                             0x28e
+#define HidUsage_Con_ACDownloadSaveTargetAs               0x28f
+#define HidUsage_Con_ACSetBorders                         0x290
+#define HidUsage_Con_ACInsertRow                          0x291
+#define HidUsage_Con_ACInsertColumn                       0x292
+#define HidUsage_Con_ACInsertFile                         0x293
+#define HidUsage_Con_ACInsertPicture                      0x294
+#define HidUsage_Con_ACInsertObject                       0x295
+#define HidUsage_Con_ACInsertSymbol                       0x296
+#define HidUsage_Con_ACSaveandClose                       0x297
+#define HidUsage_Con_ACRename                             0x298
+#define HidUsage_Con_ACMerge                              0x299
+#define HidUsage_Con_ACSplit                              0x29a
+#define HidUsage_Con_ACDisributeHorizontally              0x29b
+#define HidUsage_Con_ACDistributeVertically               0x29c
+#define HidUsage_Con_ACNextKeyboardLayoutSelect           0x29d
+#define HidUsage_Con_ACNavigationGuidance                 0x29e
+#define HidUsage_Con_ACDesktopShowAllWindows              0x29f
+#define HidUsage_Con_ACSoftKeyLeft                        0x2a0
+#define HidUsage_Con_ACSoftKeyRight                       0x2a1
+#define HidUsage_Con_ACDesktopShowAllApplications         0x2a2
+#define HidUsage_Con_ACIdleKeepAlive                      0x2b0
+#define HidUsage_Con_ExtendedKeyboardAttributesCollection 0x2c0
+#define HidUsage_Con_KeyboardFormFactor                   0x2c1
+#define HidUsage_Con_KeyboardKeyType                      0x2c2
+#define HidUsage_Con_KeyboardPhysicalLayout               0x2c3
+#define HidUsage_Con_VendorSpecificKeyboardPhysicalLayout 0x2c4
+#define HidUsage_Con_KeyboardIETFLanguageTagIndex         0x2c5
+#define HidUsage_Con_ImplementedKeyboardInputAssistControls 0x2c6
+#define HidUsage_Con_KeyboardInputAssistPrevious          0x2c7
+#define HidUsage_Con_KeyboardInputAssistNext              0x2c8
+#define HidUsage_Con_KeyboardInputAssistPreviousGroup     0x2c9
+#define HidUsage_Con_KeyboardInputAssistNextGroup         0x2ca
+#define HidUsage_Con_KeyboardInputAssistAccept            0x2cb
+#define HidUsage_Con_KeyboardInputAssistCancel            0x2cc
+#define HidUsage_Con_PrivacyScreenToggle                  0x2d0
+#define HidUsage_Con_PrivacyScreenLevelDecrement          0x2d1
+#define HidUsage_Con_PrivacyScreenLevelIncrement          0x2d2
+#define HidUsage_Con_PrivacyScreenLevelMinimum            0x2d3
+#define HidUsage_Con_PrivacyScreenLevelMaximum            0x2d4
+#define HidUsage_Con_ContactEdited                        0x500
+#define HidUsage_Con_ContactAdded                         0x501
+#define HidUsage_Con_ContactRecordActive                  0x502
+#define HidUsage_Con_ContactIndex                         0x503
+#define HidUsage_Con_ContactNickname                      0x504
+#define HidUsage_Con_ContactFirstName                     0x505
+#define HidUsage_Con_ContactLastName                      0x506
+#define HidUsage_Con_ContactFullName                      0x507
+#define HidUsage_Con_ContactPhoneNumberPersonal           0x508
+#define HidUsage_Con_ContactPhoneNumberBusiness           0x509
+#define HidUsage_Con_ContactPhoneNumberMobile             0x50a
+#define HidUsage_Con_ContactPhoneNumberPager              0x50b
+#define HidUsage_Con_ContactPhoneNumberFax                0x50c
+#define HidUsage_Con_ContactPhoneNumberOther              0x50d
+#define HidUsage_Con_ContactEmailPersonal                 0x50e
+#define HidUsage_Con_ContactEmailBusiness                 0x50f
+#define HidUsage_Con_ContactEmailOther                    0x510
+#define HidUsage_Con_ContactEmailMain                     0x511
+#define HidUsage_Con_ContactSpeedDialNumber               0x512
+#define HidUsage_Con_ContactStatusFlag                    0x513
+#define HidUsage_Con_ContactMisc                          0x514
+#define HidUsage_Dig_Digitizer                            0x01
+#define HidUsage_Dig_Pen                                  0x02
+#define HidUsage_Dig_LightPen                             0x03
+#define HidUsage_Dig_TouchScreen                          0x04
+#define HidUsage_Dig_TouchPad                             0x05
+#define HidUsage_Dig_Whiteboard                           0x06
+#define HidUsage_Dig_CoordinateMeasuringMachine           0x07
+#define HidUsage_Dig_ThreeDDigitizer                      0x08
+#define HidUsage_Dig_StereoPlotter                        0x09
+#define HidUsage_Dig_ArticulatedArm                       0x0a
+#define HidUsage_Dig_Armature                             0x0b
+#define HidUsage_Dig_MultiplePointDigitizer               0x0c
+#define HidUsage_Dig_FreeSpaceWand                        0x0d
+#define HidUsage_Dig_DeviceConfiguration                  0x0e
+#define HidUsage_Dig_CapacitiveHeatMapDigitizer           0x0f
+#define HidUsage_Dig_Stylus                               0x20
+#define HidUsage_Dig_Puck                                 0x21
+#define HidUsage_Dig_Finger                               0x22
+#define HidUsage_Dig_Devicesettings                       0x23
+#define HidUsage_Dig_CharacterGesture                     0x24
+#define HidUsage_Dig_TipPressure                          0x30
+#define HidUsage_Dig_BarrelPressure                       0x31
+#define HidUsage_Dig_InRange                              0x32
+#define HidUsage_Dig_Touch                                0x33
+#define HidUsage_Dig_Untouch                              0x34
+#define HidUsage_Dig_Tap                                  0x35
+#define HidUsage_Dig_Quality                              0x36
+#define HidUsage_Dig_DataValid                            0x37
+#define HidUsage_Dig_TransducerIndex                      0x38
+#define HidUsage_Dig_TabletFunctionKeys                   0x39
+#define HidUsage_Dig_ProgramChangeKeys                    0x3a
+#define HidUsage_Dig_BatteryStrength                      0x3b
+#define HidUsage_Dig_Invert                               0x3c
+#define HidUsage_Dig_XTilt                                0x3d
+#define HidUsage_Dig_YTilt                                0x3e
+#define HidUsage_Dig_Azimuth                              0x3f
+#define HidUsage_Dig_Altitude                             0x40
+#define HidUsage_Dig_Twist                                0x41
+#define HidUsage_Dig_TipSwitch                            0x42
+#define HidUsage_Dig_SecondaryTipSwitch                   0x43
+#define HidUsage_Dig_BarrelSwitch                         0x44
+#define HidUsage_Dig_Eraser                               0x45
+#define HidUsage_Dig_TabletPick                           0x46
+#define HidUsage_Dig_TouchValid                           0x47
+#define HidUsage_Dig_Width                                0x48
+#define HidUsage_Dig_Height                               0x49
+#define HidUsage_Dig_ContactIdentifier                    0x51
+#define HidUsage_Dig_DeviceMode                           0x52
+#define HidUsage_Dig_DeviceIdentifier                     0x53
+#define HidUsage_Dig_ContactCount                         0x54
+#define HidUsage_Dig_ContactCountMaximum                  0x55
+#define HidUsage_Dig_ScanTime                             0x56
+#define HidUsage_Dig_SurfaceSwitch                        0x57
+#define HidUsage_Dig_ButtonSwitch                         0x58
+#define HidUsage_Dig_PadType                              0x59
+#define HidUsage_Dig_SecondaryBarrelSwitch                0x5a
+#define HidUsage_Dig_TransducerSerialNumber               0x5b
+#define HidUsage_Dig_PreferredColor                       0x5c
+#define HidUsage_Dig_PreferredColorisLocked               0x5d
+#define HidUsage_Dig_PreferredLineWidth                   0x5e
+#define HidUsage_Dig_PreferredLineWidthisLocked           0x5f
+#define HidUsage_Dig_LatencyMode                          0x60
+#define HidUsage_Dig_GestureCharacterQuality              0x61
+#define HidUsage_Dig_CharacterGestureDataLength           0x62
+#define HidUsage_Dig_CharacterGestureData                 0x63
+#define HidUsage_Dig_GestureCharacterEncoding             0x64
+#define HidUsage_Dig_UTF8CharacterGestureEncoding         0x65
+#define HidUsage_Dig_UTF16LittleEndianCharacterGestureEncoding 0x66
+#define HidUsage_Dig_UTF16BigEndianCharacterGestureEncoding 0x67
+#define HidUsage_Dig_UTF32LittleEndianCharacterGestureEncoding 0x68
+#define HidUsage_Dig_UTF32BigEndianCharacterGestureEncoding 0x69
+#define HidUsage_Dig_CapacitiveHeatMapProtocolVendorID    0x6a
+#define HidUsage_Dig_CapacitiveHeatMapProtocolVersion     0x6b
+#define HidUsage_Dig_CapacitiveHeatMapFrameData           0x6c
+#define HidUsage_Dig_GestureCharacterEnable               0x6d
+#define HidUsage_Dig_TransducerSerialNumberPart2          0x6e
+#define HidUsage_Dig_NoPreferredColor                     0x6f
+#define HidUsage_Dig_PreferredLineStyle                   0x70
+#define HidUsage_Dig_PreferredLineStyleisLocked           0x71
+#define HidUsage_Dig_Ink                                  0x72
+#define HidUsage_Dig_Pencil                               0x73
+#define HidUsage_Dig_Highlighter                          0x74
+#define HidUsage_Dig_ChiselMarker                         0x75
+#define HidUsage_Dig_Brush                                0x76
+#define HidUsage_Dig_NoPreference                         0x77
+#define HidUsage_Dig_DigitizerDiagnostic                  0x80
+#define HidUsage_Dig_DigitizerError                       0x81
+#define HidUsage_Dig_ErrNormalStatus                      0x82
+#define HidUsage_Dig_ErrTransducersExceeded               0x83
+#define HidUsage_Dig_ErrFullTransFeaturesUnavailable      0x84
+#define HidUsage_Dig_ErrChargeLow                         0x85
+#define HidUsage_Dig_TransducerSoftwareInfo               0x90
+#define HidUsage_Dig_TransducerVendorId                   0x91
+#define HidUsage_Dig_TransducerProductId                  0x92
+#define HidUsage_Dig_DeviceSupportedProtocols             0x93
+#define HidUsage_Dig_TransducerSupportedProtocols         0x94
+#define HidUsage_Dig_NoProtocol                           0x95
+#define HidUsage_Dig_WacomAESProtocol                     0x96
+#define HidUsage_Dig_USIProtocol                          0x97
+#define HidUsage_Dig_MicrosoftPenProtocol                 0x98
+#define HidUsage_Dig_SupportedReportRates                 0xa0
+#define HidUsage_Dig_ReportRate                           0xa1
+#define HidUsage_Dig_TransducerConnected                  0xa2
+#define HidUsage_Dig_SwitchDisabled                       0xa3
+#define HidUsage_Dig_SwitchUnimplemented                  0xa4
+#define HidUsage_Dig_TransducerSwitches                   0xa5
+#define HidUsage_Dig_TransducerIndexSelector              0xa6
+#define HidUsage_Dig_ButtonPressThreshold                 0xb0
+#define HidUsage_Hap_SimpleHapticController               0x01
+#define HidUsage_Hap_WaveformList                         0x10
+#define HidUsage_Hap_DurationList                         0x11
+#define HidUsage_Hap_AutoTrigger                          0x20
+#define HidUsage_Hap_ManualTrigger                        0x21
+#define HidUsage_Hap_AutoTriggerAssociatedControl         0x22
+#define HidUsage_Hap_Intensity                            0x23
+#define HidUsage_Hap_RepeatCount                          0x24
+#define HidUsage_Hap_RetriggerPeriod                      0x25
+#define HidUsage_Hap_WaveformVendorPage                   0x26
+#define HidUsage_Hap_WaveformVendorID                     0x27
+#define HidUsage_Hap_WaveformCutoffTime                   0x28
+#define HidUsage_Hap_WaveformNone                         0x1001
+#define HidUsage_Hap_WaveformStop                         0x1002
+#define HidUsage_Hap_WaveformClick                        0x1003
+#define HidUsage_Hap_WaveformBuzzContinuous               0x1004
+#define HidUsage_Hap_WaveformRumbleContinuous             0x1005
+#define HidUsage_Hap_WaveformPress                        0x1006
+#define HidUsage_Hap_WaveformRelease                      0x1007
+#define HidUsage_Hap_WaveformHover                        0x1008
+#define HidUsage_Hap_WaveformSuccess                      0x1009
+#define HidUsage_Hap_WaveformError                        0x100a
+#define HidUsage_Hap_WaveformInkContinuous                0x100b
+#define HidUsage_Hap_WaveformPencilContinuous             0x100c
+#define HidUsage_Hap_WaveformMarkerContinuous             0x100d
+#define HidUsage_Hap_WaveformChiselMarkerContinuous       0x100e
+#define HidUsage_Hap_WaveformBrushContinuous              0x100f
+#define HidUsage_Hap_WaveformEraserContinuous             0x1010
+#define HidUsage_Hap_WaveformSparkleContinuous            0x1011
+#define HidUsage_PID_PhysicalInputDevice                  0x01
+#define HidUsage_PID_Normal                               0x20
+#define HidUsage_PID_SetEffectReport                      0x21
+#define HidUsage_PID_EffectParameterBlockIndex            0x22
+#define HidUsage_PID_ParameterBlockOffset                 0x23
+#define HidUsage_PID_ROMFlag                              0x24
+#define HidUsage_PID_EffectType                           0x25
+#define HidUsage_PID_ETConstantForce                      0x26
+#define HidUsage_PID_ETRamp                               0x27
+#define HidUsage_PID_ETCustomForce                        0x28
+#define HidUsage_PID_ETSquare                             0x30
+#define HidUsage_PID_ETSine                               0x31
+#define HidUsage_PID_ETTriangle                           0x32
+#define HidUsage_PID_ETSawtoothUp                         0x33
+#define HidUsage_PID_ETSawtoothDown                       0x34
+#define HidUsage_PID_ETSpring                             0x40
+#define HidUsage_PID_ETDamper                             0x41
+#define HidUsage_PID_ETInertia                            0x42
+#define HidUsage_PID_ETFriction                           0x43
+#define HidUsage_PID_Duration                             0x50
+#define HidUsage_PID_SamplePeriod                         0x51
+#define HidUsage_PID_Gain                                 0x52
+#define HidUsage_PID_TriggerButton                        0x53
+#define HidUsage_PID_TriggerRepeatInterval                0x54
+#define HidUsage_PID_AxesEnable                           0x55
+#define HidUsage_PID_DirectionEnable                      0x56
+#define HidUsage_PID_Direction                            0x57
+#define HidUsage_PID_TypeSpecificBlockOffset              0x58
+#define HidUsage_PID_BlockType                            0x59
+#define HidUsage_PID_SetEnvelopeReport                    0x5a
+#define HidUsage_PID_AttackLevel                          0x5b
+#define HidUsage_PID_AttackTime                           0x5c
+#define HidUsage_PID_FadeLevel                            0x5d
+#define HidUsage_PID_FadeTime                             0x5e
+#define HidUsage_PID_SetConditionReport                   0x5f
+#define HidUsage_PID_CenterPointOffset                    0x60
+#define HidUsage_PID_PositiveCoefficient                  0x61
+#define HidUsage_PID_NegativeCoefficient                  0x62
+#define HidUsage_PID_PositiveSaturation                   0x63
+#define HidUsage_PID_NegativeSaturation                   0x64
+#define HidUsage_PID_DeadBand                             0x65
+#define HidUsage_PID_DownloadForceSample                  0x66
+#define HidUsage_PID_IsochCustomForceEnable               0x67
+#define HidUsage_PID_CustomForceDataReport                0x68
+#define HidUsage_PID_CustomForceData                      0x69
+#define HidUsage_PID_CustomForceVendorDefinedData         0x6a
+#define HidUsage_PID_SetCustomForceReport                 0x6b
+#define HidUsage_PID_CustomForceDataOffset                0x6c
+#define HidUsage_PID_SampleCount                          0x6d
+#define HidUsage_PID_SetPeriodicReport                    0x6e
+#define HidUsage_PID_Offset                               0x6f
+#define HidUsage_PID_Magnitude                            0x70
+#define HidUsage_PID_Phase                                0x71
+#define HidUsage_PID_Period                               0x72
+#define HidUsage_PID_SetConstantForceReport               0x73
+#define HidUsage_PID_SetRampForceReport                   0x74
+#define HidUsage_PID_RampStart                            0x75
+#define HidUsage_PID_RampEnd                              0x76
+#define HidUsage_PID_EffectOperationReport                0x77
+#define HidUsage_PID_EffectOperation                      0x78
+#define HidUsage_PID_OpEffectStart                        0x79
+#define HidUsage_PID_OpEffectStartSolo                    0x7a
+#define HidUsage_PID_OpEffectStop                         0x7b
+#define HidUsage_PID_LoopCount                            0x7c
+#define HidUsage_PID_DeviceGainReport                     0x7d
+#define HidUsage_PID_DeviceGain                           0x7e
+#define HidUsage_PID_ParameterBlockPoolsReport            0x7f
+#define HidUsage_PID_RAMPoolSize                          0x80
+#define HidUsage_PID_ROMPoolSize                          0x81
+#define HidUsage_PID_ROMEffectBlockCount                  0x82
+#define HidUsage_PID_SimultaneousEffectsMax               0x83
+#define HidUsage_PID_PoolAlignment                        0x84
+#define HidUsage_PID_ParameterBlockMoveReport             0x85
+#define HidUsage_PID_MoveSource                           0x86
+#define HidUsage_PID_MoveDestination                      0x87
+#define HidUsage_PID_MoveLength                           0x88
+#define HidUsage_PID_EffectParameterBlockLoadReport       0x89
+#define HidUsage_PID_EffectParameterBlockLoadStatus       0x8b
+#define HidUsage_PID_BlockLoadSuccess                     0x8c
+#define HidUsage_PID_BlockLoadFull                        0x8d
+#define HidUsage_PID_BlockLoadError                       0x8e
+#define HidUsage_PID_BlockHandle                          0x8f
+#define HidUsage_PID_EffectParameterBlockFreeReport       0x90
+#define HidUsage_PID_TypeSpecificBlockHandle              0x91
+#define HidUsage_PID_PIDStateReport                       0x92
+#define HidUsage_PID_EffectPlaying                        0x94
+#define HidUsage_PID_PIDDeviceControlReport               0x95
+#define HidUsage_PID_PIDDeviceControl                     0x96
+#define HidUsage_PID_DCEnableActuators                    0x97
+#define HidUsage_PID_DCDisableActuators                   0x98
+#define HidUsage_PID_DCStopAllEffects                     0x99
+#define HidUsage_PID_DCReset                              0x9a
+#define HidUsage_PID_DCPause                              0x9b
+#define HidUsage_PID_DCContinue                           0x9c
+#define HidUsage_PID_DevicePaused                         0x9f
+#define HidUsage_PID_ActuatorsEnabled                     0xa0
+#define HidUsage_PID_SafetySwitch                         0xa4
+#define HidUsage_PID_ActuatorOverrideSwitch               0xa5
+#define HidUsage_PID_ActuatorPower                        0xa6
+#define HidUsage_PID_StartDelay                           0xa7
+#define HidUsage_PID_ParameterBlockSize                   0xa8
+#define HidUsage_PID_DeviceManagedPool                    0xa9
+#define HidUsage_PID_SharedParameterBlocks                0xaa
+#define HidUsage_PID_CreateNewEffectParameterBlockReport  0xab
+#define HidUsage_PID_RAMPoolAvailable                     0xac
+#define HidUsage_SC_SocControl                            0x01
+#define HidUsage_SC_FirmwareTransfer                      0x02
+#define HidUsage_SC_FirmwareFileId                        0x03
+#define HidUsage_SC_FileOffsetInBytes                     0x04
+#define HidUsage_SC_FileTransferSizeMaxInBytes            0x05
+#define HidUsage_SC_FilePayload                           0x06
+#define HidUsage_SC_FilePayloadSizeInBytes                0x07
+#define HidUsage_SC_FilePayloadContainsLastBytes          0x08
+#define HidUsage_SC_FileTransferStop                      0x09
+#define HidUsage_SC_FileTransferTillEnd                   0x0a
+#define HidUsage_EHT_EyeTracker                           0x01
+#define HidUsage_EHT_HeadTracker                          0x02
+#define HidUsage_EHT_TrackingData                         0x10
+#define HidUsage_EHT_Capabilities                         0x11
+#define HidUsage_EHT_Configuration                        0x12
+#define HidUsage_EHT_Status                               0x13
+#define HidUsage_EHT_Control                              0x14
+#define HidUsage_EHT_SensorTimestamp                      0x20
+#define HidUsage_EHT_PositionX                            0x21
+#define HidUsage_EHT_PositionY                            0x22
+#define HidUsage_EHT_PositionZ                            0x23
+#define HidUsage_EHT_GazePoint                            0x24
+#define HidUsage_EHT_LeftEyePosition                      0x25
+#define HidUsage_EHT_RightEyePosition                     0x26
+#define HidUsage_EHT_HeadPosition                         0x27
+#define HidUsage_EHT_HeadDirectionPoint                   0x28
+#define HidUsage_EHT_RotationaboutXaxis                   0x29
+#define HidUsage_EHT_RotationaboutYaxis                   0x2a
+#define HidUsage_EHT_RotationaboutZaxis                   0x2b
+#define HidUsage_EHT_TrackerQuality                       0x100
+#define HidUsage_EHT_MinimumTrackingDistance              0x101
+#define HidUsage_EHT_OptimumTrackingDistance              0x102
+#define HidUsage_EHT_MaximumTrackingDistance              0x103
+#define HidUsage_EHT_MaximumScreenPlaneWidth              0x104
+#define HidUsage_EHT_MaximumScreenPlaneHeight             0x105
+#define HidUsage_EHT_DisplayManufacturerID                0x200
+#define HidUsage_EHT_DisplayProductID                     0x201
+#define HidUsage_EHT_DisplaySerialNumber                  0x202
+#define HidUsage_EHT_DisplayManufacturerDate              0x203
+#define HidUsage_EHT_CalibratedScreenWidth                0x204
+#define HidUsage_EHT_CalibratedScreenHeight               0x205
+#define HidUsage_EHT_SamplingFrequency                    0x300
+#define HidUsage_EHT_ConfigurationStatus                  0x301
+#define HidUsage_EHT_DeviceModeRequest                    0x400
+#define HidUsage_AD_AlphanumericDisplay                   0x01
+#define HidUsage_AD_AuxiliaryDisplay                      0x02
+#define HidUsage_AD_DisplayAttributesReport               0x20
+#define HidUsage_AD_ASCIICharacterSet                     0x21
+#define HidUsage_AD_DataReadBack                          0x22
+#define HidUsage_AD_FontReadBack                          0x23
+#define HidUsage_AD_DisplayControlReport                  0x24
+#define HidUsage_AD_ClearDisplay                          0x25
+#define HidUsage_AD_DisplayEnable                         0x26
+#define HidUsage_AD_ScreenSaverDelay                      0x27
+#define HidUsage_AD_ScreenSaverEnable                     0x28
+#define HidUsage_AD_VerticalScroll                        0x29
+#define HidUsage_AD_HorizontalScroll                      0x2a
+#define HidUsage_AD_CharacterReport                       0x2b
+#define HidUsage_AD_DisplayData                           0x2c
+#define HidUsage_AD_DisplayStatus                         0x2d
+#define HidUsage_AD_StatNotReady                          0x2e
+#define HidUsage_AD_StatReady                             0x2f
+#define HidUsage_AD_ErrNotaloadablecharacter              0x30
+#define HidUsage_AD_ErrFontdatacannotberead               0x31
+#define HidUsage_AD_CursorPositionReport                  0x32
+#define HidUsage_AD_Row                                   0x33
+#define HidUsage_AD_Column                                0x34
+#define HidUsage_AD_Rows                                  0x35
+#define HidUsage_AD_Columns                               0x36
+#define HidUsage_AD_CursorPixelPositioning                0x37
+#define HidUsage_AD_CursorMode                            0x38
+#define HidUsage_AD_CursorEnable                          0x39
+#define HidUsage_AD_CursorBlink                           0x3a
+#define HidUsage_AD_FontReport                            0x3b
+#define HidUsage_AD_FontData                              0x3c
+#define HidUsage_AD_CharacterWidth                        0x3d
+#define HidUsage_AD_CharacterHeight                       0x3e
+#define HidUsage_AD_CharacterSpacingHorizontal            0x3f
+#define HidUsage_AD_CharacterSpacingVertical              0x40
+#define HidUsage_AD_UnicodeCharacterSet                   0x41
+#define HidUsage_AD_Font7Segment                          0x42
+#define HidUsage_AD_SevenSegmentDirectMap                 0x43
+#define HidUsage_AD_Font14Segment                         0x44
+#define HidUsage_AD_One4SegmentDirectMap                  0x45
+#define HidUsage_AD_DisplayBrightness                     0x46
+#define HidUsage_AD_DisplayContrast                       0x47
+#define HidUsage_AD_CharacterAttribute                    0x48
+#define HidUsage_AD_AttributeReadback                     0x49
+#define HidUsage_AD_AttributeData                         0x4a
+#define HidUsage_AD_CharAttrEnhance                       0x4b
+#define HidUsage_AD_CharAttrUnderline                     0x4c
+#define HidUsage_AD_CharAttrBlink                         0x4d
+#define HidUsage_AD_BitmapSizeX                           0x80
+#define HidUsage_AD_BitmapSizeY                           0x81
+#define HidUsage_AD_MaxBlitSize                           0x82
+#define HidUsage_AD_BitDepthFormat                        0x83
+#define HidUsage_AD_DisplayOrientation                    0x84
+#define HidUsage_AD_PaletteReport                         0x85
+#define HidUsage_AD_PaletteDataSize                       0x86
+#define HidUsage_AD_PaletteDataOffset                     0x87
+#define HidUsage_AD_PaletteData                           0x88
+#define HidUsage_AD_BlitReport                            0x8a
+#define HidUsage_AD_BlitRectangleX1                       0x8b
+#define HidUsage_AD_BlitRectangleY1                       0x8c
+#define HidUsage_AD_BlitRectangleX2                       0x8d
+#define HidUsage_AD_BlitRectangleY2                       0x8e
+#define HidUsage_AD_BlitData                              0x8f
+#define HidUsage_AD_SoftButton                            0x90
+#define HidUsage_AD_SoftButtonID                          0x91
+#define HidUsage_AD_SoftButtonSide                        0x92
+#define HidUsage_AD_SoftButtonOffset1                     0x93
+#define HidUsage_AD_SoftButtonOffset2                     0x94
+#define HidUsage_AD_SoftButtonReport                      0x95
+#define HidUsage_AD_SoftKeys                              0xc2
+#define HidUsage_AD_DisplayDataExtensions                 0xcc
+#define HidUsage_AD_CharacterMapping                      0xcf
+#define HidUsage_AD_UnicodeEquivalent                     0xdd
+#define HidUsage_AD_CharacterPageMapping                  0xdf
+#define HidUsage_AD_RequestReport                         0xff
+#define HidUsage_Sen_Sensor                               0x01
+#define HidUsage_Sen_Biometric                            0x10
+#define HidUsage_Sen_BiometricHumanPresence               0x11
+#define HidUsage_Sen_BiometricHumanProximity              0x12
+#define HidUsage_Sen_BiometricHumanTouch                  0x13
+#define HidUsage_Sen_BiometricBloodPressure               0x14
+#define HidUsage_Sen_BiometricBodyTemperature             0x15
+#define HidUsage_Sen_BiometricHeartRate                   0x16
+#define HidUsage_Sen_BiometricHeartRateVariability        0x17
+#define HidUsage_Sen_BiometricPeripheralOxygenSaturation  0x18
+#define HidUsage_Sen_BiometricRespiratoryRate             0x19
+#define HidUsage_Sen_Electrical                           0x20
+#define HidUsage_Sen_ElectricalCapacitance                0x21
+#define HidUsage_Sen_ElectricalCurrent                    0x22
+#define HidUsage_Sen_ElectricalPower                      0x23
+#define HidUsage_Sen_ElectricalInductance                 0x24
+#define HidUsage_Sen_ElectricalResistance                 0x25
+#define HidUsage_Sen_ElectricalVoltage                    0x26
+#define HidUsage_Sen_ElectricalPotentiometer              0x27
+#define HidUsage_Sen_ElectricalFrequency                  0x28
+#define HidUsage_Sen_ElectricalPeriod                     0x29
+#define HidUsage_Sen_Environmental                        0x30
+#define HidUsage_Sen_EnvironmentalAtmosphericPressure     0x31
+#define HidUsage_Sen_EnvironmentalHumidity                0x32
+#define HidUsage_Sen_EnvironmentalTemperature             0x33
+#define HidUsage_Sen_EnvironmentalWindDirection           0x34
+#define HidUsage_Sen_EnvironmentalWindSpeed               0x35
+#define HidUsage_Sen_EnvironmentalAirQuality              0x36
+#define HidUsage_Sen_EnvironmentalHeatIndex               0x37
+#define HidUsage_Sen_EnvironmentalSurfaceTemperature      0x38
+#define HidUsage_Sen_EnvironmentalVolatileOrganicCompounds 0x39
+#define HidUsage_Sen_EnvironmentalObjectPresence          0x3a
+#define HidUsage_Sen_EnvironmentalObjectProximity         0x3b
+#define HidUsage_Sen_Light                                0x40
+#define HidUsage_Sen_LightAmbientLight                    0x41
+#define HidUsage_Sen_LightConsumerInfrared                0x42
+#define HidUsage_Sen_LightInfraredLight                   0x43
+#define HidUsage_Sen_LightVisibleLight                    0x44
+#define HidUsage_Sen_LightUltravioletLight                0x45
+#define HidUsage_Sen_Location                             0x50
+#define HidUsage_Sen_LocationBroadcast                    0x51
+#define HidUsage_Sen_LocationDeadReckoning                0x52
+#define HidUsage_Sen_LocationGPSGlobalPositioningSystem   0x53
+#define HidUsage_Sen_LocationLookup                       0x54
+#define HidUsage_Sen_LocationOther                        0x55
+#define HidUsage_Sen_LocationStatic                       0x56
+#define HidUsage_Sen_LocationTriangulation                0x57
+#define HidUsage_Sen_Mechanical                           0x60
+#define HidUsage_Sen_MechanicalBooleanSwitch              0x61
+#define HidUsage_Sen_MechanicalBooleanSwitchArray         0x62
+#define HidUsage_Sen_MechanicalMultivalueSwitch           0x63
+#define HidUsage_Sen_MechanicalForce                      0x64
+#define HidUsage_Sen_MechanicalPressure                   0x65
+#define HidUsage_Sen_MechanicalStrain                     0x66
+#define HidUsage_Sen_MechanicalWeight                     0x67
+#define HidUsage_Sen_MechanicalHapticVibrator             0x68
+#define HidUsage_Sen_MechanicalHallEffectSwitch           0x69
+#define HidUsage_Sen_Motion                               0x70
+#define HidUsage_Sen_MotionAccelerometer1D                0x71
+#define HidUsage_Sen_MotionAccelerometer2D                0x72
+#define HidUsage_Sen_MotionAccelerometer3D                0x73
+#define HidUsage_Sen_MotionGyrometer1D                    0x74
+#define HidUsage_Sen_MotionGyrometer2D                    0x75
+#define HidUsage_Sen_MotionGyrometer3D                    0x76
+#define HidUsage_Sen_MotionMotionDetector                 0x77
+#define HidUsage_Sen_MotionSpeedometer                    0x78
+#define HidUsage_Sen_MotionAccelerometer                  0x79
+#define HidUsage_Sen_MotionGyrometer                      0x7a
+#define HidUsage_Sen_MotionGravityVector                  0x7b
+#define HidUsage_Sen_MotionLinearAccelerometer            0x7c
+#define HidUsage_Sen_Orientation                          0x80
+#define HidUsage_Sen_OrientationCompass1D                 0x81
+#define HidUsage_Sen_OrientationCompass2D                 0x82
+#define HidUsage_Sen_OrientationCompass3D                 0x83
+#define HidUsage_Sen_OrientationInclinometer1D            0x84
+#define HidUsage_Sen_OrientationInclinometer2D            0x85
+#define HidUsage_Sen_OrientationInclinometer3D            0x86
+#define HidUsage_Sen_OrientationDistance1D                0x87
+#define HidUsage_Sen_OrientationDistance2D                0x88
+#define HidUsage_Sen_OrientationDistance3D                0x89
+#define HidUsage_Sen_OrientationDeviceOrientation         0x8a
+#define HidUsage_Sen_OrientationCompass                   0x8b
+#define HidUsage_Sen_OrientationInclinometer              0x8c
+#define HidUsage_Sen_OrientationDistance                  0x8d
+#define HidUsage_Sen_OrientationRelativeOrientation       0x8e
+#define HidUsage_Sen_OrientationSimpleOrientation         0x8f
+#define HidUsage_Sen_Scanner                              0x90
+#define HidUsage_Sen_ScannerBarcode                       0x91
+#define HidUsage_Sen_ScannerRFID                          0x92
+#define HidUsage_Sen_ScannerNFC                           0x93
+#define HidUsage_Sen_Time                                 0xa0
+#define HidUsage_Sen_TimeAlarmTimer                       0xa1
+#define HidUsage_Sen_TimeRealTimeClock                    0xa2
+#define HidUsage_Sen_PersonalActivity                     0xb0
+#define HidUsage_Sen_PersonalActivityActivityDetection    0xb1
+#define HidUsage_Sen_PersonalActivityDevicePosition       0xb2
+#define HidUsage_Sen_PersonalActivityFloorTracker         0xb3
+#define HidUsage_Sen_PersonalActivityPedometer            0xb4
+#define HidUsage_Sen_PersonalActivityStepDetection        0xb5
+#define HidUsage_Sen_OrientationExtended                  0xc0
+#define HidUsage_Sen_OrientationExtendedGeomagneticOrientation 0xc1
+#define HidUsage_Sen_OrientationExtendedMagnetometer      0xc2
+#define HidUsage_Sen_Gesture                              0xd0
+#define HidUsage_Sen_GestureChassisFlipGesture            0xd1
+#define HidUsage_Sen_GestureHingeFoldGesture              0xd2
+#define HidUsage_Sen_Other                                0xe0
+#define HidUsage_Sen_OtherCustom                          0xe1
+#define HidUsage_Sen_OtherGeneric                         0xe2
+#define HidUsage_Sen_OtherGenericEnumerator               0xe3
+#define HidUsage_Sen_OtherHingeAngle                      0xe4
+#define HidUsage_Sen_VendorReserved1                      0xf0
+#define HidUsage_Sen_VendorReserved2                      0xf1
+#define HidUsage_Sen_VendorReserved3                      0xf2
+#define HidUsage_Sen_VendorReserved4                      0xf3
+#define HidUsage_Sen_VendorReserved5                      0xf4
+#define HidUsage_Sen_VendorReserved6                      0xf5
+#define HidUsage_Sen_VendorReserved7                      0xf6
+#define HidUsage_Sen_VendorReserved8                      0xf7
+#define HidUsage_Sen_VendorReserved9                      0xf8
+#define HidUsage_Sen_VendorReserved10                     0xf9
+#define HidUsage_Sen_VendorReserved11                     0xfa
+#define HidUsage_Sen_VendorReserved12                     0xfb
+#define HidUsage_Sen_VendorReserved13                     0xfc
+#define HidUsage_Sen_VendorReserved14                     0xfd
+#define HidUsage_Sen_VendorReserved15                     0xfe
+#define HidUsage_Sen_VendorReserved16                     0xff
+#define HidUsage_Sen_Event                                0x200
+#define HidUsage_Sen_EventSensorState                     0x201
+#define HidUsage_Sen_EventSensorEvent                     0x202
+#define HidUsage_Sen_Property                             0x300
+#define HidUsage_Sen_PropertyFriendlyName                 0x301
+#define HidUsage_Sen_PropertyPersistentUniqueID           0x302
+#define HidUsage_Sen_PropertySensorStatus                 0x303
+#define HidUsage_Sen_PropertyMinimumReportInterval        0x304
+#define HidUsage_Sen_PropertySensorManufacturer           0x305
+#define HidUsage_Sen_PropertySensorModel                  0x306
+#define HidUsage_Sen_PropertySensorSerialNumber           0x307
+#define HidUsage_Sen_PropertySensorDescription            0x308
+#define HidUsage_Sen_PropertySensorConnectionType         0x309
+#define HidUsage_Sen_PropertySensorDevicePath             0x30a
+#define HidUsage_Sen_PropertyHardwareRevision             0x30b
+#define HidUsage_Sen_PropertyFirmwareVersion              0x30c
+#define HidUsage_Sen_PropertyReleaseDate                  0x30d
+#define HidUsage_Sen_PropertyReportInterval               0x30e
+#define HidUsage_Sen_PropertyChangeSensitivityAbsolute    0x30f
+#define HidUsage_Sen_PropertyChangeSensitivityPercentofRange 0x310
+#define HidUsage_Sen_PropertyChangeSensitivityPercentRelative 0x311
+#define HidUsage_Sen_PropertyAccuracy                     0x312
+#define HidUsage_Sen_PropertyResolution                   0x313
+#define HidUsage_Sen_PropertyMaximum                      0x314
+#define HidUsage_Sen_PropertyMinimum                      0x315
+#define HidUsage_Sen_PropertyReportingState               0x316
+#define HidUsage_Sen_PropertySamplingRate                 0x317
+#define HidUsage_Sen_PropertyResponseCurve                0x318
+#define HidUsage_Sen_PropertyPowerState                   0x319
+#define HidUsage_Sen_PropertyMaximumFIFOEvents            0x31a
+#define HidUsage_Sen_PropertyReportLatency                0x31b
+#define HidUsage_Sen_PropertyFlushFIFOEvents              0x31c
+#define HidUsage_Sen_PropertyMaximumPowerConsumption      0x31d
+#define HidUsage_Sen_PropertyIsPrimary                    0x31e
+#define HidUsage_Sen_PropertyHumanPresenceDetectionType   0x31f
+#define HidUsage_Sen_DataFieldLocation                    0x400
+#define HidUsage_Sen_DataFieldAltitudeAntennaSeaLevel     0x402
+#define HidUsage_Sen_DataFieldDifferentialReferenceStationID 0x403
+#define HidUsage_Sen_DataFieldAltitudeEllipsoidError      0x404
+#define HidUsage_Sen_DataFieldAltitudeEllipsoid           0x405
+#define HidUsage_Sen_DataFieldAltitudeSeaLevelError       0x406
+#define HidUsage_Sen_DataFieldAltitudeSeaLevel            0x407
+#define HidUsage_Sen_DataFieldDifferentialGPSDataAge      0x408
+#define HidUsage_Sen_DataFieldErrorRadius                 0x409
+#define HidUsage_Sen_DataFieldFixQuality                  0x40a
+#define HidUsage_Sen_DataFieldFixType                     0x40b
+#define HidUsage_Sen_DataFieldGeoidalSeparation           0x40c
+#define HidUsage_Sen_DataFieldGPSOperationMode            0x40d
+#define HidUsage_Sen_DataFieldGPSSelectionMode            0x40e
+#define HidUsage_Sen_DataFieldGPSStatus                   0x40f
+#define HidUsage_Sen_DataFieldPositionDilutionofPrecision 0x410
+#define HidUsage_Sen_DataFieldHorizontalDilutionofPrecision 0x411
+#define HidUsage_Sen_DataFieldVerticalDilutionofPrecision 0x412
+#define HidUsage_Sen_DataFieldLatitude                    0x413
+#define HidUsage_Sen_DataFieldLongitude                   0x414
+#define HidUsage_Sen_DataFieldTrueHeading                 0x415
+#define HidUsage_Sen_DataFieldMagneticHeading             0x416
+#define HidUsage_Sen_DataFieldMagneticVariation           0x417
+#define HidUsage_Sen_DataFieldSpeed                       0x418
+#define HidUsage_Sen_DataFieldSatellitesinView            0x419
+#define HidUsage_Sen_DataFieldSatellitesinViewAzimuth     0x41a
+#define HidUsage_Sen_DataFieldSatellitesinViewElevation   0x41b
+#define HidUsage_Sen_DataFieldSatellitesinViewIDs         0x41c
+#define HidUsage_Sen_DataFieldSatellitesinViewPRNs        0x41d
+#define HidUsage_Sen_DataFieldSatellitesinViewSNRatios    0x41e
+#define HidUsage_Sen_DataFieldSatellitesUsedCount         0x41f
+#define HidUsage_Sen_DataFieldSatellitesUsedPRNs          0x420
+#define HidUsage_Sen_DataFieldNMEASentence                0x421
+#define HidUsage_Sen_DataFieldAddressLine1                0x422
+#define HidUsage_Sen_DataFieldAddressLine2                0x423
+#define HidUsage_Sen_DataFieldCity                        0x424
+#define HidUsage_Sen_DataFieldStateorProvince             0x425
+#define HidUsage_Sen_DataFieldCountryorRegion             0x426
+#define HidUsage_Sen_DataFieldPostalCode                  0x427
+#define HidUsage_Sen_PropertyLocation                     0x42a
+#define HidUsage_Sen_PropertyLocationDesiredAccuracy      0x42b
+#define HidUsage_Sen_DataFieldEnvironmental               0x430
+#define HidUsage_Sen_DataFieldAtmosphericPressure         0x431
+#define HidUsage_Sen_DataFieldRelativeHumidity            0x433
+#define HidUsage_Sen_DataFieldTemperature                 0x434
+#define HidUsage_Sen_DataFieldWindDirection               0x435
+#define HidUsage_Sen_DataFieldWindSpeed                   0x436
+#define HidUsage_Sen_DataFieldAirQualityIndex             0x437
+#define HidUsage_Sen_DataFieldEquivalentCO2               0x438
+#define HidUsage_Sen_DataFieldVolatileOrganicCompoundConcentration 0x439
+#define HidUsage_Sen_DataFieldObjectPresence              0x43a
+#define HidUsage_Sen_DataFieldObjectProximityRange        0x43b
+#define HidUsage_Sen_DataFieldObjectProximityOutofRange   0x43c
+#define HidUsage_Sen_PropertyEnvironmental                0x440
+#define HidUsage_Sen_PropertyReferencePressure            0x441
+#define HidUsage_Sen_DataFieldMotion                      0x450
+#define HidUsage_Sen_DataFieldMotionState                 0x451
+#define HidUsage_Sen_DataFieldAcceleration                0x452
+#define HidUsage_Sen_DataFieldAccelerationAxisX           0x453
+#define HidUsage_Sen_DataFieldAccelerationAxisY           0x454
+#define HidUsage_Sen_DataFieldAccelerationAxisZ           0x455
+#define HidUsage_Sen_DataFieldAngularVelocity             0x456
+#define HidUsage_Sen_DataFieldAngularVelocityaboutXAxis   0x457
+#define HidUsage_Sen_DataFieldAngularVelocityaboutYAxis   0x458
+#define HidUsage_Sen_DataFieldAngularVelocityaboutZAxis   0x459
+#define HidUsage_Sen_DataFieldAngularPosition             0x45a
+#define HidUsage_Sen_DataFieldAngularPositionaboutXAxis   0x45b
+#define HidUsage_Sen_DataFieldAngularPositionaboutYAxis   0x45c
+#define HidUsage_Sen_DataFieldAngularPositionaboutZAxis   0x45d
+#define HidUsage_Sen_DataFieldMotionSpeed                 0x45e
+#define HidUsage_Sen_DataFieldMotionIntensity             0x45f
+#define HidUsage_Sen_DataFieldOrientation                 0x470
+#define HidUsage_Sen_DataFieldHeading                     0x471
+#define HidUsage_Sen_DataFieldHeadingXAxis                0x472
+#define HidUsage_Sen_DataFieldHeadingYAxis                0x473
+#define HidUsage_Sen_DataFieldHeadingZAxis                0x474
+#define HidUsage_Sen_DataFieldHeadingCompensatedMagneticNorth 0x475
+#define HidUsage_Sen_DataFieldHeadingCompensatedTrueNorth 0x476
+#define HidUsage_Sen_DataFieldHeadingMagneticNorth        0x477
+#define HidUsage_Sen_DataFieldHeadingTrueNorth            0x478
+#define HidUsage_Sen_DataFieldDistance                    0x479
+#define HidUsage_Sen_DataFieldDistanceXAxis               0x47a
+#define HidUsage_Sen_DataFieldDistanceYAxis               0x47b
+#define HidUsage_Sen_DataFieldDistanceZAxis               0x47c
+#define HidUsage_Sen_DataFieldDistanceOutofRange          0x47d
+#define HidUsage_Sen_DataFieldTilt                        0x47e
+#define HidUsage_Sen_DataFieldTiltXAxis                   0x47f
+#define HidUsage_Sen_DataFieldTiltYAxis                   0x480
+#define HidUsage_Sen_DataFieldTiltZAxis                   0x481
+#define HidUsage_Sen_DataFieldRotationMatrix              0x482
+#define HidUsage_Sen_DataFieldQuaternion                  0x483
+#define HidUsage_Sen_DataFieldMagneticFlux                0x484
+#define HidUsage_Sen_DataFieldMagneticFluxXAxis           0x485
+#define HidUsage_Sen_DataFieldMagneticFluxYAxis           0x486
+#define HidUsage_Sen_DataFieldMagneticFluxZAxis           0x487
+#define HidUsage_Sen_DataFieldMagnetometerAccuracy        0x488
+#define HidUsage_Sen_DataFieldSimpleOrientationDirection  0x489
+#define HidUsage_Sen_DataFieldMechanical                  0x490
+#define HidUsage_Sen_DataFieldBooleanSwitchState          0x491
+#define HidUsage_Sen_DataFieldBooleanSwitchArrayStates    0x492
+#define HidUsage_Sen_DataFieldMultivalueSwitchValue       0x493
+#define HidUsage_Sen_DataFieldForce                       0x494
+#define HidUsage_Sen_DataFieldAbsolutePressure            0x495
+#define HidUsage_Sen_DataFieldGaugePressure               0x496
+#define HidUsage_Sen_DataFieldStrain                      0x497
+#define HidUsage_Sen_DataFieldWeight                      0x498
+#define HidUsage_Sen_PropertyMechanical                   0x4a0
+#define HidUsage_Sen_PropertyVibrationState               0x4a1
+#define HidUsage_Sen_PropertyForwardVibrationSpeed        0x4a2
+#define HidUsage_Sen_PropertyBackwardVibrationSpeed       0x4a3
+#define HidUsage_Sen_DataFieldBiometric                   0x4b0
+#define HidUsage_Sen_DataFieldHumanPresence               0x4b1
+#define HidUsage_Sen_DataFieldHumanProximityRange         0x4b2
+#define HidUsage_Sen_DataFieldHumanProximityOutofRange    0x4b3
+#define HidUsage_Sen_DataFieldHumanTouchState             0x4b4
+#define HidUsage_Sen_DataFieldBloodPressure               0x4b5
+#define HidUsage_Sen_DataFieldBloodPressureDiastolic      0x4b6
+#define HidUsage_Sen_DataFieldBloodPressureSystolic       0x4b7
+#define HidUsage_Sen_DataFieldHeartRate                   0x4b8
+#define HidUsage_Sen_DataFieldRestingHeartRate            0x4b9
+#define HidUsage_Sen_DataFieldHeartbeatInterval           0x4ba
+#define HidUsage_Sen_DataFieldRespiratoryRate             0x4bb
+#define HidUsage_Sen_DataFieldSpO2                        0x4bc
+#define HidUsage_Sen_DataFieldHumanAttentionDetected      0x4bd
+#define HidUsage_Sen_DataFieldHumanHeadAzimuth            0x4be
+#define HidUsage_Sen_DataFieldHumanHeadAltitude           0x4bf
+#define HidUsage_Sen_DataFieldHumanHeadRoll               0x4c0
+#define HidUsage_Sen_DataFieldHumanHeadPitch              0x4c1
+#define HidUsage_Sen_DataFieldHumanHeadYaw                0x4c2
+#define HidUsage_Sen_DataFieldHumanCorrelationId          0x4c3
+#define HidUsage_Sen_DataFieldLight                       0x4d0
+#define HidUsage_Sen_DataFieldIlluminance                 0x4d1
+#define HidUsage_Sen_DataFieldColorTemperature            0x4d2
+#define HidUsage_Sen_DataFieldChromaticity                0x4d3
+#define HidUsage_Sen_DataFieldChromaticityX               0x4d4
+#define HidUsage_Sen_DataFieldChromaticityY               0x4d5
+#define HidUsage_Sen_DataFieldConsumerIRSentenceReceive   0x4d6
+#define HidUsage_Sen_DataFieldInfraredLight               0x4d7
+#define HidUsage_Sen_DataFieldRedLight                    0x4d8
+#define HidUsage_Sen_DataFieldGreenLight                  0x4d9
+#define HidUsage_Sen_DataFieldBlueLight                   0x4da
+#define HidUsage_Sen_DataFieldUltravioletALight           0x4db
+#define HidUsage_Sen_DataFieldUltravioletBLight           0x4dc
+#define HidUsage_Sen_DataFieldUltravioletIndex            0x4dd
+#define HidUsage_Sen_DataFieldNearInfraredLight           0x4de
+#define HidUsage_Sen_PropertyLight                        0x4df
+#define HidUsage_Sen_PropertyConsumerIRSentenceSend       0x4e0
+#define HidUsage_Sen_PropertyAutoBrightnessPreferred      0x4e2
+#define HidUsage_Sen_PropertyAutoColorPreferred           0x4e3
+#define HidUsage_Sen_DataFieldScanner                     0x4f0
+#define HidUsage_Sen_DataFieldRFIDTag40Bit                0x4f1
+#define HidUsage_Sen_DataFieldNFCSentenceReceive          0x4f2
+#define HidUsage_Sen_PropertyScanner                      0x4f8
+#define HidUsage_Sen_PropertyNFCSentenceSend              0x4f9
+#define HidUsage_Sen_DataFieldElectrical                  0x500
+#define HidUsage_Sen_DataFieldCapacitance                 0x501
+#define HidUsage_Sen_DataFieldCurrent                     0x502
+#define HidUsage_Sen_DataFieldElectricalPower             0x503
+#define HidUsage_Sen_DataFieldInductance                  0x504
+#define HidUsage_Sen_DataFieldResistance                  0x505
+#define HidUsage_Sen_DataFieldVoltage                     0x506
+#define HidUsage_Sen_DataFieldFrequency                   0x507
+#define HidUsage_Sen_DataFieldPeriod                      0x508
+#define HidUsage_Sen_DataFieldPercentofRange              0x509
+#define HidUsage_Sen_DataFieldTime                        0x520
+#define HidUsage_Sen_DataFieldYear                        0x521
+#define HidUsage_Sen_DataFieldMonth                       0x522
+#define HidUsage_Sen_DataFieldDay                         0x523
+#define HidUsage_Sen_DataFieldDayofWeek                   0x524
+#define HidUsage_Sen_DataFieldHour                        0x525
+#define HidUsage_Sen_DataFieldMinute                      0x526
+#define HidUsage_Sen_DataFieldSecond                      0x527
+#define HidUsage_Sen_DataFieldMillisecond                 0x528
+#define HidUsage_Sen_DataFieldTimestamp                   0x529
+#define HidUsage_Sen_DataFieldJulianDayofYear             0x52a
+#define HidUsage_Sen_DataFieldTimeSinceSystemBoot         0x52b
+#define HidUsage_Sen_PropertyTime                         0x530
+#define HidUsage_Sen_PropertyTimeZoneOffsetfromUTC        0x531
+#define HidUsage_Sen_PropertyTimeZoneName                 0x532
+#define HidUsage_Sen_PropertyDaylightSavingsTimeObserved  0x533
+#define HidUsage_Sen_PropertyTimeTrimAdjustment           0x534
+#define HidUsage_Sen_PropertyArmAlarm                     0x535
+#define HidUsage_Sen_DataFieldCustom                      0x540
+#define HidUsage_Sen_DataFieldCustomUsage                 0x541
+#define HidUsage_Sen_DataFieldCustomBooleanArray          0x542
+#define HidUsage_Sen_DataFieldCustomValue                 0x543
+#define HidUsage_Sen_DataFieldCustomValue1                0x544
+#define HidUsage_Sen_DataFieldCustomValue2                0x545
+#define HidUsage_Sen_DataFieldCustomValue3                0x546
+#define HidUsage_Sen_DataFieldCustomValue4                0x547
+#define HidUsage_Sen_DataFieldCustomValue5                0x548
+#define HidUsage_Sen_DataFieldCustomValue6                0x549
+#define HidUsage_Sen_DataFieldCustomValue7                0x54a
+#define HidUsage_Sen_DataFieldCustomValue8                0x54b
+#define HidUsage_Sen_DataFieldCustomValue9                0x54c
+#define HidUsage_Sen_DataFieldCustomValue10               0x54d
+#define HidUsage_Sen_DataFieldCustomValue11               0x54e
+#define HidUsage_Sen_DataFieldCustomValue12               0x54f
+#define HidUsage_Sen_DataFieldCustomValue13               0x550
+#define HidUsage_Sen_DataFieldCustomValue14               0x551
+#define HidUsage_Sen_DataFieldCustomValue15               0x552
+#define HidUsage_Sen_DataFieldCustomValue16               0x553
+#define HidUsage_Sen_DataFieldCustomValue17               0x554
+#define HidUsage_Sen_DataFieldCustomValue18               0x555
+#define HidUsage_Sen_DataFieldCustomValue19               0x556
+#define HidUsage_Sen_DataFieldCustomValue20               0x557
+#define HidUsage_Sen_DataFieldCustomValue21               0x558
+#define HidUsage_Sen_DataFieldCustomValue22               0x559
+#define HidUsage_Sen_DataFieldCustomValue23               0x55a
+#define HidUsage_Sen_DataFieldCustomValue24               0x55b
+#define HidUsage_Sen_DataFieldCustomValue25               0x55c
+#define HidUsage_Sen_DataFieldCustomValue26               0x55d
+#define HidUsage_Sen_DataFieldCustomValue27               0x55e
+#define HidUsage_Sen_DataFieldCustomValue28               0x55f
+#define HidUsage_Sen_DataFieldGeneric                     0x560
+#define HidUsage_Sen_DataFieldGenericGUIDorPROPERTYKEY    0x561
+#define HidUsage_Sen_DataFieldGenericCategoryGUID         0x562
+#define HidUsage_Sen_DataFieldGenericTypeGUID             0x563
+#define HidUsage_Sen_DataFieldGenericEventPROPERTYKEY     0x564
+#define HidUsage_Sen_DataFieldGenericPropertyPROPERTYKEY  0x565
+#define HidUsage_Sen_DataFieldGenericDataFieldPROPERTYKEY 0x566
+#define HidUsage_Sen_DataFieldGenericEvent                0x567
+#define HidUsage_Sen_DataFieldGenericProperty             0x568
+#define HidUsage_Sen_DataFieldGenericDataField            0x569
+#define HidUsage_Sen_DataFieldEnumeratorTableRowIndex     0x56a
+#define HidUsage_Sen_DataFieldEnumeratorTableRowCount     0x56b
+#define HidUsage_Sen_DataFieldGenericGUIDorPROPERTYKEYkind 0x56c
+#define HidUsage_Sen_DataFieldGenericGUID                 0x56d
+#define HidUsage_Sen_DataFieldGenericPROPERTYKEY          0x56e
+#define HidUsage_Sen_DataFieldGenericTopLevelCollectionID 0x56f
+#define HidUsage_Sen_DataFieldGenericReportID             0x570
+#define HidUsage_Sen_DataFieldGenericReportItemPositionIndex 0x571
+#define HidUsage_Sen_DataFieldGenericFirmwareVARTYPE      0x572
+#define HidUsage_Sen_DataFieldGenericUnitofMeasure        0x573
+#define HidUsage_Sen_DataFieldGenericUnitExponent         0x574
+#define HidUsage_Sen_DataFieldGenericReportSize           0x575
+#define HidUsage_Sen_DataFieldGenericReportCount          0x576
+#define HidUsage_Sen_PropertyGeneric                      0x580
+#define HidUsage_Sen_PropertyEnumeratorTableRowIndex      0x581
+#define HidUsage_Sen_PropertyEnumeratorTableRowCount      0x582
+#define HidUsage_Sen_DataFieldPersonalActivity            0x590
+#define HidUsage_Sen_DataFieldActivityType                0x591
+#define HidUsage_Sen_DataFieldActivityState               0x592
+#define HidUsage_Sen_DataFieldDevicePosition              0x593
+#define HidUsage_Sen_DataFieldStepCount                   0x594
+#define HidUsage_Sen_DataFieldStepCountReset              0x595
+#define HidUsage_Sen_DataFieldStepDuration                0x596
+#define HidUsage_Sen_DataFieldStepType                    0x597
+#define HidUsage_Sen_PropertyMinimumActivityDetectionInterval 0x5a0
+#define HidUsage_Sen_PropertySupportedActivityTypes       0x5a1
+#define HidUsage_Sen_PropertySubscribedActivityTypes      0x5a2
+#define HidUsage_Sen_PropertySupportedStepTypes           0x5a3
+#define HidUsage_Sen_PropertySubscribedStepTypes          0x5a4
+#define HidUsage_Sen_PropertyFloorHeight                  0x5a5
+#define HidUsage_Sen_DataFieldCustomTypeID                0x5b0
+#define HidUsage_Sen_PropertyCustom                       0x5c0
+#define HidUsage_Sen_PropertyCustomValue1                 0x5c1
+#define HidUsage_Sen_PropertyCustomValue2                 0x5c2
+#define HidUsage_Sen_PropertyCustomValue3                 0x5c3
+#define HidUsage_Sen_PropertyCustomValue4                 0x5c4
+#define HidUsage_Sen_PropertyCustomValue5                 0x5c5
+#define HidUsage_Sen_PropertyCustomValue6                 0x5c6
+#define HidUsage_Sen_PropertyCustomValue7                 0x5c7
+#define HidUsage_Sen_PropertyCustomValue8                 0x5c8
+#define HidUsage_Sen_PropertyCustomValue9                 0x5c9
+#define HidUsage_Sen_PropertyCustomValue10                0x5ca
+#define HidUsage_Sen_PropertyCustomValue11                0x5cb
+#define HidUsage_Sen_PropertyCustomValue12                0x5cc
+#define HidUsage_Sen_PropertyCustomValue13                0x5cd
+#define HidUsage_Sen_PropertyCustomValue14                0x5ce
+#define HidUsage_Sen_PropertyCustomValue15                0x5cf
+#define HidUsage_Sen_PropertyCustomValue16                0x5d0
+#define HidUsage_Sen_DataFieldHinge                       0x5e0
+#define HidUsage_Sen_DataFieldHingeAngle                  0x5e1
+#define HidUsage_Sen_DataFieldGestureSensor               0x5f0
+#define HidUsage_Sen_DataFieldGestureState                0x5f1
+#define HidUsage_Sen_DataFieldHingeFoldInitialAngle       0x5f2
+#define HidUsage_Sen_DataFieldHingeFoldFinalAngle         0x5f3
+#define HidUsage_Sen_DataFieldHingeFoldContributingPanel  0x5f4
+#define HidUsage_Sen_DataFieldHingeFoldType               0x5f5
+#define HidUsage_Sen_SensorStateUndefined                 0x800
+#define HidUsage_Sen_SensorStateReady                     0x801
+#define HidUsage_Sen_SensorStateNotAvailable              0x802
+#define HidUsage_Sen_SensorStateNoData                    0x803
+#define HidUsage_Sen_SensorStateInitializing              0x804
+#define HidUsage_Sen_SensorStateAccessDenied              0x805
+#define HidUsage_Sen_SensorStateError                     0x806
+#define HidUsage_Sen_SensorEventUnknown                   0x810
+#define HidUsage_Sen_SensorEventStateChanged              0x811
+#define HidUsage_Sen_SensorEventPropertyChanged           0x812
+#define HidUsage_Sen_SensorEventDataUpdated               0x813
+#define HidUsage_Sen_SensorEventPollResponse              0x814
+#define HidUsage_Sen_SensorEventChangeSensitivity         0x815
+#define HidUsage_Sen_SensorEventRangeMaximumReached       0x816
+#define HidUsage_Sen_SensorEventRangeMinimumReached       0x817
+#define HidUsage_Sen_SensorEventHighThresholdCrossUpward  0x818
+#define HidUsage_Sen_SensorEventHighThresholdCrossDownward 0x819
+#define HidUsage_Sen_SensorEventLowThresholdCrossUpward   0x81a
+#define HidUsage_Sen_SensorEventLowThresholdCrossDownward 0x81b
+#define HidUsage_Sen_SensorEventZeroThresholdCrossUpward  0x81c
+#define HidUsage_Sen_SensorEventZeroThresholdCrossDownward 0x81d
+#define HidUsage_Sen_SensorEventPeriodExceeded            0x81e
+#define HidUsage_Sen_SensorEventFrequencyExceeded         0x81f
+#define HidUsage_Sen_SensorEventComplexTrigger            0x820
+#define HidUsage_Sen_ConnectionTypePCIntegrated           0x830
+#define HidUsage_Sen_ConnectionTypePCAttached             0x831
+#define HidUsage_Sen_ConnectionTypePCExternal             0x832
+#define HidUsage_Sen_ReportingStateReportNoEvents         0x840
+#define HidUsage_Sen_ReportingStateReportAllEvents        0x841
+#define HidUsage_Sen_ReportingStateReportThresholdEvents  0x842
+#define HidUsage_Sen_ReportingStateWakeOnNoEvents         0x843
+#define HidUsage_Sen_ReportingStateWakeOnAllEvents        0x844
+#define HidUsage_Sen_ReportingStateWakeOnThresholdEvents  0x845
+#define HidUsage_Sen_ReportingStateAnytime                0x846
+#define HidUsage_Sen_PowerStateUndefined                  0x850
+#define HidUsage_Sen_PowerStateD0FullPower                0x851
+#define HidUsage_Sen_PowerStateD1LowPower                 0x852
+#define HidUsage_Sen_PowerStateD2StandbyPowerwithWakeup   0x853
+#define HidUsage_Sen_PowerStateD3SleepwithWakeup          0x854
+#define HidUsage_Sen_PowerStateD4PowerOff                 0x855
+#define HidUsage_Sen_AccuracyDefault                      0x860
+#define HidUsage_Sen_AccuracyHigh                         0x861
+#define HidUsage_Sen_AccuracyMedium                       0x862
+#define HidUsage_Sen_AccuracyLow                          0x863
+#define HidUsage_Sen_FixQualityNoFix                      0x870
+#define HidUsage_Sen_FixQualityGPS                        0x871
+#define HidUsage_Sen_FixQualityDGPS                       0x872
+#define HidUsage_Sen_FixTypeNoFix                         0x880
+#define HidUsage_Sen_FixTypeGPSSPSModeFixValid            0x881
+#define HidUsage_Sen_FixTypeDGPSSPSModeFixValid           0x882
+#define HidUsage_Sen_FixTypeGPSPPSModeFixValid            0x883
+#define HidUsage_Sen_FixTypeRealTimeKinematic             0x884
+#define HidUsage_Sen_FixTypeFloatRTK                      0x885
+#define HidUsage_Sen_FixTypeEstimateddeadreckoned         0x886
+#define HidUsage_Sen_FixTypeManualInputMode               0x887
+#define HidUsage_Sen_FixTypeSimulatorMode                 0x888
+#define HidUsage_Sen_GPSOperationModeManual               0x890
+#define HidUsage_Sen_GPSOperationModeAutomatic            0x891
+#define HidUsage_Sen_GPSSelectionModeAutonomous           0x8a0
+#define HidUsage_Sen_GPSSelectionModeDGPS                 0x8a1
+#define HidUsage_Sen_GPSSelectionModeEstimateddeadreckoned 0x8a2
+#define HidUsage_Sen_GPSSelectionModeManualInput          0x8a3
+#define HidUsage_Sen_GPSSelectionModeSimulator            0x8a4
+#define HidUsage_Sen_GPSSelectionModeDataNotValid         0x8a5
+#define HidUsage_Sen_GPSStatusDataValid                   0x8b0
+#define HidUsage_Sen_GPSStatusDataNotValid                0x8b1
+#define HidUsage_Sen_DayofWeekSunday                      0x8c0
+#define HidUsage_Sen_DayofWeekMonday                      0x8c1
+#define HidUsage_Sen_DayofWeekTuesday                     0x8c2
+#define HidUsage_Sen_DayofWeekWednesday                   0x8c3
+#define HidUsage_Sen_DayofWeekThursday                    0x8c4
+#define HidUsage_Sen_DayofWeekFriday                      0x8c5
+#define HidUsage_Sen_DayofWeekSaturday                    0x8c6
+#define HidUsage_Sen_KindCategory                         0x8d0
+#define HidUsage_Sen_KindType                             0x8d1
+#define HidUsage_Sen_KindEvent                            0x8d2
+#define HidUsage_Sen_KindProperty                         0x8d3
+#define HidUsage_Sen_KindDataField                        0x8d4
+#define HidUsage_Sen_MagnetometerAccuracyLow              0x8e0
+#define HidUsage_Sen_MagnetometerAccuracyMedium           0x8e1
+#define HidUsage_Sen_MagnetometerAccuracyHigh             0x8e2
+#define HidUsage_Sen_SimpleOrientationDirectionNotRotated 0x8f0
+#define HidUsage_Sen_SimpleOrientationDirectionRotated90DegreesCCW 0x8f1
+#define HidUsage_Sen_SimpleOrientationDirectionRotated180DegreesCCW 0x8f2
+#define HidUsage_Sen_SimpleOrientationDirectionRotated270DegreesCCW 0x8f3
+#define HidUsage_Sen_SimpleOrientationDirectionFaceUp     0x8f4
+#define HidUsage_Sen_SimpleOrientationDirectionFaceDown   0x8f5
+#define HidUsage_Sen_VT_NULL                              0x900
+#define HidUsage_Sen_VT_BOOL                              0x901
+#define HidUsage_Sen_VT_UI1                               0x902
+#define HidUsage_Sen_VT_I1                                0x903
+#define HidUsage_Sen_VT_UI2                               0x904
+#define HidUsage_Sen_VT_I2                                0x905
+#define HidUsage_Sen_VT_UI4                               0x906
+#define HidUsage_Sen_VT_I4                                0x907
+#define HidUsage_Sen_VT_UI8                               0x908
+#define HidUsage_Sen_VT_I8                                0x909
+#define HidUsage_Sen_VT_R4                                0x90a
+#define HidUsage_Sen_VT_R8                                0x90b
+#define HidUsage_Sen_VT_WSTR                              0x90c
+#define HidUsage_Sen_VT_STR                               0x90d
+#define HidUsage_Sen_VT_CLSID                             0x90e
+#define HidUsage_Sen_VT_VECTORVT_UI1                      0x90f
+#define HidUsage_Sen_VT_F16E0                             0x910
+#define HidUsage_Sen_VT_F16E1                             0x911
+#define HidUsage_Sen_VT_F16E2                             0x912
+#define HidUsage_Sen_VT_F16E3                             0x913
+#define HidUsage_Sen_VT_F16E4                             0x914
+#define HidUsage_Sen_VT_F16E5                             0x915
+#define HidUsage_Sen_VT_F16E6                             0x916
+#define HidUsage_Sen_VT_F16E7                             0x917
+#define HidUsage_Sen_VT_F16E8                             0x918
+#define HidUsage_Sen_VT_F16E9                             0x919
+#define HidUsage_Sen_VT_F16EA                             0x91a
+#define HidUsage_Sen_VT_F16EB                             0x91b
+#define HidUsage_Sen_VT_F16EC                             0x91c
+#define HidUsage_Sen_VT_F16ED                             0x91d
+#define HidUsage_Sen_VT_F16EE                             0x91e
+#define HidUsage_Sen_VT_F16EF                             0x91f
+#define HidUsage_Sen_VT_F32E0                             0x920
+#define HidUsage_Sen_VT_F32E1                             0x921
+#define HidUsage_Sen_VT_F32E2                             0x922
+#define HidUsage_Sen_VT_F32E3                             0x923
+#define HidUsage_Sen_VT_F32E4                             0x924
+#define HidUsage_Sen_VT_F32E5                             0x925
+#define HidUsage_Sen_VT_F32E6                             0x926
+#define HidUsage_Sen_VT_F32E7                             0x927
+#define HidUsage_Sen_VT_F32E8                             0x928
+#define HidUsage_Sen_VT_F32E9                             0x929
+#define HidUsage_Sen_VT_F32EA                             0x92a
+#define HidUsage_Sen_VT_F32EB                             0x92b
+#define HidUsage_Sen_VT_F32EC                             0x92c
+#define HidUsage_Sen_VT_F32ED                             0x92d
+#define HidUsage_Sen_VT_F32EE                             0x92e
+#define HidUsage_Sen_VT_F32EF                             0x92f
+#define HidUsage_Sen_ActivityTypeUnknown                  0x930
+#define HidUsage_Sen_ActivityTypeStationary               0x931
+#define HidUsage_Sen_ActivityTypeFidgeting                0x932
+#define HidUsage_Sen_ActivityTypeWalking                  0x933
+#define HidUsage_Sen_ActivityTypeRunning                  0x934
+#define HidUsage_Sen_ActivityTypeInVehicle                0x935
+#define HidUsage_Sen_ActivityTypeBiking                   0x936
+#define HidUsage_Sen_ActivityTypeIdle                     0x937
+#define HidUsage_Sen_UnitNotSpecified                     0x940
+#define HidUsage_Sen_UnitLux                              0x941
+#define HidUsage_Sen_UnitDegreesKelvin                    0x942
+#define HidUsage_Sen_UnitDegreesCelsius                   0x943
+#define HidUsage_Sen_UnitPascal                           0x944
+#define HidUsage_Sen_UnitNewton                           0x945
+#define HidUsage_Sen_UnitMetersSecond                     0x946
+#define HidUsage_Sen_UnitKilogram                         0x947
+#define HidUsage_Sen_UnitMeter                            0x948
+#define HidUsage_Sen_UnitMetersSecondSecond               0x949
+#define HidUsage_Sen_UnitFarad                            0x94a
+#define HidUsage_Sen_UnitAmpere                           0x94b
+#define HidUsage_Sen_UnitWatt                             0x94c
+#define HidUsage_Sen_UnitHenry                            0x94d
+#define HidUsage_Sen_UnitOhm                              0x94e
+#define HidUsage_Sen_UnitVolt                             0x94f
+#define HidUsage_Sen_UnitHertz                            0x950
+#define HidUsage_Sen_UnitBar                              0x951
+#define HidUsage_Sen_UnitDegreesAnticlockwise             0x952
+#define HidUsage_Sen_UnitDegreesClockwise                 0x953
+#define HidUsage_Sen_UnitDegrees                          0x954
+#define HidUsage_Sen_UnitDegreesSecond                    0x955
+#define HidUsage_Sen_UnitDegreesSecondSecond              0x956
+#define HidUsage_Sen_UnitKnot                             0x957
+#define HidUsage_Sen_UnitPercent                          0x958
+#define HidUsage_Sen_UnitSecond                           0x959
+#define HidUsage_Sen_UnitMillisecond                      0x95a
+#define HidUsage_Sen_UnitG                                0x95b
+#define HidUsage_Sen_UnitBytes                            0x95c
+#define HidUsage_Sen_UnitMilligauss                       0x95d
+#define HidUsage_Sen_UnitBits                             0x95e
+#define HidUsage_Sen_ActivityStateNoStateChange           0x960
+#define HidUsage_Sen_ActivityStateStartActivity           0x961
+#define HidUsage_Sen_ActivityStateEndActivity             0x962
+#define HidUsage_Sen_Exponent0                            0x970
+#define HidUsage_Sen_Exponent1                            0x971
+#define HidUsage_Sen_Exponent2                            0x972
+#define HidUsage_Sen_Exponent3                            0x973
+#define HidUsage_Sen_Exponent4                            0x974
+#define HidUsage_Sen_Exponent5                            0x975
+#define HidUsage_Sen_Exponent6                            0x976
+#define HidUsage_Sen_Exponent7                            0x977
+#define HidUsage_Sen_Exponent8                            0x978
+#define HidUsage_Sen_Exponent9                            0x979
+#define HidUsage_Sen_ExponentA                            0x97a
+#define HidUsage_Sen_ExponentB                            0x97b
+#define HidUsage_Sen_ExponentC                            0x97c
+#define HidUsage_Sen_ExponentD                            0x97d
+#define HidUsage_Sen_ExponentE                            0x97e
+#define HidUsage_Sen_ExponentF                            0x97f
+#define HidUsage_Sen_DevicePositionUnknown                0x980
+#define HidUsage_Sen_DevicePositionUnchanged              0x981
+#define HidUsage_Sen_DevicePositionOnDesk                 0x982
+#define HidUsage_Sen_DevicePositionInHand                 0x983
+#define HidUsage_Sen_DevicePositionMovinginBag            0x984
+#define HidUsage_Sen_DevicePositionStationaryinBag        0x985
+#define HidUsage_Sen_StepTypeUnknown                      0x990
+#define HidUsage_Sen_StepTypeWalking                      0x991
+#define HidUsage_Sen_StepTypeRunning                      0x992
+#define HidUsage_Sen_GestureStateUnknown                  0x9a0
+#define HidUsage_Sen_GestureStateStarted                  0x9a1
+#define HidUsage_Sen_GestureStateCompleted                0x9a2
+#define HidUsage_Sen_GestureStateCancelled                0x9a3
+#define HidUsage_Sen_HingeFoldContributingPanelUnknown    0x9b0
+#define HidUsage_Sen_HingeFoldContributingPanelPanel1     0x9b1
+#define HidUsage_Sen_HingeFoldContributingPanelPanel2     0x9b2
+#define HidUsage_Sen_HingeFoldContributingPanelBoth       0x9b3
+#define HidUsage_Sen_HingeFoldTypeUnknown                 0x9b4
+#define HidUsage_Sen_HingeFoldTypeIncreasing              0x9b5
+#define HidUsage_Sen_HingeFoldTypeDecreasing              0x9b6
+#define HidUsage_Sen_HumanPresenceDetectionTypeVendorDefinedNonBiometric 0x9c0
+#define HidUsage_Sen_HumanPresenceDetectionTypeVendorDefinedBiometric 0x9c1
+#define HidUsage_Sen_HumanPresenceDetectionTypeFacialBiometric 0x9c2
+#define HidUsage_Sen_HumanPresenceDetectionTypeAudioBiometric 0x9c3
+#define HidUsage_Sen_ModifierChangeSensitivityAbsolute    0x1000
+#define HidUsage_Sen_ModifierMaximum                      0x2000
+#define HidUsage_Sen_ModifierMinimum                      0x3000
+#define HidUsage_Sen_ModifierAccuracy                     0x4000
+#define HidUsage_Sen_ModifierResolution                   0x5000
+#define HidUsage_Sen_ModifierThresholdHigh                0x6000
+#define HidUsage_Sen_ModifierThresholdLow                 0x7000
+#define HidUsage_Sen_ModifierCalibrationOffset            0x8000
+#define HidUsage_Sen_ModifierCalibrationMultiplier        0x9000
+#define HidUsage_Sen_ModifierReportInterval               0xa000
+#define HidUsage_Sen_ModifierFrequencyMax                 0xb000
+#define HidUsage_Sen_ModifierPeriodMax                    0xc000
+#define HidUsage_Sen_ModifierChangeSensitivityPercentofRange 0xd000
+#define HidUsage_Sen_ModifierChangeSensitivityPercentRelative 0xe000
+#define HidUsage_Sen_ModifierVendorReserved               0xf000
+#define HidUsage_MI_MedicalUltrasound                     0x01
+#define HidUsage_MI_VCRAcquisition                        0x20
+#define HidUsage_MI_FreezeThaw                            0x21
+#define HidUsage_MI_ClipStore                             0x22
+#define HidUsage_MI_Update                                0x23
+#define HidUsage_MI_Next                                  0x24
+#define HidUsage_MI_Save                                  0x25
+#define HidUsage_MI_Print                                 0x26
+#define HidUsage_MI_MicrophoneEnable                      0x27
+#define HidUsage_MI_Cine                                  0x40
+#define HidUsage_MI_TransmitPower                         0x41
+#define HidUsage_MI_Volume                                0x42
+#define HidUsage_MI_Focus                                 0x43
+#define HidUsage_MI_Depth                                 0x44
+#define HidUsage_MI_SoftStepPrimary                       0x60
+#define HidUsage_MI_SoftStepSecondary                     0x61
+#define HidUsage_MI_DepthGainCompensation                 0x70
+#define HidUsage_MI_ZoomSelect                            0x80
+#define HidUsage_MI_ZoomAdjust                            0x81
+#define HidUsage_MI_SpectralDopplerModeSelect             0x82
+#define HidUsage_MI_SpectralDopplerAdjust                 0x83
+#define HidUsage_MI_ColorDopplerModeSelect                0x84
+#define HidUsage_MI_ColorDopplerAdjust                    0x85
+#define HidUsage_MI_MotionModeSelect                      0x86
+#define HidUsage_MI_MotionModeAdjust                      0x87
+#define HidUsage_MI_TwoDModeSelect                        0x88
+#define HidUsage_MI_TwoDModeAdjust                        0x89
+#define HidUsage_MI_SoftControlSelect                     0xa0
+#define HidUsage_MI_SoftControlAdjust                     0xa1
+#define HidUsage_BD_BrailleDisplay                        0x01
+#define HidUsage_BD_BrailleRow                            0x02
+#define HidUsage_BD_EightDotBrailleCell                   0x03
+#define HidUsage_BD_SixDotBrailleCell                     0x04
+#define HidUsage_BD_NumberofBrailleCells                  0x05
+#define HidUsage_BD_ScreenReaderControl                   0x06
+#define HidUsage_BD_ScreenReaderIdentifier                0x07
+#define HidUsage_BD_RouterSet1                            0xfa
+#define HidUsage_BD_RouterSet2                            0xfb
+#define HidUsage_BD_RouterSet3                            0xfc
+#define HidUsage_BD_RouterKey                             0x100
+#define HidUsage_BD_RowRouterKey                          0x101
+#define HidUsage_BD_BrailleButtons                        0x200
+#define HidUsage_BD_BrailleKeyboardDot1                   0x201
+#define HidUsage_BD_BrailleKeyboardDot2                   0x202
+#define HidUsage_BD_BrailleKeyboardDot3                   0x203
+#define HidUsage_BD_BrailleKeyboardDot4                   0x204
+#define HidUsage_BD_BrailleKeyboardDot5                   0x205
+#define HidUsage_BD_BrailleKeyboardDot6                   0x206
+#define HidUsage_BD_BrailleKeyboardDot7                   0x207
+#define HidUsage_BD_BrailleKeyboardDot8                   0x208
+#define HidUsage_BD_BrailleKeyboardSpace                  0x209
+#define HidUsage_BD_BrailleKeyboardLeftSpace              0x20a
+#define HidUsage_BD_BrailleKeyboardRightSpace             0x20b
+#define HidUsage_BD_BrailleFaceControls                   0x20c
+#define HidUsage_BD_BrailleLeftControls                   0x20d
+#define HidUsage_BD_BrailleRightControls                  0x20e
+#define HidUsage_BD_BrailleTopControls                    0x20f
+#define HidUsage_BD_BrailleJoystickCenter                 0x210
+#define HidUsage_BD_BrailleJoystickUp                     0x211
+#define HidUsage_BD_BrailleJoystickDown                   0x212
+#define HidUsage_BD_BrailleJoystickLeft                   0x213
+#define HidUsage_BD_BrailleJoystickRight                  0x214
+#define HidUsage_BD_BrailleDPadCenter                     0x215
+#define HidUsage_BD_BrailleDPadUp                         0x216
+#define HidUsage_BD_BrailleDPadDown                       0x217
+#define HidUsage_BD_BrailleDPadLeft                       0x218
+#define HidUsage_BD_BrailleDPadRight                      0x219
+#define HidUsage_BD_BraillePanLeft                        0x21a
+#define HidUsage_BD_BraillePanRight                       0x21b
+#define HidUsage_BD_BrailleRockerUp                       0x21c
+#define HidUsage_BD_BrailleRockerDown                     0x21d
+#define HidUsage_BD_BrailleRockerPress                    0x21e
+#define HidUsage_LAI_LampArray                            0x01
+#define HidUsage_LAI_LampArrayAttributesReport            0x02
+#define HidUsage_LAI_LampCount                            0x03
+#define HidUsage_LAI_BoundingBoxWidthInMicrometers        0x04
+#define HidUsage_LAI_BoundingBoxHeightInMicrometers       0x05
+#define HidUsage_LAI_BoundingBoxDepthInMicrometers        0x06
+#define HidUsage_LAI_LampArrayKind                        0x07
+#define HidUsage_LAI_MinUpdateIntervalInMicroseconds      0x08
+#define HidUsage_LAI_LampAttributesRequestReport          0x20
+#define HidUsage_LAI_LampId                               0x21
+#define HidUsage_LAI_LampAttributesResponseReport         0x22
+#define HidUsage_LAI_PositionXInMicrometers               0x23
+#define HidUsage_LAI_PositionYInMicrometers               0x24
+#define HidUsage_LAI_PositionZInMicrometers               0x25
+#define HidUsage_LAI_LampPurposes                         0x26
+#define HidUsage_LAI_UpdateLatencyInMicroseconds          0x27
+#define HidUsage_LAI_RedLevelCount                        0x28
+#define HidUsage_LAI_GreenLevelCount                      0x29
+#define HidUsage_LAI_BlueLevelCount                       0x2a
+#define HidUsage_LAI_IntensityLevelCount                  0x2b
+#define HidUsage_LAI_IsProgrammable                       0x2c
+#define HidUsage_LAI_InputBinding                         0x2d
+#define HidUsage_LAI_LampMultiUpdateReport                0x50
+#define HidUsage_LAI_RedUpdateChannel                     0x51
+#define HidUsage_LAI_GreenUpdateChannel                   0x52
+#define HidUsage_LAI_BlueUpdateChannel                    0x53
+#define HidUsage_LAI_IntensityUpdateChannel               0x54
+#define HidUsage_LAI_LampUpdateFlags                      0x55
+#define HidUsage_LAI_LampRangeUpdateReport                0x60
+#define HidUsage_LAI_LampIdStart                          0x61
+#define HidUsage_LAI_LampIdEnd                            0x62
+#define HidUsage_LAI_LampArrayControlReport               0x70
+#define HidUsage_LAI_AutonomousMode                       0x71
+#define HidUsage_Mon_MonitorControl                       0x01
+#define HidUsage_Mon_EDIDInformation                      0x02
+#define HidUsage_Mon_VDIFInformation                      0x03
+#define HidUsage_Mon_VESAVersion                          0x04
+#define HidUsage_VESAVC_Degauss                           0x01
+#define HidUsage_VESAVC_Brightness                        0x10
+#define HidUsage_VESAVC_Contrast                          0x12
+#define HidUsage_VESAVC_RedVideoGain                      0x16
+#define HidUsage_VESAVC_GreenVideoGain                    0x18
+#define HidUsage_VESAVC_BlueVideoGain                     0x1a
+#define HidUsage_VESAVC_Focus                             0x1c
+#define HidUsage_VESAVC_HorizontalPosition                0x20
+#define HidUsage_VESAVC_HorizontalSize                    0x22
+#define HidUsage_VESAVC_HorizontalPincushion              0x24
+#define HidUsage_VESAVC_HorizontalPincushionBalance       0x26
+#define HidUsage_VESAVC_HorizontalMisconvergence          0x28
+#define HidUsage_VESAVC_HorizontalLinearity               0x2a
+#define HidUsage_VESAVC_HorizontalLinearityBalance        0x2c
+#define HidUsage_VESAVC_VerticalPosition                  0x30
+#define HidUsage_VESAVC_VerticalSize                      0x32
+#define HidUsage_VESAVC_VerticalPincushion                0x34
+#define HidUsage_VESAVC_VerticalPincushionBalance         0x36
+#define HidUsage_VESAVC_VerticalMisconvergence            0x38
+#define HidUsage_VESAVC_VerticalLinearity                 0x3a
+#define HidUsage_VESAVC_VerticalLinearityBalance          0x3c
+#define HidUsage_VESAVC_ParallelogramDistortionKeyBalance 0x40
+#define HidUsage_VESAVC_TrapezoidalDistortionKey          0x42
+#define HidUsage_VESAVC_TiltRotation                      0x44
+#define HidUsage_VESAVC_TopCornerDistortionControl        0x46
+#define HidUsage_VESAVC_TopCornerDistortionBalance        0x48
+#define HidUsage_VESAVC_BottomCornerDistortionControl     0x4a
+#define HidUsage_VESAVC_BottomCornerDistortionBalance     0x4c
+#define HidUsage_VESAVC_HorizontalMoiré                   0x56
+#define HidUsage_VESAVC_VerticalMoiré                     0x58
+#define HidUsage_VESAVC_InputLevelSelect                  0x5e
+#define HidUsage_VESAVC_InputSourceSelect                 0x60
+#define HidUsage_VESAVC_RedVideoBlackLevel                0x6c
+#define HidUsage_VESAVC_GreenVideoBlackLevel              0x6e
+#define HidUsage_VESAVC_BlueVideoBlackLevel               0x70
+#define HidUsage_VESAVC_AutoSizeCenter                    0xa2
+#define HidUsage_VESAVC_PolarityHorizontalSynchronization 0xa4
+#define HidUsage_VESAVC_PolarityVerticalSynchronization   0xa6
+#define HidUsage_VESAVC_SynchronizationType               0xa8
+#define HidUsage_VESAVC_ScreenOrientation                 0xaa
+#define HidUsage_VESAVC_HorizontalFrequency               0xac
+#define HidUsage_VESAVC_VerticalFrequency                 0xae
+#define HidUsage_VESAVC_Settings                          0xb0
+#define HidUsage_VESAVC_OnScreenDisplay                   0xca
+#define HidUsage_VESAVC_StereoMode                        0xd4
+#define HidUsage_Pow_iName                                0x01
+#define HidUsage_Pow_PresentStatus                        0x02
+#define HidUsage_Pow_ChangedStatus                        0x03
+#define HidUsage_Pow_UPS                                  0x04
+#define HidUsage_Pow_PowerSupply                          0x05
+#define HidUsage_Pow_BatterySystem                        0x10
+#define HidUsage_Pow_BatterySystemId                      0x11
+#define HidUsage_Pow_Battery                              0x12
+#define HidUsage_Pow_BatteryId                            0x13
+#define HidUsage_Pow_Charger                              0x14
+#define HidUsage_Pow_ChargerId                            0x15
+#define HidUsage_Pow_PowerConverter                       0x16
+#define HidUsage_Pow_PowerConverterId                     0x17
+#define HidUsage_Pow_OutletSystem                         0x18
+#define HidUsage_Pow_OutletSystemId                       0x19
+#define HidUsage_Pow_Input                                0x1a
+#define HidUsage_Pow_InputId                              0x1b
+#define HidUsage_Pow_Output                               0x1c
+#define HidUsage_Pow_OutputId                             0x1d
+#define HidUsage_Pow_Flow                                 0x1e
+#define HidUsage_Pow_FlowId                               0x1f
+#define HidUsage_Pow_Outlet                               0x20
+#define HidUsage_Pow_OutletId                             0x21
+#define HidUsage_Pow_Gang                                 0x22
+#define HidUsage_Pow_GangId                               0x23
+#define HidUsage_Pow_PowerSummary                         0x24
+#define HidUsage_Pow_PowerSummaryId                       0x25
+#define HidUsage_Pow_Voltage                              0x30
+#define HidUsage_Pow_Current                              0x31
+#define HidUsage_Pow_Frequency                            0x32
+#define HidUsage_Pow_ApparentPower                        0x33
+#define HidUsage_Pow_ActivePower                          0x34
+#define HidUsage_Pow_PercentLoad                          0x35
+#define HidUsage_Pow_Temperature                          0x36
+#define HidUsage_Pow_Humidity                             0x37
+#define HidUsage_Pow_BadCount                             0x38
+#define HidUsage_Pow_ConfigVoltage                        0x40
+#define HidUsage_Pow_ConfigCurrent                        0x41
+#define HidUsage_Pow_ConfigFrequency                      0x42
+#define HidUsage_Pow_ConfigApparentPower                  0x43
+#define HidUsage_Pow_ConfigActivePower                    0x44
+#define HidUsage_Pow_ConfigPercentLoad                    0x45
+#define HidUsage_Pow_ConfigTemperature                    0x46
+#define HidUsage_Pow_ConfigHumidity                       0x47
+#define HidUsage_Pow_SwitchOnControl                      0x50
+#define HidUsage_Pow_SwitchOffControl                     0x51
+#define HidUsage_Pow_ToggleControl                        0x52
+#define HidUsage_Pow_LowVoltageTransfer                   0x53
+#define HidUsage_Pow_HighVoltageTransfer                  0x54
+#define HidUsage_Pow_DelayBeforeReboot                    0x55
+#define HidUsage_Pow_DelayBeforeStartup                   0x56
+#define HidUsage_Pow_DelayBeforeShutdown                  0x57
+#define HidUsage_Pow_Test                                 0x58
+#define HidUsage_Pow_ModuleReset                          0x59
+#define HidUsage_Pow_AudibleAlarmControl                  0x5a
+#define HidUsage_Pow_Present                              0x60
+#define HidUsage_Pow_Good                                 0x61
+#define HidUsage_Pow_InternalFailure                      0x62
+#define HidUsage_Pow_VoltagOutOfRange                     0x63
+#define HidUsage_Pow_FrequencyOutOfRange                  0x64
+#define HidUsage_Pow_Overload                             0x65
+#define HidUsage_Pow_OverCharged                          0x66
+#define HidUsage_Pow_OverTemperature                      0x67
+#define HidUsage_Pow_ShutdownRequested                    0x68
+#define HidUsage_Pow_ShutdownImminent                     0x69
+#define HidUsage_Pow_SwitchOnOff                          0x6b
+#define HidUsage_Pow_Switchable                           0x6c
+#define HidUsage_Pow_Used                                 0x6d
+#define HidUsage_Pow_Boost                                0x6e
+#define HidUsage_Pow_Buck                                 0x6f
+#define HidUsage_Pow_Initialized                          0x70
+#define HidUsage_Pow_Tested                               0x71
+#define HidUsage_Pow_AwaitingPower                        0x72
+#define HidUsage_Pow_CommunicationLost                    0x73
+#define HidUsage_Pow_iManufacturer                        0xfd
+#define HidUsage_Pow_iProduct                             0xfe
+#define HidUsage_Pow_iSerialNumber                        0xff
+#define HidUsage_BS_SmartBatteryBatteryMode               0x01
+#define HidUsage_BS_SmartBatteryBatteryStatus             0x02
+#define HidUsage_BS_SmartBatteryAlarmWarning              0x03
+#define HidUsage_BS_SmartBatteryChargerMode               0x04
+#define HidUsage_BS_SmartBatteryChargerStatus             0x05
+#define HidUsage_BS_SmartBatteryChargerSpecInfo           0x06
+#define HidUsage_BS_SmartBatterySelectorState             0x07
+#define HidUsage_BS_SmartBatterySelectorPresets           0x08
+#define HidUsage_BS_SmartBatterySelectorInfo              0x09
+#define HidUsage_BS_OptionalMfgFunction1                  0x10
+#define HidUsage_BS_OptionalMfgFunction2                  0x11
+#define HidUsage_BS_OptionalMfgFunction3                  0x12
+#define HidUsage_BS_OptionalMfgFunction4                  0x13
+#define HidUsage_BS_OptionalMfgFunction5                  0x14
+#define HidUsage_BS_ConnectionToSMBus                     0x15
+#define HidUsage_BS_OutputConnection                      0x16
+#define HidUsage_BS_ChargerConnection                     0x17
+#define HidUsage_BS_BatteryInsertion                      0x18
+#define HidUsage_BS_UseNext                               0x19
+#define HidUsage_BS_OKToUse                               0x1a
+#define HidUsage_BS_BatterySupported                      0x1b
+#define HidUsage_BS_SelectorRevision                      0x1c
+#define HidUsage_BS_ChargingIndicator                     0x1d
+#define HidUsage_BS_ManufacturerAccess                    0x28
+#define HidUsage_BS_RemainingCapacityLimit                0x29
+#define HidUsage_BS_RemainingTimeLimit                    0x2a
+#define HidUsage_BS_AtRate                                0x2b
+#define HidUsage_BS_CapacityMode                          0x2c
+#define HidUsage_BS_BroadcastToCharger                    0x2d
+#define HidUsage_BS_PrimaryBattery                        0x2e
+#define HidUsage_BS_ChargeController                      0x2f
+#define HidUsage_BS_TerminateCharge                       0x40
+#define HidUsage_BS_TerminateDischarge                    0x41
+#define HidUsage_BS_BelowRemainingCapacityLimit           0x42
+#define HidUsage_BS_RemainingTimeLimitExpired             0x43
+#define HidUsage_BS_Charging                              0x44
+#define HidUsage_BS_Discharging                           0x45
+#define HidUsage_BS_FullyCharged                          0x46
+#define HidUsage_BS_FullyDischarged                       0x47
+#define HidUsage_BS_ConditioningFlag                      0x48
+#define HidUsage_BS_AtRateOK                              0x49
+#define HidUsage_BS_SmartBatteryErrorCode                 0x4a
+#define HidUsage_BS_NeedReplacement                       0x4b
+#define HidUsage_BS_AtRateTimeToFull                      0x60
+#define HidUsage_BS_AtRateTimeToEmpty                     0x61
+#define HidUsage_BS_AverageCurrent                        0x62
+#define HidUsage_BS_MaxError                              0x63
+#define HidUsage_BS_RelativeStateOfCharge                 0x64
+#define HidUsage_BS_AbsoluteStateOfCharge                 0x65
+#define HidUsage_BS_RemainingCapacity                     0x66
+#define HidUsage_BS_FullChargeCapacity                    0x67
+#define HidUsage_BS_RunTimeToEmpty                        0x68
+#define HidUsage_BS_AverageTimeToEmpty                    0x69
+#define HidUsage_BS_AverageTimeToFull                     0x6a
+#define HidUsage_BS_CycleCount                            0x6b
+#define HidUsage_BS_BatteryPackModelLevel                 0x80
+#define HidUsage_BS_InternalChargeController              0x81
+#define HidUsage_BS_PrimaryBatterySupport                 0x82
+#define HidUsage_BS_DesignCapacity                        0x83
+#define HidUsage_BS_SpecificationInfo                     0x84
+#define HidUsage_BS_ManufactureDate                       0x85
+#define HidUsage_BS_SerialNumber                          0x86
+#define HidUsage_BS_iManufacturerName                     0x87
+#define HidUsage_BS_iDeviceName                           0x88
+#define HidUsage_BS_iDeviceChemistry                      0x89
+#define HidUsage_BS_ManufacturerData                      0x8a
+#define HidUsage_BS_Rechargeable                          0x8b
+#define HidUsage_BS_WarningCapacityLimit                  0x8c
+#define HidUsage_BS_CapacityGranularity1                  0x8d
+#define HidUsage_BS_CapacityGranularity2                  0x8e
+#define HidUsage_BS_iOEMInformation                       0x8f
+#define HidUsage_BS_InhibitCharge                         0xc0
+#define HidUsage_BS_EnablePolling                         0xc1
+#define HidUsage_BS_ResetToZero                           0xc2
+#define HidUsage_BS_ACPresent                             0xd0
+#define HidUsage_BS_BatteryPresent                        0xd1
+#define HidUsage_BS_PowerFail                             0xd2
+#define HidUsage_BS_AlarmInhibited                        0xd3
+#define HidUsage_BS_ThermistorUnderRange                  0xd4
+#define HidUsage_BS_ThermistorHot                         0xd5
+#define HidUsage_BS_ThermistorCold                        0xd6
+#define HidUsage_BS_ThermistorOverRange                   0xd7
+#define HidUsage_BS_VoltageOutOfRange                     0xd8
+#define HidUsage_BS_CurrentOutOfRange                     0xd9
+#define HidUsage_BS_CurrentNotRegulated                   0xda
+#define HidUsage_BS_VoltageNotRegulated                   0xdb
+#define HidUsage_BS_MasterMode                            0xdc
+#define HidUsage_BS_ChargerSelectorSupport                0xf0
+#define HidUsage_BS_ChargerSpec                           0xf1
+#define HidUsage_BS_Level2                                0xf2
+#define HidUsage_BS_Level3                                0xf3
+#define HidUsage_BS_BarcodeBadgeReader                    0x01
+#define HidUsage_BS_BarcodeScanner                        0x02
+#define HidUsage_BS_DumbBarCodeScanner                    0x03
+#define HidUsage_BS_CordlessScannerBase                   0x04
+#define HidUsage_BS_BarCodeScannerCradle                  0x05
+#define HidUsage_BS_AttributeReport                       0x10
+#define HidUsage_BS_SettingsReport                        0x11
+#define HidUsage_BS_ScannedDataReport                     0x12
+#define HidUsage_BS_RawScannedDataReport                  0x13
+#define HidUsage_BS_TriggerReport                         0x14
+#define HidUsage_BS_StatusReport                          0x15
+#define HidUsage_BS_UPCEANControlReport                   0x16
+#define HidUsage_BS_EAN23LabelControlReport               0x17
+#define HidUsage_BS_Code39ControlReport                   0x18
+#define HidUsage_BS_Interleaved2of5ControlReport          0x19
+#define HidUsage_BS_Standard2of5ControlReport             0x1a
+#define HidUsage_BS_MSIPlesseyControlReport               0x1b
+#define HidUsage_BS_CodabarControlReport                  0x1c
+#define HidUsage_BS_Code128ControlReport                  0x1d
+#define HidUsage_BS_Misc1DControlReport                   0x1e
+#define HidUsage_BS_TwoDControlReport                     0x1f
+#define HidUsage_BS_AimingPointerMode                     0x30
+#define HidUsage_BS_BarCodePresentSensor                  0x31
+#define HidUsage_BS_Class1ALaser                          0x32
+#define HidUsage_BS_Class2Laser                           0x33
+#define HidUsage_BS_HeaterPresent                         0x34
+#define HidUsage_BS_ContactScanner                        0x35
+#define HidUsage_BS_ElectronicArticleSurveillanceNotification 0x36
+#define HidUsage_BS_ConstantElectronicArticleSurveillance 0x37
+#define HidUsage_BS_ErrorIndication                       0x38
+#define HidUsage_BS_FixedBeeper                           0x39
+#define HidUsage_BS_GoodDecodeIndication                  0x3a
+#define HidUsage_BS_HandsFreeScanning                     0x3b
+#define HidUsage_BS_IntrinsicallySafe                     0x3c
+#define HidUsage_BS_KlasseEinsLaser                       0x3d
+#define HidUsage_BS_LongRangeScanner                      0x3e
+#define HidUsage_BS_MirrorSpeedControl                    0x3f
+#define HidUsage_BS_NotOnFileIndication                   0x40
+#define HidUsage_BS_ProgrammableBeeper                    0x41
+#define HidUsage_BS_Triggerless                           0x42
+#define HidUsage_BS_Wand                                  0x43
+#define HidUsage_BS_WaterResistant                        0x44
+#define HidUsage_BS_MultiRangeScanner                     0x45
+#define HidUsage_BS_ProximitySensor                       0x46
+#define HidUsage_BS_FragmentDecoding                      0x4d
+#define HidUsage_BS_ScannerReadConfidence                 0x4e
+#define HidUsage_BS_DataPrefix                            0x4f
+#define HidUsage_BS_PrefixAIMI                            0x50
+#define HidUsage_BS_PrefixNone                            0x51
+#define HidUsage_BS_PrefixProprietary                     0x52
+#define HidUsage_BS_ActiveTime                            0x55
+#define HidUsage_BS_AimingLaserPattern                    0x56
+#define HidUsage_BS_BarCodePresent                        0x57
+#define HidUsage_BS_BeeperState                           0x58
+#define HidUsage_BS_LaserOnTime                           0x59
+#define HidUsage_BS_LaserState                            0x5a
+#define HidUsage_BS_LockoutTime                           0x5b
+#define HidUsage_BS_MotorState                            0x5c
+#define HidUsage_BS_MotorTimeout                          0x5d
+#define HidUsage_BS_PowerOnResetScanner                   0x5e
+#define HidUsage_BS_PreventReadofBarcodes                 0x5f
+#define HidUsage_BS_InitiateBarcodeRead                   0x60
+#define HidUsage_BS_TriggerState                          0x61
+#define HidUsage_BS_TriggerMode                           0x62
+#define HidUsage_BS_TriggerModeBlinkingLaserOn            0x63
+#define HidUsage_BS_TriggerModeContinuousLaserOn          0x64
+#define HidUsage_BS_TriggerModeLaseronwhilePulled         0x65
+#define HidUsage_BS_TriggerModeLaserstaysonafterrelease   0x66
+#define HidUsage_BS_CommitParameterstoNVM                 0x6d
+#define HidUsage_BS_ParameterScanning                     0x6e
+#define HidUsage_BS_ParametersChanged                     0x6f
+#define HidUsage_BS_Setparameterdefaultvalues             0x70
+#define HidUsage_BS_ScannerInCradle                       0x75
+#define HidUsage_BS_ScannerInRange                        0x76
+#define HidUsage_BS_AimDuration                           0x7a
+#define HidUsage_BS_GoodReadLampDuration                  0x7b
+#define HidUsage_BS_GoodReadLampIntensity                 0x7c
+#define HidUsage_BS_GoodReadLED                           0x7d
+#define HidUsage_BS_GoodReadToneFrequency                 0x7e
+#define HidUsage_BS_GoodReadToneLength                    0x7f
+#define HidUsage_BS_GoodReadToneVolume                    0x80
+#define HidUsage_BS_NoReadMessage                         0x82
+#define HidUsage_BS_NotonFileVolume                       0x83
+#define HidUsage_BS_PowerupBeep                           0x84
+#define HidUsage_BS_SoundErrorBeep                        0x85
+#define HidUsage_BS_SoundGoodReadBeep                     0x86
+#define HidUsage_BS_SoundNotOnFileBeep                    0x87
+#define HidUsage_BS_GoodReadWhentoWrite                   0x88
+#define HidUsage_BS_GRWTIAfterDecode                      0x89
+#define HidUsage_BS_GRWTIBeepLampaftertransmit            0x8a
+#define HidUsage_BS_GRWTINoBeepLampuseatall               0x8b
+#define HidUsage_BS_BooklandEAN                           0x91
+#define HidUsage_BS_ConvertEAN8to13Type                   0x92
+#define HidUsage_BS_ConvertUPCAtoEAN13                    0x93
+#define HidUsage_BS_ConvertUPCEtoA                        0x94
+#define HidUsage_BS_EAN13                                 0x95
+#define HidUsage_BS_EAN8                                  0x96
+#define HidUsage_BS_EAN99128Mandatory                     0x97
+#define HidUsage_BS_EAN99P5128Optional                    0x98
+#define HidUsage_BS_EnableEANTwoLabel                     0x99
+#define HidUsage_BS_UPCEAN                                0x9a
+#define HidUsage_BS_UPCEANCouponCode                      0x9b
+#define HidUsage_BS_UPCEANPeriodicals                     0x9c
+#define HidUsage_BS_UPCA                                  0x9d
+#define HidUsage_BS_UPCAwith128Mandatory                  0x9e
+#define HidUsage_BS_UPCAwith128Optional                   0x9f
+#define HidUsage_BS_UPCAwithP5Optional                    0xa0
+#define HidUsage_BS_UPCE                                  0xa1
+#define HidUsage_BS_UPCE1                                 0xa2
+#define HidUsage_BS_Periodical                            0xa9
+#define HidUsage_BS_PeriodicalAutoDiscriminatePlus2       0xaa
+#define HidUsage_BS_PeriodicalOnlyDecodewithPlus2         0xab
+#define HidUsage_BS_PeriodicalIgnorePlus2                 0xac
+#define HidUsage_BS_PeriodicalAutoDiscriminatePlus5       0xad
+#define HidUsage_BS_PeriodicalOnlyDecodewithPlus5         0xae
+#define HidUsage_BS_PeriodicalIgnorePlus5                 0xaf
+#define HidUsage_BS_Check                                 0xb0
+#define HidUsage_BS_CheckDisablePrice                     0xb1
+#define HidUsage_BS_CheckEnable4digitPrice                0xb2
+#define HidUsage_BS_CheckEnable5digitPrice                0xb3
+#define HidUsage_BS_CheckEnableEuropean4digitPrice        0xb4
+#define HidUsage_BS_CheckEnableEuropean5digitPrice        0xb5
+#define HidUsage_BS_EANTwoLabel                           0xb7
+#define HidUsage_BS_EANThreeLabel                         0xb8
+#define HidUsage_BS_EAN8FlagDigit1                        0xb9
+#define HidUsage_BS_EAN8FlagDigit2                        0xba
+#define HidUsage_BS_EAN8FlagDigit3                        0xbb
+#define HidUsage_BS_EAN13FlagDigit1                       0xbc
+#define HidUsage_BS_EAN13FlagDigit2                       0xbd
+#define HidUsage_BS_EAN13FlagDigit3                       0xbe
+#define HidUsage_BS_AddEAN23LabelDefinition               0xbf
+#define HidUsage_BS_ClearallEAN23LabelDefinitions         0xc0
+#define HidUsage_BS_Codabar                               0xc3
+#define HidUsage_BS_Code128                               0xc4
+#define HidUsage_BS_Code39                                0xc7
+#define HidUsage_BS_Code93                                0xc8
+#define HidUsage_BS_FullASCIIConversion                   0xc9
+#define HidUsage_BS_Interleaved2of5                       0xca
+#define HidUsage_BS_ItalianPharmacyCode                   0xcb
+#define HidUsage_BS_MSIPlessey                            0xcc
+#define HidUsage_BS_Standard2of5IATA                      0xcd
+#define HidUsage_BS_Standard2of5                          0xce
+#define HidUsage_BS_TransmitStartStop                     0xd3
+#define HidUsage_BS_TriOptic                              0xd4
+#define HidUsage_BS_UCCEAN128                             0xd5
+#define HidUsage_BS_CheckDigit                            0xd6
+#define HidUsage_BS_CheckDigitDisable                     0xd7
+#define HidUsage_BS_CheckDigitEnableInterleaved2of5OPCC   0xd8
+#define HidUsage_BS_CheckDigitEnableInterleaved2of5USS    0xd9
+#define HidUsage_BS_CheckDigitEnableStandard2of5OPCC      0xda
+#define HidUsage_BS_CheckDigitEnableStandard2of5USS       0xdb
+#define HidUsage_BS_CheckDigitEnableOneMSIPlessey         0xdc
+#define HidUsage_BS_CheckDigitEnableTwoMSIPlessey         0xdd
+#define HidUsage_BS_CheckDigitCodabarEnable               0xde
+#define HidUsage_BS_CheckDigitCode39Enable                0xdf
+#define HidUsage_BS_TransmitCheckDigit                    0xf0
+#define HidUsage_BS_DisableCheckDigitTransmit             0xf1
+#define HidUsage_BS_EnableCheckDigitTransmit              0xf2
+#define HidUsage_BS_SymbologyIdentifier1                  0xfb
+#define HidUsage_BS_SymbologyIdentifier2                  0xfc
+#define HidUsage_BS_SymbologyIdentifier3                  0xfd
+#define HidUsage_BS_DecodedData                           0xfe
+#define HidUsage_BS_DecodeDataContinued                   0xff
+#define HidUsage_BS_BarSpaceData                          0x100
+#define HidUsage_BS_ScannerDataAccuracy                   0x101
+#define HidUsage_BS_RawDataPolarity                       0x102
+#define HidUsage_BS_PolarityInvertedBarCode               0x103
+#define HidUsage_BS_PolarityNormalBarCode                 0x104
+#define HidUsage_BS_MinimumLengthtoDecode                 0x106
+#define HidUsage_BS_MaximumLengthtoDecode                 0x107
+#define HidUsage_BS_DiscreteLengthtoDecode1               0x108
+#define HidUsage_BS_DiscreteLengthtoDecode2               0x109
+#define HidUsage_BS_DataLengthMethod                      0x10a
+#define HidUsage_BS_DLMethodReadany                       0x10b
+#define HidUsage_BS_DLMethodCheckinRange                  0x10c
+#define HidUsage_BS_DLMethodCheckforDiscrete              0x10d
+#define HidUsage_BS_AztecCode                             0x110
+#define HidUsage_BS_BC412                                 0x111
+#define HidUsage_BS_ChannelCode                           0x112
+#define HidUsage_BS_Code16                                0x113
+#define HidUsage_BS_Code32                                0x114
+#define HidUsage_BS_Code49                                0x115
+#define HidUsage_BS_CodeOne                               0x116
+#define HidUsage_BS_Colorcode                             0x117
+#define HidUsage_BS_DataMatrix                            0x118
+#define HidUsage_BS_MaxiCode                              0x119
+#define HidUsage_BS_MicroPDF                              0x11a
+#define HidUsage_BS_PDF417                                0x11b
+#define HidUsage_BS_PosiCode                              0x11c
+#define HidUsage_BS_QRCode                                0x11d
+#define HidUsage_BS_SuperCode                             0x11e
+#define HidUsage_BS_UltraCode                             0x11f
+#define HidUsage_BS_USD5SlugCode                          0x120
+#define HidUsage_BS_VeriCode                              0x121
+#define HidUsage_Sca_Scales                               0x01
+#define HidUsage_Sca_ScaleDevice                          0x20
+#define HidUsage_Sca_ScaleClass                           0x21
+#define HidUsage_Sca_ScaleClassIMetric                    0x22
+#define HidUsage_Sca_ScaleClassIIMetric                   0x23
+#define HidUsage_Sca_ScaleClassIIIMetric                  0x24
+#define HidUsage_Sca_ScaleClassIIILMetric                 0x25
+#define HidUsage_Sca_ScaleClassIVMetric                   0x26
+#define HidUsage_Sca_ScaleClassIIIEnglish                 0x27
+#define HidUsage_Sca_ScaleClassIIILEnglish                0x28
+#define HidUsage_Sca_ScaleClassIVEnglish                  0x29
+#define HidUsage_Sca_ScaleClassGeneric                    0x2a
+#define HidUsage_Sca_ScaleAttributeReport                 0x30
+#define HidUsage_Sca_ScaleControlReport                   0x31
+#define HidUsage_Sca_ScaleDataReport                      0x32
+#define HidUsage_Sca_ScaleStatusReport                    0x33
+#define HidUsage_Sca_ScaleWeightLimitReport               0x34
+#define HidUsage_Sca_ScaleStatisticsReport                0x35
+#define HidUsage_Sca_DataWeight                           0x40
+#define HidUsage_Sca_DataScaling                          0x41
+#define HidUsage_Sca_WeightUnit                           0x50
+#define HidUsage_Sca_WeightUnitMilligram                  0x51
+#define HidUsage_Sca_WeightUnitGram                       0x52
+#define HidUsage_Sca_WeightUnitKilogram                   0x53
+#define HidUsage_Sca_WeightUnitCarats                     0x54
+#define HidUsage_Sca_WeightUnitTaels                      0x55
+#define HidUsage_Sca_WeightUnitGrains                     0x56
+#define HidUsage_Sca_WeightUnitPennyweights               0x57
+#define HidUsage_Sca_WeightUnitMetricTon                  0x58
+#define HidUsage_Sca_WeightUnitAvoirTon                   0x59
+#define HidUsage_Sca_WeightUnitTroyOunce                  0x5a
+#define HidUsage_Sca_WeightUnitOunce                      0x5b
+#define HidUsage_Sca_WeightUnitPound                      0x5c
+#define HidUsage_Sca_CalibrationCount                     0x60
+#define HidUsage_Sca_ReZeroCount                          0x61
+#define HidUsage_Sca_ScaleStatus                          0x70
+#define HidUsage_Sca_ScaleStatusFault                     0x71
+#define HidUsage_Sca_ScaleStatusStableatCenterofZero      0x72
+#define HidUsage_Sca_ScaleStatusInMotion                  0x73
+#define HidUsage_Sca_ScaleStatusWeightStable              0x74
+#define HidUsage_Sca_ScaleStatusUnderZero                 0x75
+#define HidUsage_Sca_ScaleStatusOverWeightLimit           0x76
+#define HidUsage_Sca_ScaleStatusRequiresCalibration       0x77
+#define HidUsage_Sca_ScaleStatusRequiresRezeroing         0x78
+#define HidUsage_Sca_ZeroScale                            0x80
+#define HidUsage_Sca_EnforcedZeroReturn                   0x81
+#define HidUsage_MSR_MSRDeviceReadOnly                    0x01
+#define HidUsage_MSR_Track1Length                         0x11
+#define HidUsage_MSR_Track2Length                         0x12
+#define HidUsage_MSR_Track3Length                         0x13
+#define HidUsage_MSR_TrackJISLength                       0x14
+#define HidUsage_MSR_TrackData                            0x20
+#define HidUsage_MSR_Track1Data                           0x21
+#define HidUsage_MSR_Track2Data                           0x22
+#define HidUsage_MSR_Track3Data                           0x23
+#define HidUsage_MSR_TrackJISData                         0x24
+#define HidUsage_CC_CameraAutofocus                       0x20
+#define HidUsage_CC_CameraShutter                         0x21
+#define HidUsage_Arc_GeneralPurposeIOCard                 0x01
+#define HidUsage_Arc_CoinDoor                             0x02
+#define HidUsage_Arc_WatchdogTimer                        0x03
+#define HidUsage_Arc_GeneralPurposeAnalogInputState       0x30
+#define HidUsage_Arc_GeneralPurposeDigitalInputState      0x31
+#define HidUsage_Arc_GeneralPurposeOpticalInputState      0x32
+#define HidUsage_Arc_GeneralPurposeDigitalOutputState     0x33
+#define HidUsage_Arc_NumberofCoinDoors                    0x34
+#define HidUsage_Arc_CoinDrawerDropCount                  0x35
+#define HidUsage_Arc_CoinDrawerStart                      0x36
+#define HidUsage_Arc_CoinDrawerService                    0x37
+#define HidUsage_Arc_CoinDrawerTilt                       0x38
+#define HidUsage_Arc_CoinDoorTest                         0x39
+#define HidUsage_Arc_CoinDoorLockout                      0x40
+#define HidUsage_Arc_WatchdogTimeout                      0x41
+#define HidUsage_Arc_WatchdogAction                       0x42
+#define HidUsage_Arc_WatchdogReboot                       0x43
+#define HidUsage_Arc_WatchdogRestart                      0x44
+#define HidUsage_Arc_AlarmInput                           0x45
+#define HidUsage_Arc_CoinDoorCounter                      0x46
+#define HidUsage_Arc_IODirectionMapping                   0x47
+#define HidUsage_Arc_SetIODirectionMapping                0x48
+#define HidUsage_Arc_ExtendedOpticalInputState            0x49
+#define HidUsage_Arc_PinPadInputState                     0x4a
+#define HidUsage_Arc_PinPadStatus                         0x4b
+#define HidUsage_Arc_PinPadOutput                         0x4c
+#define HidUsage_Arc_PinPadCommand                        0x4d
+#define HidUsage_FIDOA_U2FAuthenticatorDevice             0x01
+#define HidUsage_FIDOA_InputReportData                    0x20
+#define HidUsage_FIDOA_OutputReportData                   0x21

-- 
2.53.0