objc2_io_kit/generated/
hid.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::cell::UnsafeCell;
4use core::ffi::*;
5use core::marker::{PhantomData, PhantomPinned};
6use core::ptr::NonNull;
7#[cfg(feature = "dispatch2")]
8use dispatch2::*;
9#[cfg(feature = "objc2")]
10use objc2::__framework_prelude::*;
11use objc2_core_foundation::*;
12
13use crate::*;
14
15/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidpointeraccelerationkey?language=objc)
16pub const kIOHIDPointerAccelerationKey: &CStr =
17    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDPointerAcceleration\0") };
18/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtrackpadscrollaccelerationkey?language=objc)
19pub const kIOHIDTrackpadScrollAccelerationKey: &CStr =
20    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDTrackpadScrollAcceleration\0") };
21/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtrackpadaccelerationtype?language=objc)
22pub const kIOHIDTrackpadAccelerationType: &CStr =
23    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDTrackpadAcceleration\0") };
24/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidpointeraccelerationtypekey?language=objc)
25pub const kIOHIDPointerAccelerationTypeKey: &CStr =
26    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDPointerAccelerationType\0") };
27/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidmousescrollaccelerationkey?language=objc)
28pub const kIOHIDMouseScrollAccelerationKey: &CStr =
29    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDMouseScrollAcceleration\0") };
30/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidmouseaccelerationtypekey?language=objc)
31pub const kIOHIDMouseAccelerationTypeKey: &CStr =
32    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDMouseAcceleration\0") };
33/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidscrollaccelerationkey?language=objc)
34pub const kIOHIDScrollAccelerationKey: &CStr =
35    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDScrollAcceleration\0") };
36/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidscrollaccelerationtypekey?language=objc)
37pub const kIOHIDScrollAccelerationTypeKey: &CStr =
38    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDScrollAccelerationType\0") };
39/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddigitizertipthresholdkey?language=objc)
40pub const kIOHIDDigitizerTipThresholdKey: &CStr =
41    unsafe { CStr::from_bytes_with_nul_unchecked(b"DigitizerTipThreshold\0") };
42/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidsurfacedimensionskey?language=objc)
43pub const kIOHIDSurfaceDimensionsKey: &CStr =
44    unsafe { CStr::from_bytes_with_nul_unchecked(b"SurfaceDimensions\0") };
45/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidwidthkey?language=objc)
46pub const kIOHIDWidthKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Width\0") };
47/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidheightkey?language=objc)
48pub const kIOHIDHeightKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Height\0") };
49/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohideventdriverhandlesreport?language=objc)
50pub const kIOHIDEventDriverHandlesReport: &CStr =
51    unsafe { CStr::from_bytes_with_nul_unchecked(b"IOHIDEventDriverHandlesReport\0") };
52/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidserviceaccelerationproperties?language=objc)
53pub const kIOHIDServiceAccelerationProperties: &CStr =
54    unsafe { CStr::from_bytes_with_nul_unchecked(b"IOHIDSetAcceleration\0") };
55/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidpointeraccelerationmultiplierkey?language=objc)
56pub const kIOHIDPointerAccelerationMultiplierKey: &CStr =
57    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDPointerAccelerationMultiplier\0") };
58/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpointerreportratekey?language=objc)
59pub const kHIDPointerReportRateKey: &CStr =
60    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDPointerReportRate\0") };
61/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidscrollreportratekey?language=objc)
62pub const kIOHIDScrollReportRateKey: &CStr =
63    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDScrollReportRate\0") };
64/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidaccelparametriccurveskey?language=objc)
65pub const kHIDAccelParametricCurvesKey: &CStr =
66    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDAccelCurves\0") };
67/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidscrollaccelparametriccurveskey?language=objc)
68pub const kHIDScrollAccelParametricCurvesKey: &CStr =
69    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDScrollAccelCurves\0") };
70/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidscrollresolutionkey?language=objc)
71pub const kIOHIDScrollResolutionKey: &CStr =
72    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDScrollResolution\0") };
73/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddropaccelpropertyeventskey?language=objc)
74pub const kIOHIDDropAccelPropertyEventsKey: &CStr =
75    unsafe { CStr::from_bytes_with_nul_unchecked(b"DropAccelPropertyEvents\0") };
76/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidscrollresolutionxkey?language=objc)
77pub const kIOHIDScrollResolutionXKey: &CStr =
78    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDScrollResolutionX\0") };
79/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidscrollresolutionykey?language=objc)
80pub const kIOHIDScrollResolutionYKey: &CStr =
81    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDScrollResolutionY\0") };
82/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidscrollresolutionzkey?language=objc)
83pub const kIOHIDScrollResolutionZKey: &CStr =
84    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDScrollResolutionZ\0") };
85/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiduselinearscalingmouseaccelerationkey?language=objc)
86pub const kIOHIDUseLinearScalingMouseAccelerationKey: &CStr =
87    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDUseLinearScalingMouseAcceleration\0") };
88/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidpointeraccelerationsupportkey?language=objc)
89pub const kIOHIDPointerAccelerationSupportKey: &CStr =
90    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDSupportsPointerAcceleration\0") };
91/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidscrollaccelerationsupportkey?language=objc)
92pub const kIOHIDScrollAccelerationSupportKey: &CStr =
93    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDSupportsScrollAcceleration\0") };
94/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohideventservicesensorcontroloptionskey?language=objc)
95pub const kIOHIDEventServiceSensorControlOptionsKey: &CStr =
96    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDDefaultSensorControlOptions\0") };
97/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidmouseaccelerationtype?language=objc)
98pub const kIOHIDMouseAccelerationType: &CStr =
99    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDMouseAcceleration\0") };
100/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidpointerbuttonmode?language=objc)
101pub const kIOHIDPointerButtonMode: &CStr =
102    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDPointerButtonMode\0") };
103/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidpointerbuttonmodekey?language=objc)
104pub const kIOHIDPointerButtonModeKey: &CStr = kIOHIDPointerButtonMode;
105/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiduserkeyusagemapkey?language=objc)
106pub const kIOHIDUserKeyUsageMapKey: &CStr =
107    unsafe { CStr::from_bytes_with_nul_unchecked(b"UserKeyMapping\0") };
108/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardcapslockdelayoverride?language=objc)
109pub const kIOHIDKeyboardCapsLockDelayOverride: &CStr =
110    unsafe { CStr::from_bytes_with_nul_unchecked(b"CapsLockDelayOverride\0") };
111/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardcapslockdelayoverridekey?language=objc)
112pub const kIOHIDKeyboardCapsLockDelayOverrideKey: &CStr = kIOHIDKeyboardCapsLockDelayOverride;
113/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidserviceejectdelaykey?language=objc)
114pub const kIOHIDServiceEjectDelayKey: &CStr =
115    unsafe { CStr::from_bytes_with_nul_unchecked(b"EjectDelay\0") };
116/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidservicelockkeydelaykey?language=objc)
117pub const kIOHIDServiceLockKeyDelayKey: &CStr =
118    unsafe { CStr::from_bytes_with_nul_unchecked(b"LockKeyDelay\0") };
119/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidserviceinitialkeyrepeatdelaykey?language=objc)
120pub const kIOHIDServiceInitialKeyRepeatDelayKey: &CStr =
121    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDInitialKeyRepeat\0") };
122/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidservicekeyrepeatdelaykey?language=objc)
123pub const kIOHIDServiceKeyRepeatDelayKey: &CStr =
124    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDKeyRepeat\0") };
125/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohididletimemicrosecondskey?language=objc)
126pub const kIOHIDIdleTimeMicrosecondsKey: &CStr =
127    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDIdleTimeMicroseconds\0") };
128/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidservicecapslockstatekey?language=objc)
129pub const kIOHIDServiceCapsLockStateKey: &CStr =
130    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDCapsLockState\0") };
131/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddevicedefaultasyncrequesttimeout?language=objc)
132pub const kIOHIDDeviceDefaultAsyncRequestTimeout: c_uint = 1000;
133/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddeviceminasyncrequesttimeout?language=objc)
134pub const kIOHIDDeviceMinAsyncRequestTimeout: c_uint = 50;
135/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddevicemaxasyncrequesttimeout?language=objc)
136pub const kIOHIDDeviceMaxAsyncRequestTimeout: c_uint = 1200000;
137/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportkey?language=objc)
138pub const kIOHIDTransportKey: &CStr =
139    unsafe { CStr::from_bytes_with_nul_unchecked(b"Transport\0") };
140/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidvendoridkey?language=objc)
141pub const kIOHIDVendorIDKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"VendorID\0") };
142/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidproductidkey?language=objc)
143pub const kIOHIDProductIDKey: &CStr =
144    unsafe { CStr::from_bytes_with_nul_unchecked(b"ProductID\0") };
145/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidversionnumberkey?language=objc)
146pub const kIOHIDVersionNumberKey: &CStr =
147    unsafe { CStr::from_bytes_with_nul_unchecked(b"VersionNumber\0") };
148/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidmanufacturerkey?language=objc)
149pub const kIOHIDManufacturerKey: &CStr =
150    unsafe { CStr::from_bytes_with_nul_unchecked(b"Manufacturer\0") };
151/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidproductkey?language=objc)
152pub const kIOHIDProductKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Product\0") };
153/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidserialnumberkey?language=objc)
154pub const kIOHIDSerialNumberKey: &CStr =
155    unsafe { CStr::from_bytes_with_nul_unchecked(b"SerialNumber\0") };
156/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidcountrycodekey?language=objc)
157pub const kIOHIDCountryCodeKey: &CStr =
158    unsafe { CStr::from_bytes_with_nul_unchecked(b"CountryCode\0") };
159/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidlocationidkey?language=objc)
160pub const kIOHIDLocationIDKey: &CStr =
161    unsafe { CStr::from_bytes_with_nul_unchecked(b"LocationID\0") };
162/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddeviceusagepairskey?language=objc)
163pub const kIOHIDDeviceUsagePairsKey: &CStr =
164    unsafe { CStr::from_bytes_with_nul_unchecked(b"DeviceUsagePairs\0") };
165/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddeviceusagekey?language=objc)
166pub const kIOHIDDeviceUsageKey: &CStr =
167    unsafe { CStr::from_bytes_with_nul_unchecked(b"DeviceUsage\0") };
168/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddeviceusagepagekey?language=objc)
169pub const kIOHIDDeviceUsagePageKey: &CStr =
170    unsafe { CStr::from_bytes_with_nul_unchecked(b"DeviceUsagePage\0") };
171/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidprimaryusagekey?language=objc)
172pub const kIOHIDPrimaryUsageKey: &CStr =
173    unsafe { CStr::from_bytes_with_nul_unchecked(b"PrimaryUsage\0") };
174/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidprimaryusagepagekey?language=objc)
175pub const kIOHIDPrimaryUsagePageKey: &CStr =
176    unsafe { CStr::from_bytes_with_nul_unchecked(b"PrimaryUsagePage\0") };
177/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidmaxinputreportsizekey?language=objc)
178pub const kIOHIDMaxInputReportSizeKey: &CStr =
179    unsafe { CStr::from_bytes_with_nul_unchecked(b"MaxInputReportSize\0") };
180/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidmaxoutputreportsizekey?language=objc)
181pub const kIOHIDMaxOutputReportSizeKey: &CStr =
182    unsafe { CStr::from_bytes_with_nul_unchecked(b"MaxOutputReportSize\0") };
183/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidmaxfeaturereportsizekey?language=objc)
184pub const kIOHIDMaxFeatureReportSizeKey: &CStr =
185    unsafe { CStr::from_bytes_with_nul_unchecked(b"MaxFeatureReportSize\0") };
186/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidreportintervalkey?language=objc)
187pub const kIOHIDReportIntervalKey: &CStr =
188    unsafe { CStr::from_bytes_with_nul_unchecked(b"ReportInterval\0") };
189/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidbatchintervalkey?language=objc)
190pub const kIOHIDBatchIntervalKey: &CStr =
191    unsafe { CStr::from_bytes_with_nul_unchecked(b"BatchInterval\0") };
192/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidrequesttimeoutkey?language=objc)
193pub const kIOHIDRequestTimeoutKey: &CStr =
194    unsafe { CStr::from_bytes_with_nul_unchecked(b"RequestTimeout\0") };
195/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidreportdescriptorkey?language=objc)
196pub const kIOHIDReportDescriptorKey: &CStr =
197    unsafe { CStr::from_bytes_with_nul_unchecked(b"ReportDescriptor\0") };
198/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidbuiltinkey?language=objc)
199pub const kIOHIDBuiltInKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Built-In\0") };
200/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidphysicaldeviceuniqueidkey?language=objc)
201pub const kIOHIDPhysicalDeviceUniqueIDKey: &CStr =
202    unsafe { CStr::from_bytes_with_nul_unchecked(b"PhysicalDeviceUniqueID\0") };
203/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddeviceaccessentitlementkey?language=objc)
204pub const kIOHIDDeviceAccessEntitlementKey: &CStr =
205    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDDeviceAccessEntitlement\0") };
206/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddevicekey?language=objc)
207pub const kIOHIDDeviceKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"IOHIDDevice\0") };
208/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidvendoridsourcekey?language=objc)
209pub const kIOHIDVendorIDSourceKey: &CStr =
210    unsafe { CStr::from_bytes_with_nul_unchecked(b"VendorIDSource\0") };
211/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidstandardtypekey?language=objc)
212pub const kIOHIDStandardTypeKey: &CStr =
213    unsafe { CStr::from_bytes_with_nul_unchecked(b"StandardType\0") };
214/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidsampleintervalkey?language=objc)
215pub const kIOHIDSampleIntervalKey: &CStr =
216    unsafe { CStr::from_bytes_with_nul_unchecked(b"SampleInterval\0") };
217/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidresetkey?language=objc)
218pub const kIOHIDResetKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Reset\0") };
219/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardlanguagekey?language=objc)
220pub const kIOHIDKeyboardLanguageKey: &CStr =
221    unsafe { CStr::from_bytes_with_nul_unchecked(b"KeyboardLanguage\0") };
222/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidalthandleridkey?language=objc)
223pub const kIOHIDAltHandlerIdKey: &CStr =
224    unsafe { CStr::from_bytes_with_nul_unchecked(b"alt_handler_id\0") };
225/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddisplayintegratedkey?language=objc)
226pub const kIOHIDDisplayIntegratedKey: &CStr =
227    unsafe { CStr::from_bytes_with_nul_unchecked(b"DisplayIntegrated\0") };
228/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidproductidmaskkey?language=objc)
229pub const kIOHIDProductIDMaskKey: &CStr =
230    unsafe { CStr::from_bytes_with_nul_unchecked(b"ProductIDMask\0") };
231/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidproductidarraykey?language=objc)
232pub const kIOHIDProductIDArrayKey: &CStr =
233    unsafe { CStr::from_bytes_with_nul_unchecked(b"ProductIDArray\0") };
234/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidpowerondelaynskey?language=objc)
235pub const kIOHIDPowerOnDelayNSKey: &CStr =
236    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDPowerOnDelayNS\0") };
237/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidcategorykey?language=objc)
238pub const kIOHIDCategoryKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Category\0") };
239/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidmaxresponselatencykey?language=objc)
240pub const kIOHIDMaxResponseLatencyKey: &CStr =
241    unsafe { CStr::from_bytes_with_nul_unchecked(b"MaxResponseLatency\0") };
242/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiduniqueidkey?language=objc)
243pub const kIOHIDUniqueIDKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"UniqueID\0") };
244/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidmodelnumberkey?language=objc)
245pub const kIOHIDModelNumberKey: &CStr =
246    unsafe { CStr::from_bytes_with_nul_unchecked(b"ModelNumber\0") };
247/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportusbvalue?language=objc)
248pub const kIOHIDTransportUSBValue: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"USB\0") };
249/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportbluetoothvalue?language=objc)
250pub const kIOHIDTransportBluetoothValue: &CStr =
251    unsafe { CStr::from_bytes_with_nul_unchecked(b"Bluetooth\0") };
252/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportbluetoothlowenergyvalue?language=objc)
253pub const kIOHIDTransportBluetoothLowEnergyValue: &CStr =
254    unsafe { CStr::from_bytes_with_nul_unchecked(b"BluetoothLowEnergy\0") };
255/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportaidbvalue?language=objc)
256pub const kIOHIDTransportAIDBValue: &CStr =
257    unsafe { CStr::from_bytes_with_nul_unchecked(b"AID\0") };
258/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransporti2cvalue?language=objc)
259pub const kIOHIDTransportI2CValue: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"I2C\0") };
260/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportspivalue?language=objc)
261pub const kIOHIDTransportSPIValue: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"SPI\0") };
262/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportserialvalue?language=objc)
263pub const kIOHIDTransportSerialValue: &CStr =
264    unsafe { CStr::from_bytes_with_nul_unchecked(b"Serial\0") };
265/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportiapvalue?language=objc)
266pub const kIOHIDTransportIAPValue: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"iAP\0") };
267/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportairplayvalue?language=objc)
268pub const kIOHIDTransportAirPlayValue: &CStr =
269    unsafe { CStr::from_bytes_with_nul_unchecked(b"AirPlay\0") };
270/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportspuvalue?language=objc)
271pub const kIOHIDTransportSPUValue: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"SPU\0") };
272/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportbtaacpvalue?language=objc)
273pub const kIOHIDTransportBTAACPValue: &CStr =
274    unsafe { CStr::from_bytes_with_nul_unchecked(b"BT-AACP\0") };
275/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportfifovalue?language=objc)
276pub const kIOHIDTransportFIFOValue: &CStr =
277    unsafe { CStr::from_bytes_with_nul_unchecked(b"FIFO\0") };
278/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportvirtualvalue?language=objc)
279pub const kIOHIDTransportVirtualValue: &CStr =
280    unsafe { CStr::from_bytes_with_nul_unchecked(b"Virtual\0") };
281/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransportinductiveinbandvalue?language=objc)
282pub const kIOHIDTransportInductiveInBandValue: &CStr =
283    unsafe { CStr::from_bytes_with_nul_unchecked(b"Inductive In-Band\0") };
284/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidcategoryautomotivevalue?language=objc)
285pub const kIOHIDCategoryAutomotiveValue: &CStr =
286    unsafe { CStr::from_bytes_with_nul_unchecked(b"Automotive\0") };
287/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementkey?language=objc)
288pub const kIOHIDElementKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Elements\0") };
289/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementcookiekey?language=objc)
290pub const kIOHIDElementCookieKey: &CStr =
291    unsafe { CStr::from_bytes_with_nul_unchecked(b"ElementCookie\0") };
292/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementtypekey?language=objc)
293pub const kIOHIDElementTypeKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Type\0") };
294/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementcollectiontypekey?language=objc)
295pub const kIOHIDElementCollectionTypeKey: &CStr =
296    unsafe { CStr::from_bytes_with_nul_unchecked(b"CollectionType\0") };
297/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementusagekey?language=objc)
298pub const kIOHIDElementUsageKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Usage\0") };
299/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementusagepagekey?language=objc)
300pub const kIOHIDElementUsagePageKey: &CStr =
301    unsafe { CStr::from_bytes_with_nul_unchecked(b"UsagePage\0") };
302/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementminkey?language=objc)
303pub const kIOHIDElementMinKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Min\0") };
304/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementmaxkey?language=objc)
305pub const kIOHIDElementMaxKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Max\0") };
306/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementscaledminkey?language=objc)
307pub const kIOHIDElementScaledMinKey: &CStr =
308    unsafe { CStr::from_bytes_with_nul_unchecked(b"ScaledMin\0") };
309/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementscaledmaxkey?language=objc)
310pub const kIOHIDElementScaledMaxKey: &CStr =
311    unsafe { CStr::from_bytes_with_nul_unchecked(b"ScaledMax\0") };
312/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementsizekey?language=objc)
313pub const kIOHIDElementSizeKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Size\0") };
314/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementreportsizekey?language=objc)
315pub const kIOHIDElementReportSizeKey: &CStr =
316    unsafe { CStr::from_bytes_with_nul_unchecked(b"ReportSize\0") };
317/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementreportcountkey?language=objc)
318pub const kIOHIDElementReportCountKey: &CStr =
319    unsafe { CStr::from_bytes_with_nul_unchecked(b"ReportCount\0") };
320/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementreportidkey?language=objc)
321pub const kIOHIDElementReportIDKey: &CStr =
322    unsafe { CStr::from_bytes_with_nul_unchecked(b"ReportID\0") };
323/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementisarraykey?language=objc)
324pub const kIOHIDElementIsArrayKey: &CStr =
325    unsafe { CStr::from_bytes_with_nul_unchecked(b"IsArray\0") };
326/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementisrelativekey?language=objc)
327pub const kIOHIDElementIsRelativeKey: &CStr =
328    unsafe { CStr::from_bytes_with_nul_unchecked(b"IsRelative\0") };
329/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementiswrappingkey?language=objc)
330pub const kIOHIDElementIsWrappingKey: &CStr =
331    unsafe { CStr::from_bytes_with_nul_unchecked(b"IsWrapping\0") };
332/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementisnonlinearkey?language=objc)
333pub const kIOHIDElementIsNonLinearKey: &CStr =
334    unsafe { CStr::from_bytes_with_nul_unchecked(b"IsNonLinear\0") };
335/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementhaspreferredstatekey?language=objc)
336pub const kIOHIDElementHasPreferredStateKey: &CStr =
337    unsafe { CStr::from_bytes_with_nul_unchecked(b"HasPreferredState\0") };
338/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementhasnullstatekey?language=objc)
339pub const kIOHIDElementHasNullStateKey: &CStr =
340    unsafe { CStr::from_bytes_with_nul_unchecked(b"HasNullState\0") };
341/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementflagskey?language=objc)
342pub const kIOHIDElementFlagsKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Flags\0") };
343/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementunitkey?language=objc)
344pub const kIOHIDElementUnitKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Unit\0") };
345/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementunitexponentkey?language=objc)
346pub const kIOHIDElementUnitExponentKey: &CStr =
347    unsafe { CStr::from_bytes_with_nul_unchecked(b"UnitExponent\0") };
348/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementnamekey?language=objc)
349pub const kIOHIDElementNameKey: &CStr = unsafe { CStr::from_bytes_with_nul_unchecked(b"Name\0") };
350/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementvaluelocationkey?language=objc)
351pub const kIOHIDElementValueLocationKey: &CStr =
352    unsafe { CStr::from_bytes_with_nul_unchecked(b"ValueLocation\0") };
353/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementduplicateindexkey?language=objc)
354pub const kIOHIDElementDuplicateIndexKey: &CStr =
355    unsafe { CStr::from_bytes_with_nul_unchecked(b"DuplicateIndex\0") };
356/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementparentcollectionkey?language=objc)
357pub const kIOHIDElementParentCollectionKey: &CStr =
358    unsafe { CStr::from_bytes_with_nul_unchecked(b"ParentCollection\0") };
359/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementvariablesizekey?language=objc)
360pub const kIOHIDElementVariableSizeKey: &CStr =
361    unsafe { CStr::from_bytes_with_nul_unchecked(b"VariableSize\0") };
362/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementvendorspecifickey?language=objc)
363pub const kIOHIDElementVendorSpecificKey: &CStr =
364    unsafe { CStr::from_bytes_with_nul_unchecked(b"VendorSpecific\0") };
365/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementcookieminkey?language=objc)
366pub const kIOHIDElementCookieMinKey: &CStr =
367    unsafe { CStr::from_bytes_with_nul_unchecked(b"ElementCookieMin\0") };
368/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementcookiemaxkey?language=objc)
369pub const kIOHIDElementCookieMaxKey: &CStr =
370    unsafe { CStr::from_bytes_with_nul_unchecked(b"ElementCookieMax\0") };
371/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementusageminkey?language=objc)
372pub const kIOHIDElementUsageMinKey: &CStr =
373    unsafe { CStr::from_bytes_with_nul_unchecked(b"UsageMin\0") };
374/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementusagemaxkey?language=objc)
375pub const kIOHIDElementUsageMaxKey: &CStr =
376    unsafe { CStr::from_bytes_with_nul_unchecked(b"UsageMax\0") };
377/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementcalibrationminkey?language=objc)
378pub const kIOHIDElementCalibrationMinKey: &CStr =
379    unsafe { CStr::from_bytes_with_nul_unchecked(b"CalibrationMin\0") };
380/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementcalibrationmaxkey?language=objc)
381pub const kIOHIDElementCalibrationMaxKey: &CStr =
382    unsafe { CStr::from_bytes_with_nul_unchecked(b"CalibrationMax\0") };
383/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementcalibrationsaturationminkey?language=objc)
384pub const kIOHIDElementCalibrationSaturationMinKey: &CStr =
385    unsafe { CStr::from_bytes_with_nul_unchecked(b"CalibrationSaturationMin\0") };
386/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementcalibrationsaturationmaxkey?language=objc)
387pub const kIOHIDElementCalibrationSaturationMaxKey: &CStr =
388    unsafe { CStr::from_bytes_with_nul_unchecked(b"CalibrationSaturationMax\0") };
389/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementcalibrationdeadzoneminkey?language=objc)
390pub const kIOHIDElementCalibrationDeadZoneMinKey: &CStr =
391    unsafe { CStr::from_bytes_with_nul_unchecked(b"CalibrationDeadZoneMin\0") };
392/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementcalibrationdeadzonemaxkey?language=objc)
393pub const kIOHIDElementCalibrationDeadZoneMaxKey: &CStr =
394    unsafe { CStr::from_bytes_with_nul_unchecked(b"CalibrationDeadZoneMax\0") };
395/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementcalibrationgranularitykey?language=objc)
396pub const kIOHIDElementCalibrationGranularityKey: &CStr =
397    unsafe { CStr::from_bytes_with_nul_unchecked(b"CalibrationGranularity\0") };
398/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardsupportsesckey?language=objc)
399pub const kIOHIDKeyboardSupportsEscKey: &CStr =
400    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDKeyboardSupportsEscKey\0") };
401/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardsupportsdonotdisturbkey?language=objc)
402pub const kIOHIDKeyboardSupportsDoNotDisturbKey: &CStr =
403    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDKeyboardSupportsDoNotDisturbKey\0") };
404/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddigitizergesturecharacterstatekey?language=objc)
405pub const kIOHIDDigitizerGestureCharacterStateKey: &CStr =
406    unsafe { CStr::from_bytes_with_nul_unchecked(b"DigitizerCharacterGestureState\0") };
407/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidsystembuttonpressedduringdarkboot?language=objc)
408pub const kIOHIDSystemButtonPressedDuringDarkBoot: c_uint =
409    iokit_family_msg!(sub_iokit_hidsystem, 7);
410/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardcapslockdelay?language=objc)
411pub const kIOHIDKeyboardCapsLockDelay: &CStr =
412    unsafe { CStr::from_bytes_with_nul_unchecked(b"CapsLockDelay\0") };
413/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardejectdelay?language=objc)
414pub const kIOHIDKeyboardEjectDelay: &CStr =
415    unsafe { CStr::from_bytes_with_nul_unchecked(b"EjectDelay\0") };
416/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kfnfunctionusagemapkey?language=objc)
417pub const kFnFunctionUsageMapKey: &CStr =
418    unsafe { CStr::from_bytes_with_nul_unchecked(b"FnFunctionUsageMap\0") };
419/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kfnkeyboardusagemapkey?language=objc)
420pub const kFnKeyboardUsageMapKey: &CStr =
421    unsafe { CStr::from_bytes_with_nul_unchecked(b"FnKeyboardUsageMap\0") };
422/// [Apple's documentation](https://developer.apple.com/documentation/iokit/knumlockkeyboardusagemapkey?language=objc)
423pub const kNumLockKeyboardUsageMapKey: &CStr =
424    unsafe { CStr::from_bytes_with_nul_unchecked(b"NumLockKeyboardUsageMap\0") };
425/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kkeyboardusagemapkey?language=objc)
426pub const kKeyboardUsageMapKey: &CStr =
427    unsafe { CStr::from_bytes_with_nul_unchecked(b"KeyboardUsageMap\0") };
428/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddeviceopenedbyeventsystemkey?language=objc)
429pub const kIOHIDDeviceOpenedByEventSystemKey: &CStr =
430    unsafe { CStr::from_bytes_with_nul_unchecked(b"DeviceOpenedByEventSystem\0") };
431/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddevicesuspendkey?language=objc)
432pub const kIOHIDDeviceSuspendKey: &CStr =
433    unsafe { CStr::from_bytes_with_nul_unchecked(b"IOHIDDeviceSuspend\0") };
434/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidmaxreportbuffercountkey?language=objc)
435pub const kIOHIDMaxReportBufferCountKey: &CStr =
436    unsafe { CStr::from_bytes_with_nul_unchecked(b"MaxReportBufferCount\0") };
437/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidreportbufferentrysizekey?language=objc)
438pub const kIOHIDReportBufferEntrySizeKey: &CStr =
439    unsafe { CStr::from_bytes_with_nul_unchecked(b"ReportBufferEntrySize\0") };
440/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidsensorpropertyreportintervalkey?language=objc)
441pub const kIOHIDSensorPropertyReportIntervalKey: &CStr = kIOHIDReportIntervalKey;
442/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidsensorpropertysampleintervalkey?language=objc)
443pub const kIOHIDSensorPropertySampleIntervalKey: &CStr = kIOHIDSampleIntervalKey;
444/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidsensorpropertybatchintervalkey?language=objc)
445pub const kIOHIDSensorPropertyBatchIntervalKey: &CStr = kIOHIDBatchIntervalKey;
446/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidsensorpropertyreportlatencykey?language=objc)
447pub const kIOHIDSensorPropertyReportLatencyKey: &CStr = kIOHIDSensorPropertyBatchIntervalKey;
448/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidsensorpropertymaxfifoeventskey?language=objc)
449pub const kIOHIDSensorPropertyMaxFIFOEventsKey: &CStr =
450    unsafe { CStr::from_bytes_with_nul_unchecked(b"MaxFIFOEvents\0") };
451/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohiddigitizersurfaceswitchkey?language=objc)
452pub const kIOHIDDigitizerSurfaceSwitchKey: &CStr =
453    unsafe { CStr::from_bytes_with_nul_unchecked(b"DigitizerSurfaceSwitch\0") };
454/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardlayoutvaluekey?language=objc)
455pub const kIOHIDKeyboardLayoutValueKey: &CStr =
456    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDKeyboardLayoutValue\0") };
457/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidpointeraccelerationalgorithmkey?language=objc)
458pub const kIOHIDPointerAccelerationAlgorithmKey: &CStr =
459    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDPointerAccelerationAlgorithm\0") };
460/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidscrollaccelerationalgorithmkey?language=objc)
461pub const kIOHIDScrollAccelerationAlgorithmKey: &CStr =
462    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDScrollAccelerationAlgorithm\0") };
463/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidpointeraccelerationminimumkey?language=objc)
464pub const kIOHIDPointerAccelerationMinimumKey: &CStr =
465    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDPointerAccelerationMinimum\0") };
466/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidprimarytrackpadcanbedisabledkey?language=objc)
467pub const kIOHIDPrimaryTrackpadCanBeDisabledKey: &CStr =
468    unsafe { CStr::from_bytes_with_nul_unchecked(b"PrimaryTrackpadCanBeDisabled\0") };
469/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardfunctionkeycountkey?language=objc)
470pub const kIOHIDKeyboardFunctionKeyCountKey: &CStr =
471    unsafe { CStr::from_bytes_with_nul_unchecked(b"HIDKeyboardFunctionKeyCount\0") };
472/// Describes different type of HID reports.
473///
474/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidreporttype?language=objc)
475#[repr(transparent)]
476#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
477pub struct IOHIDReportType(pub c_uint);
478impl IOHIDReportType {
479    #[doc(alias = "kIOHIDReportTypeInput")]
480    pub const Input: Self = Self(0);
481    #[doc(alias = "kIOHIDReportTypeOutput")]
482    pub const Output: Self = Self(1);
483    #[doc(alias = "kIOHIDReportTypeFeature")]
484    pub const Feature: Self = Self(2);
485    #[doc(alias = "kIOHIDReportTypeCount")]
486    pub const Count: Self = Self(3);
487}
488
489#[cfg(feature = "objc2")]
490unsafe impl Encode for IOHIDReportType {
491    const ENCODING: Encoding = c_uint::ENCODING;
492}
493
494#[cfg(feature = "objc2")]
495unsafe impl RefEncode for IOHIDReportType {
496    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
497}
498
499/// Commit direction passed in to the commit() function of an IOHIDElement.
500///
501/// Field: kIOHIDElementCommitDirectionIn
502/// Passing in kIOHIDElementCommitDirectionIn will issue a getReport call to the
503/// device, and the element  will be updated with the value retrieved by the
504/// device. The value can be accessed via the getValue() or getDataValue()
505/// functions.
506///
507/// Field: kIOHIDElementCommitDirectionOut
508/// Passing in kIOHIDElementCommitDirectionOut will issue a setReport call to the
509/// device. Before issuing this call, the desired value should be set on the
510/// element with the setValue() or setDataValue() functions.
511///
512/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidelementcommitdirection?language=objc)
513#[repr(transparent)]
514#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
515pub struct IOHIDElementCommitDirection(pub c_uint);
516impl IOHIDElementCommitDirection {
517    #[doc(alias = "kIOHIDElementCommitDirectionIn")]
518    pub const In: Self = Self(0);
519    #[doc(alias = "kIOHIDElementCommitDirectionOut")]
520    pub const Out: Self = Self(1);
521}
522
523#[cfg(feature = "objc2")]
524unsafe impl Encode for IOHIDElementCommitDirection {
525    const ENCODING: Encoding = c_uint::ENCODING;
526}
527
528#[cfg(feature = "objc2")]
529unsafe impl RefEncode for IOHIDElementCommitDirection {
530    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
531}
532
533/// Abstract data type used as a unique identifier for an element.
534///
535/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidelementcookie?language=objc)
536pub type IOHIDElementCookie = u32;
537
538/// Describes different types of HID elements.
539///
540///
541/// Used by the IOHIDFamily to identify the type of element processed.
542/// Represented by the key kIOHIDElementTypeKey in the dictionary describing the
543/// element.
544///
545/// Field: kIOHIDElementTypeInput_Misc
546/// Misc input data field or varying size.
547///
548/// Field: kIOHIDElementTypeInput_Button
549/// One bit input data field.
550///
551/// Field: kIOHIDElementTypeInput_Axis
552/// Input data field used to represent an axis.
553///
554/// Field: kIOHIDElementTypeInput_ScanCodes
555/// Input data field used to represent a scan code or usage selector.
556///
557/// Field: kIOHIDElementTypeInput_NULL
558/// Input data field used to represent the end of an input report when receiving
559/// input elements.
560///
561/// Field: kIOHIDElementTypeOutput
562/// Used to represent an output data field in a report.
563///
564/// Field: kIOHIDElementTypeFeature
565/// Describes input and output elements not intended for consumption by the end
566/// user.
567///
568/// Field: kIOHIDElementTypeCollection
569/// Element used to identify a relationship between two or more elements.
570///
571/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidelementtype?language=objc)
572#[repr(transparent)]
573#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
574pub struct IOHIDElementType(pub c_uint);
575impl IOHIDElementType {
576    #[doc(alias = "kIOHIDElementTypeInput_Misc")]
577    pub const Input_Misc: Self = Self(1);
578    #[doc(alias = "kIOHIDElementTypeInput_Button")]
579    pub const Input_Button: Self = Self(2);
580    #[doc(alias = "kIOHIDElementTypeInput_Axis")]
581    pub const Input_Axis: Self = Self(3);
582    #[doc(alias = "kIOHIDElementTypeInput_ScanCodes")]
583    pub const Input_ScanCodes: Self = Self(4);
584    #[doc(alias = "kIOHIDElementTypeInput_NULL")]
585    pub const Input_NULL: Self = Self(5);
586    #[doc(alias = "kIOHIDElementTypeOutput")]
587    pub const Output: Self = Self(129);
588    #[doc(alias = "kIOHIDElementTypeFeature")]
589    pub const Feature: Self = Self(257);
590    #[doc(alias = "kIOHIDElementTypeCollection")]
591    pub const Collection: Self = Self(513);
592}
593
594#[cfg(feature = "objc2")]
595unsafe impl Encode for IOHIDElementType {
596    const ENCODING: Encoding = c_uint::ENCODING;
597}
598
599#[cfg(feature = "objc2")]
600unsafe impl RefEncode for IOHIDElementType {
601    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
602}
603
604/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementflagsconstantmask?language=objc)
605pub const kIOHIDElementFlagsConstantMask: c_uint = 0x0001;
606/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementflagsvariablemask?language=objc)
607pub const kIOHIDElementFlagsVariableMask: c_uint = 0x0002;
608/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementflagsrelativemask?language=objc)
609pub const kIOHIDElementFlagsRelativeMask: c_uint = 0x0004;
610/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementflagswrapmask?language=objc)
611pub const kIOHIDElementFlagsWrapMask: c_uint = 0x0008;
612/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementflagsnonlinearmask?language=objc)
613pub const kIOHIDElementFlagsNonLinearMask: c_uint = 0x0010;
614/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementflagsnopreferredmask?language=objc)
615pub const kIOHIDElementFlagsNoPreferredMask: c_uint = 0x0020;
616/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementflagsnullstatemask?language=objc)
617pub const kIOHIDElementFlagsNullStateMask: c_uint = 0x0040;
618/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementflagsvolativemask?language=objc)
619pub const kIOHIDElementFlagsVolativeMask: c_uint = 0x0080;
620/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidelementflagsbufferedbytemask?language=objc)
621pub const kIOHIDElementFlagsBufferedByteMask: c_uint = 0x0100;
622
623/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidelementflags?language=objc)
624pub type IOHIDElementFlags = u32;
625
626/// Describes different types of HID collections.
627///
628///
629/// Collections identify a relationship between two or more elements.
630///
631/// Field: kIOHIDElementCollectionTypePhysical
632/// Used for a set of data items that represent data points collected at one
633/// geometric point.
634///
635/// Field: kIOHIDElementCollectionTypeApplication
636/// Identifies item groups serving different purposes in a single device.
637///
638/// Field: kIOHIDElementCollectionTypeLogical
639/// Used when a set of data items form a composite data structure.
640///
641/// Field: kIOHIDElementCollectionTypeReport
642/// Wraps all the fields in a report.
643///
644/// Field: kIOHIDElementCollectionTypeNamedArray
645/// Contains an array of selector usages.
646///
647/// Field: kIOHIDElementCollectionTypeUsageSwitch
648/// Modifies the meaning of the usage it contains.
649///
650/// Field: kIOHIDElementCollectionTypeUsageModifier
651/// Modifies the meaning of the usage attached to the encompassing collection.
652///
653/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidelementcollectiontype?language=objc)
654#[repr(transparent)]
655#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
656pub struct IOHIDElementCollectionType(pub c_uint);
657impl IOHIDElementCollectionType {
658    #[doc(alias = "kIOHIDElementCollectionTypePhysical")]
659    pub const Physical: Self = Self(0x00);
660    #[doc(alias = "kIOHIDElementCollectionTypeApplication")]
661    pub const Application: Self = Self(1);
662    #[doc(alias = "kIOHIDElementCollectionTypeLogical")]
663    pub const Logical: Self = Self(2);
664    #[doc(alias = "kIOHIDElementCollectionTypeReport")]
665    pub const Report: Self = Self(3);
666    #[doc(alias = "kIOHIDElementCollectionTypeNamedArray")]
667    pub const NamedArray: Self = Self(4);
668    #[doc(alias = "kIOHIDElementCollectionTypeUsageSwitch")]
669    pub const UsageSwitch: Self = Self(5);
670    #[doc(alias = "kIOHIDElementCollectionTypeUsageModifier")]
671    pub const UsageModifier: Self = Self(6);
672}
673
674#[cfg(feature = "objc2")]
675unsafe impl Encode for IOHIDElementCollectionType {
676    const ENCODING: Encoding = c_uint::ENCODING;
677}
678
679#[cfg(feature = "objc2")]
680unsafe impl RefEncode for IOHIDElementCollectionType {
681    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
682}
683
684/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidvaluescaletypecalibrated?language=objc)
685pub const kIOHIDValueScaleTypeCalibrated: c_uint = 0;
686/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidvaluescaletypephysical?language=objc)
687pub const kIOHIDValueScaleTypePhysical: c_uint = 1;
688/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidvaluescaletypeexponent?language=objc)
689pub const kIOHIDValueScaleTypeExponent: c_uint = 2;
690
691/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidvaluescaletype?language=objc)
692pub type IOHIDValueScaleType = u32;
693
694/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidvalueoptionsflagrelativesimple?language=objc)
695pub const kIOHIDValueOptionsFlagRelativeSimple: c_uint = 1 << 0;
696/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidvalueoptionsflagprevious?language=objc)
697pub const kIOHIDValueOptionsFlagPrevious: c_uint = 1 << 1;
698/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidvalueoptionsupdateelementvalues?language=objc)
699pub const kIOHIDValueOptionsUpdateElementValues: c_uint = 1 << 2;
700
701/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidvalueoptions?language=objc)
702pub type IOHIDValueOptions = u32;
703
704/// Function called when set/get report completes
705///
706///
707/// Parameter `target`: The target specified in the IOHIDCompletion struct.
708///
709///
710/// Parameter `parameter`: The parameter specified in the IOHIDCompletion struct.
711///
712///
713/// Parameter `status`: Completion status
714///
715/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidcompletionaction?language=objc)
716pub type IOHIDCompletionAction =
717    Option<unsafe extern "C-unwind" fn(*mut c_void, *mut c_void, IOReturn, u32)>;
718
719/// Struct specifying action to perform when set/get report completes.
720///
721///
722/// The target to pass to the action function.
723///
724///
725/// The function to call.
726///
727///
728/// The parameter to pass to the action function.
729///
730/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidcompletion?language=objc)
731#[repr(C)]
732#[allow(unpredictable_function_pointer_comparisons)]
733#[derive(Clone, Copy, Debug, PartialEq)]
734pub struct IOHIDCompletion {
735    pub target: *mut c_void,
736    pub action: IOHIDCompletionAction,
737    pub parameter: *mut c_void,
738}
739
740#[cfg(feature = "objc2")]
741unsafe impl Encode for IOHIDCompletion {
742    const ENCODING: Encoding = Encoding::Struct(
743        "IOHIDCompletion",
744        &[
745            <*mut c_void>::ENCODING,
746            <IOHIDCompletionAction>::ENCODING,
747            <*mut c_void>::ENCODING,
748        ],
749    );
750}
751
752#[cfg(feature = "objc2")]
753unsafe impl RefEncode for IOHIDCompletion {
754    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
755}
756
757/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidreportoptionnotinterrupt?language=objc)
758pub const kIOHIDReportOptionNotInterrupt: c_uint = 0x100;
759/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidreportoptionvariablesize?language=objc)
760pub const kIOHIDReportOptionVariableSize: c_uint = 0x200;
761
762/// Type of the report command for DriverKit driver
763///
764/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/hidreportcommandtype?language=objc)
765#[repr(transparent)]
766#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
767pub struct HIDReportCommandType(pub c_uint);
768impl HIDReportCommandType {
769    #[doc(alias = "kIOHIDReportCommandSetReport")]
770    pub const IOHIDReportCommandSetReport: Self = Self(0);
771    #[doc(alias = "kIOHIDReportCommandGetReport")]
772    pub const IOHIDReportCommandGetReport: Self = Self(1);
773}
774
775#[cfg(feature = "objc2")]
776unsafe impl Encode for HIDReportCommandType {
777    const ENCODING: Encoding = c_uint::ENCODING;
778}
779
780#[cfg(feature = "objc2")]
781unsafe impl RefEncode for HIDReportCommandType {
782    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
783}
784
785/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidoptionstypenone?language=objc)
786pub const kIOHIDOptionsTypeNone: c_uint = 0x00;
787/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidoptionstypeseizedevice?language=objc)
788pub const kIOHIDOptionsTypeSeizeDevice: c_uint = 0x01;
789/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidoptionstypemaskprivate?language=objc)
790pub const kIOHIDOptionsTypeMaskPrivate: c_uint = 0xff0000;
791
792/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidoptionstype?language=objc)
793pub type IOHIDOptionsType = u32;
794
795/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidqueueoptionstypenone?language=objc)
796pub const kIOHIDQueueOptionsTypeNone: c_uint = 0x00;
797/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidqueueoptionstypeenqueueall?language=objc)
798pub const kIOHIDQueueOptionsTypeEnqueueAll: c_uint = 0x01;
799
800/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidqueueoptionstype?language=objc)
801pub type IOHIDQueueOptionsType = u32;
802
803/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidstandardtypeansi?language=objc)
804pub const kIOHIDStandardTypeANSI: c_uint = 0x0;
805/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidstandardtypeiso?language=objc)
806pub const kIOHIDStandardTypeISO: c_uint = 0x1;
807/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidstandardtypejis?language=objc)
808pub const kIOHIDStandardTypeJIS: c_uint = 0x2;
809/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidstandardtypeunspecified?language=objc)
810pub const kIOHIDStandardTypeUnspecified: c_uint = 0xFFFFFFFF;
811
812/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidstandardtype?language=objc)
813pub type IOHIDStandardType = u32;
814
815/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardphysicallayouttypeunknown?language=objc)
816pub const kIOHIDKeyboardPhysicalLayoutTypeUnknown: c_uint = 0x0;
817/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardphysicallayouttype101?language=objc)
818pub const kIOHIDKeyboardPhysicalLayoutType101: c_uint = 0x1;
819/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardphysicallayouttype103?language=objc)
820pub const kIOHIDKeyboardPhysicalLayoutType103: c_uint = 0x2;
821/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardphysicallayouttype102?language=objc)
822pub const kIOHIDKeyboardPhysicalLayoutType102: c_uint = 0x3;
823/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardphysicallayouttype104?language=objc)
824pub const kIOHIDKeyboardPhysicalLayoutType104: c_uint = 0x4;
825/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardphysicallayouttype106?language=objc)
826pub const kIOHIDKeyboardPhysicalLayoutType106: c_uint = 0x5;
827/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidkeyboardphysicallayouttypevendor?language=objc)
828pub const kIOHIDKeyboardPhysicalLayoutTypeVendor: c_uint = 0x6;
829
830/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidkeyboardphysicallayouttype?language=objc)
831pub type IOHIDKeyboardPhysicalLayoutType = u32;
832
833/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidaccelerationalgorithmtypetable?language=objc)
834pub const kIOHIDAccelerationAlgorithmTypeTable: c_uint = 0;
835/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidaccelerationalgorithmtypeparametric?language=objc)
836pub const kIOHIDAccelerationAlgorithmTypeParametric: c_uint = 1;
837/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidaccelerationalgorithmtypedefault?language=objc)
838pub const kIOHIDAccelerationAlgorithmTypeDefault: c_uint = 2;
839
840/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidaccelerationalgorithmtype?language=objc)
841pub type IOHIDAccelerationAlgorithmType = u8;
842
843/// This is the type of a reference to the IOHIDDevice.
844///
845/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohiddevice?language=objc)
846#[doc(alias = "IOHIDDeviceRef")]
847#[repr(C)]
848pub struct IOHIDDevice {
849    inner: [u8; 0],
850    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
851}
852
853cf_type!(
854    unsafe impl IOHIDDevice {}
855);
856#[cfg(feature = "objc2")]
857cf_objc2_type!(
858    unsafe impl RefEncode<"__IOHIDDevice"> for IOHIDDevice {}
859);
860
861/// This is the type of a reference to the IOHIDElement.
862///
863/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidelement?language=objc)
864#[doc(alias = "IOHIDElementRef")]
865#[repr(C)]
866pub struct IOHIDElement {
867    inner: [u8; 0],
868    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
869}
870
871cf_type!(
872    unsafe impl IOHIDElement {}
873);
874#[cfg(feature = "objc2")]
875cf_objc2_type!(
876    unsafe impl RefEncode<"__IOHIDElement"> for IOHIDElement {}
877);
878
879/// This is the type of a reference to the IOHIDValue.
880///
881/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidvalue?language=objc)
882#[doc(alias = "IOHIDValueRef")]
883#[repr(C)]
884pub struct IOHIDValue {
885    inner: [u8; 0],
886    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
887}
888
889cf_type!(
890    unsafe impl IOHIDValue {}
891);
892#[cfg(feature = "objc2")]
893cf_objc2_type!(
894    unsafe impl RefEncode<"__IOHIDValue"> for IOHIDValue {}
895);
896
897/// Direction for an IOHIDDeviceTransactionInterface.
898///
899/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidtransactiondirectiontype?language=objc)
900// NS_ENUM
901#[repr(transparent)]
902#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
903pub struct IOHIDTransactionDirectionType(pub u32);
904impl IOHIDTransactionDirectionType {
905    #[doc(alias = "kIOHIDTransactionDirectionTypeInput")]
906    pub const Input: Self = Self(0);
907    #[doc(alias = "kIOHIDTransactionDirectionTypeOutput")]
908    pub const Output: Self = Self(1);
909}
910
911#[cfg(feature = "objc2")]
912unsafe impl Encode for IOHIDTransactionDirectionType {
913    const ENCODING: Encoding = u32::ENCODING;
914}
915
916#[cfg(feature = "objc2")]
917unsafe impl RefEncode for IOHIDTransactionDirectionType {
918    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
919}
920
921/// Options to be used in conjuntion with an IOHIDDeviceTransactionInterface.
922///
923/// IOHIDDeviceTransactionInterface of direction kIOHIDTransactionDirectionTypeOutput.
924///
925/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/kiohidtransactionoptiondefaultoutputvalue?language=objc)
926pub static kIOHIDTransactionOptionDefaultOutputValue: IOOptionBits = 0x0001;
927
928/// Type and arguments of callout C function that is used when a completion routine is called.
929///
930/// Parameter `context`: void * pointer to your data, often a pointer to an object.
931///
932/// Parameter `result`: Completion result of desired operation.
933///
934/// Parameter `sender`: Interface instance sending the completion routine.
935///
936/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidcallback?language=objc)
937pub type IOHIDCallback = Option<unsafe extern "C-unwind" fn(*mut c_void, IOReturn, *mut c_void)>;
938
939/// Type and arguments of callout C function that is used when a HID report completion routine is called.
940///
941/// Parameter `context`: void * pointer to your data, often a pointer to an object.
942///
943/// Parameter `result`: Completion result of desired operation.
944///
945/// Parameter `sender`: Interface instance sending the completion routine.
946///
947/// Parameter `type`: The type of the report that was completed.
948///
949/// Parameter `reportID`: The ID of the report that was completed.
950///
951/// Parameter `report`: Pointer to the buffer containing the contents of the report.
952///
953/// Parameter `reportLength`: Size of the buffer received upon completion.
954///
955/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidreportcallback?language=objc)
956pub type IOHIDReportCallback = Option<
957    unsafe extern "C-unwind" fn(
958        *mut c_void,
959        IOReturn,
960        *mut c_void,
961        IOHIDReportType,
962        u32,
963        NonNull<u8>,
964        CFIndex,
965    ),
966>;
967
968/// Type and arguments of callout C function that is used when a HID report completion routine is called.
969///
970/// Parameter `context`: void * pointer to your data, often a pointer to an object.
971///
972/// Parameter `result`: Completion result of desired operation.
973///
974/// Parameter `sender`: Interface instance sending the completion routine.
975///
976/// Parameter `type`: The type of the report that was completed.
977///
978/// Parameter `reportID`: The ID of the report that was completed.
979///
980/// Parameter `report`: Pointer to the buffer containing the contents of the report.
981///
982/// Parameter `reportLength`: Size of the buffer received upon completion.
983///
984/// Parameter `timeStamp`: The time at which the report arrived.
985///
986/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidreportwithtimestampcallback?language=objc)
987pub type IOHIDReportWithTimeStampCallback = Option<
988    unsafe extern "C-unwind" fn(
989        *mut c_void,
990        IOReturn,
991        *mut c_void,
992        IOHIDReportType,
993        u32,
994        NonNull<u8>,
995        CFIndex,
996        u64,
997    ),
998>;
999
1000/// Type and arguments of callout C function that is used when an element value completion routine is called.
1001///
1002/// Parameter `context`: void * pointer to more data.
1003///
1004/// Parameter `result`: Completion result of desired operation.
1005///
1006/// Parameter `sender`: Interface instance sending the completion routine.
1007///
1008/// Parameter `value`: IOHIDValueRef containing the returned element value.
1009///
1010/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidvaluecallback?language=objc)
1011pub type IOHIDValueCallback =
1012    Option<unsafe extern "C-unwind" fn(*mut c_void, IOReturn, *mut c_void, NonNull<IOHIDValue>)>;
1013
1014/// Type and arguments of callout C function that is used when an element value completion routine is called.
1015///
1016/// Parameter `context`: void * pointer to more data.
1017///
1018/// Parameter `result`: Completion result of desired operation.
1019///
1020/// Parameter `sender`: Interface instance sending the completion routine.
1021///
1022/// Parameter `multiple`: CFDictionaryRef containing the returned element key value pairs.
1023///
1024/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidvaluemultiplecallback?language=objc)
1025pub type IOHIDValueMultipleCallback =
1026    Option<unsafe extern "C-unwind" fn(*mut c_void, IOReturn, *mut c_void, NonNull<CFDictionary>)>;
1027
1028/// Type and arguments of callout C function that is used when a device routine is called.
1029///
1030/// Parameter `context`: void * pointer to more data.
1031///
1032/// Parameter `result`: Completion result of desired operation.
1033///
1034/// Parameter `device`: IOHIDDeviceRef containing the sending device.
1035///
1036/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohiddevicecallback?language=objc)
1037pub type IOHIDDeviceCallback =
1038    Option<unsafe extern "C-unwind" fn(*mut c_void, IOReturn, *mut c_void, NonNull<IOHIDDevice>)>;
1039
1040/// This is the type of a reference to the IOHIDQueue.
1041///
1042/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidqueue?language=objc)
1043#[doc(alias = "IOHIDQueueRef")]
1044#[repr(C)]
1045pub struct IOHIDQueue {
1046    inner: [u8; 0],
1047    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
1048}
1049
1050cf_type!(
1051    unsafe impl IOHIDQueue {}
1052);
1053#[cfg(feature = "objc2")]
1054cf_objc2_type!(
1055    unsafe impl RefEncode<"__IOHIDQueue"> for IOHIDQueue {}
1056);
1057
1058unsafe impl ConcreteType for IOHIDQueue {
1059    /// Returns the type identifier of all IOHIDQueue instances.
1060    #[doc(alias = "IOHIDQueueGetTypeID")]
1061    #[inline]
1062    fn type_id() -> CFTypeID {
1063        extern "C-unwind" {
1064            fn IOHIDQueueGetTypeID() -> CFTypeID;
1065        }
1066        unsafe { IOHIDQueueGetTypeID() }
1067    }
1068}
1069
1070impl IOHIDQueue {
1071    /// Creates an IOHIDQueue object for the specified device.
1072    ///
1073    /// Take care in specifying an appropriate depth to prevent dropping
1074    /// events.
1075    ///
1076    /// Parameter `allocator`: Allocator to be used during creation.
1077    ///
1078    /// Parameter `device`: IOHIDDevice object
1079    ///
1080    /// Parameter `depth`: The number of values that can be handled by the queue.
1081    ///
1082    /// Parameter `options`: Reserved for future use.
1083    ///
1084    /// Returns: Returns a new IOHIDQueueRef.
1085    #[doc(alias = "IOHIDQueueCreate")]
1086    #[inline]
1087    pub fn new(
1088        allocator: Option<&CFAllocator>,
1089        device: &IOHIDDevice,
1090        depth: CFIndex,
1091        options: IOOptionBits,
1092    ) -> Option<CFRetained<IOHIDQueue>> {
1093        extern "C-unwind" {
1094            fn IOHIDQueueCreate(
1095                allocator: Option<&CFAllocator>,
1096                device: &IOHIDDevice,
1097                depth: CFIndex,
1098                options: IOOptionBits,
1099            ) -> Option<NonNull<IOHIDQueue>>;
1100        }
1101        let ret = unsafe { IOHIDQueueCreate(allocator, device, depth, options) };
1102        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
1103    }
1104
1105    /// Obtain the device associated with the queue.
1106    ///
1107    /// Parameter `queue`: IOHIDQueue to be queried.
1108    ///
1109    /// Returns: Returns the a reference to the device.
1110    #[doc(alias = "IOHIDQueueGetDevice")]
1111    #[inline]
1112    pub fn device(&self) -> CFRetained<IOHIDDevice> {
1113        extern "C-unwind" {
1114            fn IOHIDQueueGetDevice(queue: &IOHIDQueue) -> Option<NonNull<IOHIDDevice>>;
1115        }
1116        let ret = unsafe { IOHIDQueueGetDevice(self) };
1117        let ret =
1118            ret.expect("function was marked as returning non-null, but actually returned NULL");
1119        unsafe { CFRetained::retain(ret) }
1120    }
1121
1122    /// Obtain the depth of the queue.
1123    ///
1124    /// Parameter `queue`: IOHIDQueue to be queried.
1125    ///
1126    /// Returns: Returns the queue depth.
1127    #[doc(alias = "IOHIDQueueGetDepth")]
1128    #[inline]
1129    pub fn depth(&self) -> CFIndex {
1130        extern "C-unwind" {
1131            fn IOHIDQueueGetDepth(queue: &IOHIDQueue) -> CFIndex;
1132        }
1133        unsafe { IOHIDQueueGetDepth(self) }
1134    }
1135
1136    /// Sets the depth of the queue.
1137    ///
1138    /// Set the appropriate depth value based on the number of elements
1139    /// contained in a queue.
1140    ///
1141    /// Parameter `queue`: IOHIDQueue object to be modified.
1142    ///
1143    /// Parameter `depth`: The new queue depth.
1144    #[doc(alias = "IOHIDQueueSetDepth")]
1145    #[inline]
1146    pub fn set_depth(&self, depth: CFIndex) {
1147        extern "C-unwind" {
1148            fn IOHIDQueueSetDepth(queue: &IOHIDQueue, depth: CFIndex);
1149        }
1150        unsafe { IOHIDQueueSetDepth(self, depth) }
1151    }
1152
1153    /// Adds an element to the queue
1154    ///
1155    /// Parameter `queue`: IOHIDQueue object to be modified.
1156    ///
1157    /// Parameter `element`: Element to be added to the queue.
1158    #[doc(alias = "IOHIDQueueAddElement")]
1159    #[inline]
1160    pub fn add_element(&self, element: &IOHIDElement) {
1161        extern "C-unwind" {
1162            fn IOHIDQueueAddElement(queue: &IOHIDQueue, element: &IOHIDElement);
1163        }
1164        unsafe { IOHIDQueueAddElement(self, element) }
1165    }
1166
1167    /// Removes an element from the queue
1168    ///
1169    /// Parameter `queue`: IOHIDQueue object to be modified.
1170    ///
1171    /// Parameter `element`: Element to be removed from the queue.
1172    #[doc(alias = "IOHIDQueueRemoveElement")]
1173    #[inline]
1174    pub fn remove_element(&self, element: &IOHIDElement) {
1175        extern "C-unwind" {
1176            fn IOHIDQueueRemoveElement(queue: &IOHIDQueue, element: &IOHIDElement);
1177        }
1178        unsafe { IOHIDQueueRemoveElement(self, element) }
1179    }
1180
1181    /// Queries the queue to determine if elemement has been added.
1182    ///
1183    /// Parameter `queue`: IOHIDQueue object to be queried.
1184    ///
1185    /// Parameter `element`: Element to be queried.
1186    ///
1187    /// Returns: Returns true or false depending if element is present.
1188    #[doc(alias = "IOHIDQueueContainsElement")]
1189    #[inline]
1190    pub fn contains_element(&self, element: &IOHIDElement) -> bool {
1191        extern "C-unwind" {
1192            fn IOHIDQueueContainsElement(queue: &IOHIDQueue, element: &IOHIDElement) -> Boolean;
1193        }
1194        let ret = unsafe { IOHIDQueueContainsElement(self, element) };
1195        ret != 0
1196    }
1197
1198    /// Starts element value delivery to the queue.
1199    ///
1200    /// When a dispatch queue is assocaited with the IOHIDQueue
1201    /// via IOHIDQueueSetDispatchQueue, the queue does not need
1202    /// to be explicity started, this will be done during activation
1203    /// when IOHIDQueueActivate is called.
1204    ///
1205    /// Parameter `queue`: IOHIDQueue object to be started.
1206    #[doc(alias = "IOHIDQueueStart")]
1207    #[inline]
1208    pub fn start(&self) {
1209        extern "C-unwind" {
1210            fn IOHIDQueueStart(queue: &IOHIDQueue);
1211        }
1212        unsafe { IOHIDQueueStart(self) }
1213    }
1214
1215    /// Stops element value delivery to the queue.
1216    ///
1217    /// When a dispatch queue is assocaited with the IOHIDQueue
1218    /// via IOHIDQueueSetDispatchQueue, the queue does not need
1219    /// to be explicity stopped, this will be done during cancellation
1220    /// when IOHIDQueueCancel is called.
1221    ///
1222    /// Parameter `queue`: IOHIDQueue object to be stopped.
1223    #[doc(alias = "IOHIDQueueStop")]
1224    #[inline]
1225    pub fn stop(&self) {
1226        extern "C-unwind" {
1227            fn IOHIDQueueStop(queue: &IOHIDQueue);
1228        }
1229        unsafe { IOHIDQueueStop(self) }
1230    }
1231
1232    /// Schedules queue with run loop.
1233    ///
1234    /// Formally associates queue with client's run loop. Scheduling
1235    /// this queue with the run loop is necessary before making
1236    /// use of any asynchronous APIs.
1237    ///
1238    /// Parameter `queue`: IOHIDQueue object to be modified.
1239    ///
1240    /// Parameter `runLoop`: RunLoop to be used when scheduling any asynchronous
1241    /// activity.
1242    ///
1243    /// Parameter `runLoopMode`: Run loop mode to be used when scheduling any
1244    /// asynchronous activity.
1245    ///
1246    /// # Safety
1247    ///
1248    /// `run_loop` possibly has additional threading requirements.
1249    #[doc(alias = "IOHIDQueueScheduleWithRunLoop")]
1250    #[inline]
1251    pub unsafe fn schedule_with_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
1252        extern "C-unwind" {
1253            fn IOHIDQueueScheduleWithRunLoop(
1254                queue: &IOHIDQueue,
1255                run_loop: &CFRunLoop,
1256                run_loop_mode: &CFString,
1257            );
1258        }
1259        unsafe { IOHIDQueueScheduleWithRunLoop(self, run_loop, run_loop_mode) }
1260    }
1261
1262    /// Unschedules queue with run loop.
1263    ///
1264    /// Formally disassociates queue with client's run loop.
1265    ///
1266    /// Parameter `queue`: IOHIDQueue object to be modified.
1267    ///
1268    /// Parameter `runLoop`: RunLoop to be used when scheduling any asynchronous
1269    /// activity.
1270    ///
1271    /// Parameter `runLoopMode`: Run loop mode to be used when scheduling any
1272    /// asynchronous activity.
1273    ///
1274    /// # Safety
1275    ///
1276    /// `run_loop` possibly has additional threading requirements.
1277    #[doc(alias = "IOHIDQueueUnscheduleFromRunLoop")]
1278    #[inline]
1279    pub unsafe fn unschedule_from_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
1280        extern "C-unwind" {
1281            fn IOHIDQueueUnscheduleFromRunLoop(
1282                queue: &IOHIDQueue,
1283                run_loop: &CFRunLoop,
1284                run_loop_mode: &CFString,
1285            );
1286        }
1287        unsafe { IOHIDQueueUnscheduleFromRunLoop(self, run_loop, run_loop_mode) }
1288    }
1289
1290    /// Sets the dispatch queue to be associated with the IOHIDQueue.
1291    /// This is necessary in order to receive asynchronous events from the kernel.
1292    ///
1293    ///
1294    /// An IOHIDQueue should not be associated with both a runloop and
1295    /// dispatch queue. A call to IOHIDQueueSetDispatchQueue should only be made once.
1296    ///
1297    /// After a dispatch queue is set, the IOHIDQueue must make a call to activate
1298    /// via IOHIDQueueActivate and cancel via IOHIDQueueCancel. All calls to "Register"
1299    /// functions should be done before activation and not after cancellation.
1300    ///
1301    ///
1302    /// Parameter `queue`: Reference to an IOHIDQueue
1303    ///
1304    ///
1305    /// Parameter `dispatchQueue`: The dispatch queue to which the event handler block will be submitted.
1306    ///
1307    /// # Safety
1308    ///
1309    /// `dispatch_queue` possibly has additional threading requirements.
1310    #[doc(alias = "IOHIDQueueSetDispatchQueue")]
1311    #[cfg(feature = "dispatch2")]
1312    #[inline]
1313    pub unsafe fn set_dispatch_queue(&self, dispatch_queue: &DispatchQueue) {
1314        extern "C-unwind" {
1315            fn IOHIDQueueSetDispatchQueue(queue: &IOHIDQueue, dispatch_queue: &DispatchQueue);
1316        }
1317        unsafe { IOHIDQueueSetDispatchQueue(self, dispatch_queue) }
1318    }
1319
1320    /// Sets a cancellation handler for the dispatch queue associated with
1321    /// IOHIDQueueSetDispatchQueue.
1322    ///
1323    ///
1324    /// The cancellation handler (if specified) will be will be submitted to the
1325    /// queue's dispatch queue in response to a call to IOHIDQueueCancel after all
1326    /// the events have been handled.
1327    ///
1328    /// IOHIDQueueSetCancelHandler should not be used when scheduling with
1329    /// a run loop.
1330    ///
1331    /// The IOHIDQueueRef should only be released after the queue has been
1332    /// cancelled, and the cancel handler has been called. This is to ensure all
1333    /// asynchronous objects are released. For example:
1334    ///
1335    /// dispatch_block_t cancelHandler = dispatch_block_create(0, ^{
1336    /// CFRelease(queue);
1337    /// });
1338    /// IOHIDQueueSetCancelHandler(queue, cancelHandler);
1339    /// IOHIDQueueActivate(queue);
1340    /// IOHIDQueueCancel(queue);
1341    ///
1342    ///
1343    /// Parameter `queue`: Reference to an IOHIDQueue.
1344    ///
1345    ///
1346    /// Parameter `handler`: The cancellation handler block to be associated with the dispatch queue.
1347    ///
1348    /// # Safety
1349    ///
1350    /// `handler` must be a valid pointer.
1351    #[doc(alias = "IOHIDQueueSetCancelHandler")]
1352    #[cfg(feature = "dispatch2")]
1353    #[inline]
1354    pub unsafe fn set_cancel_handler(&self, handler: dispatch_block_t) {
1355        extern "C-unwind" {
1356            fn IOHIDQueueSetCancelHandler(queue: &IOHIDQueue, handler: dispatch_block_t);
1357        }
1358        unsafe { IOHIDQueueSetCancelHandler(self, handler) }
1359    }
1360
1361    /// Activates the IOHIDQueue object.
1362    ///
1363    ///
1364    /// An IOHIDQueue object associated with a dispatch queue is created
1365    /// in an inactive state. The object must be activated in order to
1366    /// receive asynchronous events from the kernel.
1367    ///
1368    /// A dispatch queue must be set via IOHIDQueueSetDispatchQueue before
1369    /// activation.
1370    ///
1371    /// An activated queue must be cancelled via IOHIDQueueCancel. All calls
1372    /// to "Register" functions should be done before activation
1373    /// and not after cancellation.
1374    ///
1375    /// Calling IOHIDQueueActivate on an active IOHIDQueue has no effect.
1376    ///
1377    ///
1378    /// Parameter `queue`: Reference to an IOHIDQueue
1379    #[doc(alias = "IOHIDQueueActivate")]
1380    #[inline]
1381    pub fn activate(&self) {
1382        extern "C-unwind" {
1383            fn IOHIDQueueActivate(queue: &IOHIDQueue);
1384        }
1385        unsafe { IOHIDQueueActivate(self) }
1386    }
1387
1388    /// Cancels the IOHIDQueue preventing any further invocation
1389    /// of its event handler block.
1390    ///
1391    ///
1392    /// Cancelling prevents any further invocation of the event handler block for
1393    /// the specified dispatch queue, but does not interrupt an event handler
1394    /// block that is already in progress.
1395    ///
1396    /// Explicit cancellation of the IOHIDQueue is required, no implicit
1397    /// cancellation takes place.
1398    ///
1399    /// Calling IOHIDQueueCancel on an already cancelled queue has no effect.
1400    ///
1401    /// The IOHIDQueueRef should only be released after the queue has been
1402    /// cancelled, and the cancel handler has been called. This is to ensure all
1403    /// asynchronous objects are released. For example:
1404    ///
1405    /// dispatch_block_t cancelHandler = dispatch_block_create(0, ^{
1406    /// CFRelease(queue);
1407    /// });
1408    /// IOHIDQueueSetCancelHandler(queue, cancelHandler);
1409    /// IOHIDQueueActivate(queue);
1410    /// IOHIDQueueCancel(queue);
1411    ///
1412    ///
1413    /// Parameter `queue`: Reference to an IOHIDQueue
1414    #[doc(alias = "IOHIDQueueCancel")]
1415    #[inline]
1416    pub fn cancel(&self) {
1417        extern "C-unwind" {
1418            fn IOHIDQueueCancel(queue: &IOHIDQueue);
1419        }
1420        unsafe { IOHIDQueueCancel(self) }
1421    }
1422
1423    /// Sets callback to be used when the queue transitions to non-empty.
1424    ///
1425    /// In order to make use of asynchronous behavior, the queue needs
1426    /// to be scheduled with the run loop or dispatch queue.
1427    /// If a dispatch queue is set, this call must occur before activation.
1428    ///
1429    /// Parameter `queue`: IOHIDQueue object to be modified.
1430    ///
1431    /// Parameter `callback`: Callback of type IOHIDCallback to be used when data is
1432    /// placed on the queue.
1433    ///
1434    /// Parameter `context`: Pointer to data to be passed to the callback.
1435    ///
1436    /// # Safety
1437    ///
1438    /// - `callback` must be implemented correctly.
1439    /// - `context` must be a valid pointer or null.
1440    #[doc(alias = "IOHIDQueueRegisterValueAvailableCallback")]
1441    #[inline]
1442    pub unsafe fn register_value_available_callback(
1443        &self,
1444        callback: IOHIDCallback,
1445        context: *mut c_void,
1446    ) {
1447        extern "C-unwind" {
1448            fn IOHIDQueueRegisterValueAvailableCallback(
1449                queue: &IOHIDQueue,
1450                callback: IOHIDCallback,
1451                context: *mut c_void,
1452            );
1453        }
1454        unsafe { IOHIDQueueRegisterValueAvailableCallback(self, callback, context) }
1455    }
1456
1457    /// Dequeues a retained copy of an element value from the head of an
1458    /// IOHIDQueue.
1459    ///
1460    /// Because the value is a retained copy, it is up to the caller to
1461    /// release the value using CFRelease. Use with setValueCallback to
1462    /// avoid polling the queue for data.
1463    ///
1464    /// Parameter `queue`: IOHIDQueue object to be queried.
1465    ///
1466    /// Returns: Returns valid IOHIDValueRef if data is available.
1467    #[doc(alias = "IOHIDQueueCopyNextValue")]
1468    #[inline]
1469    pub fn next_value(&self) -> Option<CFRetained<IOHIDValue>> {
1470        extern "C-unwind" {
1471            fn IOHIDQueueCopyNextValue(queue: &IOHIDQueue) -> Option<NonNull<IOHIDValue>>;
1472        }
1473        let ret = unsafe { IOHIDQueueCopyNextValue(self) };
1474        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
1475    }
1476
1477    /// Dequeues a retained copy of an element value from the head of an
1478    /// IOHIDQueue.  This method will block until either a value is
1479    /// available or it times out.
1480    ///
1481    /// Because the value is a retained copy, it is up to the caller to
1482    /// release the value using CFRelease. Use with setValueCallback to
1483    /// avoid polling the queue for data.
1484    ///
1485    /// Parameter `queue`: IOHIDQueue object to be queried.
1486    ///
1487    /// Parameter `timeout`: Timeout before aborting an attempt to dequeue a value
1488    /// from the head of a queue.
1489    ///
1490    /// Returns: Returns valid IOHIDValueRef if data is available.
1491    #[doc(alias = "IOHIDQueueCopyNextValueWithTimeout")]
1492    #[inline]
1493    pub fn next_value_with_timeout(
1494        &self,
1495        timeout: CFTimeInterval,
1496    ) -> Option<CFRetained<IOHIDValue>> {
1497        extern "C-unwind" {
1498            fn IOHIDQueueCopyNextValueWithTimeout(
1499                queue: &IOHIDQueue,
1500                timeout: CFTimeInterval,
1501            ) -> Option<NonNull<IOHIDValue>>;
1502        }
1503        let ret = unsafe { IOHIDQueueCopyNextValueWithTimeout(self, timeout) };
1504        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
1505    }
1506}
1507
1508unsafe impl ConcreteType for IOHIDDevice {
1509    /// Returns the type identifier of all IOHIDDevice instances.
1510    #[doc(alias = "IOHIDDeviceGetTypeID")]
1511    #[inline]
1512    fn type_id() -> CFTypeID {
1513        extern "C-unwind" {
1514            fn IOHIDDeviceGetTypeID() -> CFTypeID;
1515        }
1516        unsafe { IOHIDDeviceGetTypeID() }
1517    }
1518}
1519
1520impl IOHIDDevice {
1521    /// Creates an element from an io_service_t.
1522    ///
1523    /// The io_service_t passed in this method must reference an object
1524    /// in the kernel of type IOHIDDevice.
1525    ///
1526    /// Parameter `allocator`: Allocator to be used during creation.
1527    ///
1528    /// Parameter `service`: Reference to service object in the kernel.
1529    ///
1530    /// Returns: Returns a new IOHIDDeviceRef.
1531    #[doc(alias = "IOHIDDeviceCreate")]
1532    #[cfg(feature = "libc")]
1533    #[inline]
1534    pub fn new(
1535        allocator: Option<&CFAllocator>,
1536        service: io_service_t,
1537    ) -> Option<CFRetained<IOHIDDevice>> {
1538        extern "C-unwind" {
1539            fn IOHIDDeviceCreate(
1540                allocator: Option<&CFAllocator>,
1541                service: io_service_t,
1542            ) -> Option<NonNull<IOHIDDevice>>;
1543        }
1544        let ret = unsafe { IOHIDDeviceCreate(allocator, service) };
1545        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
1546    }
1547
1548    /// Returns the io_service_t for an IOHIDDevice, if it has one.
1549    ///
1550    /// If the IOHIDDevice references an object in the kernel, this is
1551    /// used to get the io_service_t for that object.
1552    ///
1553    /// Parameter `device`: Reference to an IOHIDDevice.
1554    ///
1555    /// Returns: Returns the io_service_t if the IOHIDDevice has one, or
1556    /// MACH_PORT_NULL if it does not.
1557    #[doc(alias = "IOHIDDeviceGetService")]
1558    #[cfg(feature = "libc")]
1559    #[inline]
1560    pub fn service(&self) -> io_service_t {
1561        extern "C-unwind" {
1562            fn IOHIDDeviceGetService(device: &IOHIDDevice) -> io_service_t;
1563        }
1564        unsafe { IOHIDDeviceGetService(self) }
1565    }
1566
1567    /// Opens a HID device for communication.
1568    ///
1569    /// Before the client can issue commands that change the state of
1570    /// the device, it must have succeeded in opening the device. This
1571    /// establishes a link between the client's task and the actual
1572    /// device.  To establish an exclusive link use the
1573    /// kIOHIDOptionsTypeSeizeDevice option.
1574    ///
1575    /// Parameter `device`: Reference to an IOHIDDevice.
1576    ///
1577    /// Parameter `options`: Option bits to be sent down to the device.
1578    ///
1579    /// Returns: Returns kIOReturnSuccess if successful.
1580    #[doc(alias = "IOHIDDeviceOpen")]
1581    #[inline]
1582    pub fn open(&self, options: IOOptionBits) -> IOReturn {
1583        extern "C-unwind" {
1584            fn IOHIDDeviceOpen(device: &IOHIDDevice, options: IOOptionBits) -> IOReturn;
1585        }
1586        unsafe { IOHIDDeviceOpen(self, options) }
1587    }
1588
1589    /// Closes communication with a HID device.
1590    ///
1591    /// This closes a link between the client's task and the actual
1592    /// device.
1593    ///
1594    /// Parameter `device`: Reference to an IOHIDDevice.
1595    ///
1596    /// Parameter `options`: Option bits to be sent down to the device.
1597    ///
1598    /// Returns: Returns kIOReturnSuccess if successful.
1599    #[doc(alias = "IOHIDDeviceClose")]
1600    #[inline]
1601    pub fn close(&self, options: IOOptionBits) -> IOReturn {
1602        extern "C-unwind" {
1603            fn IOHIDDeviceClose(device: &IOHIDDevice, options: IOOptionBits) -> IOReturn;
1604        }
1605        unsafe { IOHIDDeviceClose(self, options) }
1606    }
1607
1608    /// Convenience function that scans the Application Collection
1609    /// elements to see if it conforms to the provided usagePage
1610    /// and usage.
1611    ///
1612    /// Examples of Application Collection usages pairs are:
1613    /// <br>
1614    /// usagePage = kHIDPage_GenericDesktop
1615    /// <br>
1616    /// usage = kHIDUsage_GD_Mouse
1617    /// <br>
1618    /// <b>
1619    /// or
1620    /// </b>
1621    /// <br>
1622    /// usagePage = kHIDPage_GenericDesktop
1623    /// <br>
1624    /// usage = kHIDUsage_GD_Keyboard
1625    ///
1626    /// Parameter `device`: Reference to an IOHIDDevice.
1627    ///
1628    /// Parameter `usagePage`: Device usage page
1629    ///
1630    /// Parameter `usage`: Device usage
1631    ///
1632    /// Returns: Returns TRUE if device conforms to provided usage.
1633    #[doc(alias = "IOHIDDeviceConformsTo")]
1634    #[inline]
1635    pub fn conforms_to(&self, usage_page: u32, usage: u32) -> bool {
1636        extern "C-unwind" {
1637            fn IOHIDDeviceConformsTo(device: &IOHIDDevice, usage_page: u32, usage: u32) -> Boolean;
1638        }
1639        let ret = unsafe { IOHIDDeviceConformsTo(self, usage_page, usage) };
1640        ret != 0
1641    }
1642
1643    /// Obtains a property from an IOHIDDevice.
1644    ///
1645    /// Property keys are prefixed by kIOHIDDevice and declared in
1646    /// <IOKit
1647    /// /hid/IOHIDKeys.h>.
1648    ///
1649    /// Parameter `device`: Reference to an IOHIDDevice.
1650    ///
1651    /// Parameter `key`: CFStringRef containing key to be used when querying the
1652    /// device.
1653    ///
1654    /// Returns: Returns CFTypeRef containing the property.
1655    #[doc(alias = "IOHIDDeviceGetProperty")]
1656    #[inline]
1657    pub fn property(&self, key: &CFString) -> Option<CFRetained<CFType>> {
1658        extern "C-unwind" {
1659            fn IOHIDDeviceGetProperty(
1660                device: &IOHIDDevice,
1661                key: &CFString,
1662            ) -> Option<NonNull<CFType>>;
1663        }
1664        let ret = unsafe { IOHIDDeviceGetProperty(self, key) };
1665        ret.map(|ret| unsafe { CFRetained::retain(ret) })
1666    }
1667
1668    /// Sets a property for an IOHIDDevice.
1669    ///
1670    /// Property keys are prefixed by kIOHIDDevice and declared in
1671    /// <IOKit
1672    /// /hid/IOHIDKeys.h>.
1673    ///
1674    /// Parameter `device`: Reference to an IOHIDDevice.
1675    ///
1676    /// Parameter `key`: CFStringRef containing key to be used when modifiying the
1677    /// device property.
1678    ///
1679    /// Parameter `property`: CFTypeRef containg the property to be set.
1680    ///
1681    /// Returns: Returns TRUE if successful.
1682    ///
1683    /// # Safety
1684    ///
1685    /// `property` should be of the correct type.
1686    #[doc(alias = "IOHIDDeviceSetProperty")]
1687    #[inline]
1688    pub unsafe fn set_property(&self, key: &CFString, property: &CFType) -> bool {
1689        extern "C-unwind" {
1690            fn IOHIDDeviceSetProperty(
1691                device: &IOHIDDevice,
1692                key: &CFString,
1693                property: &CFType,
1694            ) -> Boolean;
1695        }
1696        let ret = unsafe { IOHIDDeviceSetProperty(self, key, property) };
1697        ret != 0
1698    }
1699
1700    /// Obtains HID elements that match the criteria contained in the
1701    /// matching dictionary.
1702    ///
1703    /// Matching keys are prefixed by kIOHIDElement and declared in
1704    /// <IOKit
1705    /// /hid/IOHIDKeys.h>. Passing a NULL dictionary will result
1706    /// in all device elements being returned.
1707    ///
1708    /// Parameter `device`: Reference to an IOHIDDevice.
1709    ///
1710    /// Parameter `matching`: CFDictionaryRef containg element matching criteria.
1711    ///
1712    /// Parameter `options`: Reserved for future use.
1713    ///
1714    /// Returns: Returns CFArrayRef containing multiple IOHIDElement object.
1715    ///
1716    /// # Safety
1717    ///
1718    /// `matching` generics must be of the correct type.
1719    #[doc(alias = "IOHIDDeviceCopyMatchingElements")]
1720    #[inline]
1721    pub unsafe fn matching_elements(
1722        &self,
1723        matching: Option<&CFDictionary>,
1724        options: IOOptionBits,
1725    ) -> Option<CFRetained<CFArray>> {
1726        extern "C-unwind" {
1727            fn IOHIDDeviceCopyMatchingElements(
1728                device: &IOHIDDevice,
1729                matching: Option<&CFDictionary>,
1730                options: IOOptionBits,
1731            ) -> Option<NonNull<CFArray>>;
1732        }
1733        let ret = unsafe { IOHIDDeviceCopyMatchingElements(self, matching, options) };
1734        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
1735    }
1736
1737    /// Schedules HID device with run loop.
1738    ///
1739    /// Formally associates device with client's run loop. Scheduling
1740    /// this device with the run loop is necessary before making use of
1741    /// any asynchronous APIs.
1742    ///
1743    /// Parameter `device`: Reference to an IOHIDDevice.
1744    ///
1745    /// Parameter `runLoop`: RunLoop to be used when scheduling any asynchronous
1746    /// activity.
1747    ///
1748    /// Parameter `runLoopMode`: Run loop mode to be used when scheduling any
1749    /// asynchronous activity.
1750    ///
1751    /// # Safety
1752    ///
1753    /// `run_loop` possibly has additional threading requirements.
1754    #[doc(alias = "IOHIDDeviceScheduleWithRunLoop")]
1755    #[inline]
1756    pub unsafe fn schedule_with_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
1757        extern "C-unwind" {
1758            fn IOHIDDeviceScheduleWithRunLoop(
1759                device: &IOHIDDevice,
1760                run_loop: &CFRunLoop,
1761                run_loop_mode: &CFString,
1762            );
1763        }
1764        unsafe { IOHIDDeviceScheduleWithRunLoop(self, run_loop, run_loop_mode) }
1765    }
1766
1767    /// Unschedules HID device with run loop.
1768    ///
1769    /// Formally disassociates device with client's run loop.
1770    ///
1771    /// Parameter `device`: Reference to an IOHIDDevice.
1772    ///
1773    /// Parameter `runLoop`: RunLoop to be used when unscheduling any asynchronous
1774    /// activity.
1775    ///
1776    /// Parameter `runLoopMode`: Run loop mode to be used when unscheduling any
1777    /// asynchronous activity.
1778    ///
1779    /// # Safety
1780    ///
1781    /// `run_loop` possibly has additional threading requirements.
1782    #[doc(alias = "IOHIDDeviceUnscheduleFromRunLoop")]
1783    #[inline]
1784    pub unsafe fn unschedule_from_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
1785        extern "C-unwind" {
1786            fn IOHIDDeviceUnscheduleFromRunLoop(
1787                device: &IOHIDDevice,
1788                run_loop: &CFRunLoop,
1789                run_loop_mode: &CFString,
1790            );
1791        }
1792        unsafe { IOHIDDeviceUnscheduleFromRunLoop(self, run_loop, run_loop_mode) }
1793    }
1794
1795    /// Sets the dispatch queue to be associated with the IOHIDDevice.
1796    /// This is necessary in order to receive asynchronous events from the kernel.
1797    ///
1798    /// An IOHIDDevice should not be associated with both a runloop and
1799    /// dispatch queue. A call to IOHIDDeviceSetDispatchQueue should only be made once.
1800    /// After a dispatch queue is set, the IOHIDDevice must make a call to activate
1801    /// via IOHIDDeviceActivate and cancel via IOHIDDeviceCancel. All calls to "Register"
1802    /// functions should be done before activation and not after cancellation.
1803    ///
1804    /// Parameter `device`: Reference to an IOHIDDevice
1805    ///
1806    /// Parameter `queue`: The dispatch queue to which the event handler block will be submitted.
1807    ///
1808    /// # Safety
1809    ///
1810    /// `queue` possibly has additional threading requirements.
1811    #[doc(alias = "IOHIDDeviceSetDispatchQueue")]
1812    #[cfg(feature = "dispatch2")]
1813    #[inline]
1814    pub unsafe fn set_dispatch_queue(&self, queue: &DispatchQueue) {
1815        extern "C-unwind" {
1816            fn IOHIDDeviceSetDispatchQueue(device: &IOHIDDevice, queue: &DispatchQueue);
1817        }
1818        unsafe { IOHIDDeviceSetDispatchQueue(self, queue) }
1819    }
1820
1821    /// Sets a cancellation handler for the dispatch queue associated with
1822    /// IOHIDDeviceSetDispatchQueue.
1823    ///
1824    /// The cancellation handler (if specified) will be will be submitted to the
1825    /// device's dispatch queue in response to a call to IOHIDDeviceCancel after
1826    /// all the events have been handled.
1827    /// IOHIDDeviceSetCancelHandler should not be used when scheduling with
1828    /// a run loop.
1829    /// The IOHIDDeviceRef should only be released after the device has been
1830    /// cancelled, and the cancel handler has been called. This is to ensure all
1831    /// asynchronous objects are released. For example:
1832    /// dispatch_block_t cancelHandler = dispatch_block_create(0, ^{
1833    /// CFRelease(device);
1834    /// });
1835    /// IOHIDDeviceSetCancelHandler(device, cancelHandler);
1836    /// IOHIDDeviceActivate(device);
1837    /// IOHIDDeviceCancel(device);
1838    ///
1839    /// Parameter `device`: Reference to an IOHIDDevice.
1840    ///
1841    /// Parameter `handler`: The cancellation handler block to be associated with the dispatch queue.
1842    ///
1843    /// # Safety
1844    ///
1845    /// `handler` must be a valid pointer.
1846    #[doc(alias = "IOHIDDeviceSetCancelHandler")]
1847    #[cfg(feature = "dispatch2")]
1848    #[inline]
1849    pub unsafe fn set_cancel_handler(&self, handler: dispatch_block_t) {
1850        extern "C-unwind" {
1851            fn IOHIDDeviceSetCancelHandler(device: &IOHIDDevice, handler: dispatch_block_t);
1852        }
1853        unsafe { IOHIDDeviceSetCancelHandler(self, handler) }
1854    }
1855
1856    /// Activates the IOHIDDevice object.
1857    ///
1858    /// An IOHIDDevice object associated with a dispatch queue is created
1859    /// in an inactive state. The object must be activated in order to
1860    /// receive asynchronous events from the kernel.
1861    /// A dispatch queue must be set via IOHIDDeviceSetDispatchQueue before
1862    /// activation.
1863    /// An activated device must be cancelled via IOHIDDeviceCancel. All calls
1864    /// to "Register" functions should be done before activation
1865    /// and not after cancellation.
1866    /// Calling IOHIDDeviceActivate on an active IOHIDDevice has no effect.
1867    ///
1868    /// Parameter `device`: Reference to an IOHIDDevice
1869    #[doc(alias = "IOHIDDeviceActivate")]
1870    #[inline]
1871    pub fn activate(&self) {
1872        extern "C-unwind" {
1873            fn IOHIDDeviceActivate(device: &IOHIDDevice);
1874        }
1875        unsafe { IOHIDDeviceActivate(self) }
1876    }
1877
1878    /// Cancels the IOHIDDevice preventing any further invocation
1879    /// of its event handler block.
1880    ///
1881    /// Cancelling prevents any further invocation of the event handler block for
1882    /// the specified dispatch queue, but does not interrupt an event handler
1883    /// block that is already in progress.
1884    /// Explicit cancellation of the IOHIDDevice is required, no implicit
1885    /// cancellation takes place.
1886    /// Calling IOHIDDeviceCancel on an already cancelled queue has no effect.
1887    /// The IOHIDDeviceRef should only be released after the device has been
1888    /// cancelled, and the cancel handler has been called. This is to ensure all
1889    /// asynchronous objects are released. For example:
1890    /// dispatch_block_t cancelHandler = dispatch_block_create(0, ^{
1891    /// CFRelease(device);
1892    /// });
1893    /// IOHIDDeviceSetCancelHandler(device, cancelHandler);
1894    /// IOHIDDeviceActivate(device);
1895    /// IOHIDDeviceCancel(device);
1896    ///
1897    /// Parameter `device`: Reference to an IOHIDDevice
1898    #[doc(alias = "IOHIDDeviceCancel")]
1899    #[inline]
1900    pub fn cancel(&self) {
1901        extern "C-unwind" {
1902            fn IOHIDDeviceCancel(device: &IOHIDDevice);
1903        }
1904        unsafe { IOHIDDeviceCancel(self) }
1905    }
1906
1907    /// Registers a callback to be used when a IOHIDDevice is removed.
1908    ///
1909    /// In most cases this occurs when a device is unplugged.
1910    /// If a dispatch queue is set, this call must occur before activation.
1911    ///
1912    /// Parameter `device`: Reference to an IOHIDDevice.
1913    ///
1914    /// Parameter `callback`: Pointer to a callback method of type IOHIDCallback.
1915    ///
1916    /// Parameter `context`: Pointer to data to be passed to the callback.
1917    ///
1918    /// # Safety
1919    ///
1920    /// - `callback` must be implemented correctly.
1921    /// - `context` must be a valid pointer or null.
1922    #[doc(alias = "IOHIDDeviceRegisterRemovalCallback")]
1923    #[inline]
1924    pub unsafe fn register_removal_callback(&self, callback: IOHIDCallback, context: *mut c_void) {
1925        extern "C-unwind" {
1926            fn IOHIDDeviceRegisterRemovalCallback(
1927                device: &IOHIDDevice,
1928                callback: IOHIDCallback,
1929                context: *mut c_void,
1930            );
1931        }
1932        unsafe { IOHIDDeviceRegisterRemovalCallback(self, callback, context) }
1933    }
1934
1935    /// Registers a callback to be used when an input value is issued by
1936    /// the device.
1937    ///
1938    /// An input element refers to any element of type
1939    /// kIOHIDElementTypeInput and is usually issued by interrupt driven
1940    /// reports. If more specific element values are desired, you can
1941    /// specify matching criteria via IOHIDDeviceSetInputValueMatching
1942    /// and IOHIDDeviceSetInputValueMatchingMultiple.
1943    /// If a dispatch queue is set, this call must occur before activation.
1944    ///
1945    /// Parameter `device`: Reference to an IOHIDDevice.
1946    ///
1947    /// Parameter `callback`: Pointer to a callback method of type IOHIDValueCallback.
1948    ///
1949    /// Parameter `context`: Pointer to data to be passed to the callback.
1950    ///
1951    /// # Safety
1952    ///
1953    /// - `callback` must be implemented correctly.
1954    /// - `context` must be a valid pointer or null.
1955    #[doc(alias = "IOHIDDeviceRegisterInputValueCallback")]
1956    #[inline]
1957    pub unsafe fn register_input_value_callback(
1958        &self,
1959        callback: IOHIDValueCallback,
1960        context: *mut c_void,
1961    ) {
1962        extern "C-unwind" {
1963            fn IOHIDDeviceRegisterInputValueCallback(
1964                device: &IOHIDDevice,
1965                callback: IOHIDValueCallback,
1966                context: *mut c_void,
1967            );
1968        }
1969        unsafe { IOHIDDeviceRegisterInputValueCallback(self, callback, context) }
1970    }
1971
1972    /// Registers a callback to be used when an input report is issued
1973    /// by the device.
1974    ///
1975    /// An input report is an interrupt driver report issued by the
1976    /// device.
1977    /// If a dispatch queue is set, this call must occur before activation.
1978    ///
1979    /// Parameter `device`: Reference to an IOHIDDevice.
1980    ///
1981    /// Parameter `report`: Pointer to preallocated buffer in which to copy inbound
1982    /// report data.
1983    ///
1984    /// Parameter `reportLength`: Length of preallocated buffer.
1985    ///
1986    /// Parameter `callback`: Pointer to a callback method of type
1987    /// IOHIDReportCallback.
1988    ///
1989    /// Parameter `context`: Pointer to data to be passed to the callback.
1990    ///
1991    /// # Safety
1992    ///
1993    /// - `report` must be a valid pointer.
1994    /// - `callback` must be implemented correctly.
1995    /// - `context` must be a valid pointer or null.
1996    #[doc(alias = "IOHIDDeviceRegisterInputReportCallback")]
1997    #[inline]
1998    pub unsafe fn register_input_report_callback(
1999        &self,
2000        report: NonNull<u8>,
2001        report_length: CFIndex,
2002        callback: IOHIDReportCallback,
2003        context: *mut c_void,
2004    ) {
2005        extern "C-unwind" {
2006            fn IOHIDDeviceRegisterInputReportCallback(
2007                device: &IOHIDDevice,
2008                report: NonNull<u8>,
2009                report_length: CFIndex,
2010                callback: IOHIDReportCallback,
2011                context: *mut c_void,
2012            );
2013        }
2014        unsafe {
2015            IOHIDDeviceRegisterInputReportCallback(self, report, report_length, callback, context)
2016        }
2017    }
2018
2019    /// Registers a timestamped callback to be used when an input report is issued
2020    /// by the device.
2021    ///
2022    /// An input report is an interrupt driver report issued by the
2023    /// device.
2024    /// If a dispatch queue is set, this call must occur before activation.
2025    ///
2026    /// Parameter `device`: Reference to an IOHIDDevice.
2027    ///
2028    /// Parameter `report`: Pointer to preallocated buffer in which to copy inbound
2029    /// report data.
2030    ///
2031    /// Parameter `reportLength`: Length of preallocated buffer.
2032    ///
2033    /// Parameter `callback`: Pointer to a callback method of type
2034    /// IOHIDReportWithTimeStampCallback.
2035    ///
2036    /// Parameter `context`: Pointer to data to be passed to the callback.
2037    ///
2038    /// # Safety
2039    ///
2040    /// - `report` must be a valid pointer.
2041    /// - `callback` must be implemented correctly.
2042    /// - `context` must be a valid pointer or null.
2043    #[doc(alias = "IOHIDDeviceRegisterInputReportWithTimeStampCallback")]
2044    #[inline]
2045    pub unsafe fn register_input_report_with_time_stamp_callback(
2046        &self,
2047        report: NonNull<u8>,
2048        report_length: CFIndex,
2049        callback: IOHIDReportWithTimeStampCallback,
2050        context: *mut c_void,
2051    ) {
2052        extern "C-unwind" {
2053            fn IOHIDDeviceRegisterInputReportWithTimeStampCallback(
2054                device: &IOHIDDevice,
2055                report: NonNull<u8>,
2056                report_length: CFIndex,
2057                callback: IOHIDReportWithTimeStampCallback,
2058                context: *mut c_void,
2059            );
2060        }
2061        unsafe {
2062            IOHIDDeviceRegisterInputReportWithTimeStampCallback(
2063                self,
2064                report,
2065                report_length,
2066                callback,
2067                context,
2068            )
2069        }
2070    }
2071
2072    /// Sets matching criteria for input values received via
2073    /// IOHIDDeviceRegisterInputValueCallback.
2074    ///
2075    /// Matching keys are prefixed by kIOHIDElement and declared in
2076    /// <IOKit
2077    /// /hid/IOHIDKeys.h>. Passing a NULL dictionary will result
2078    /// in all devices being enumerated. Any subsequent calls will cause
2079    /// the hid manager to release previously matched input elements and
2080    /// restart the matching process using the revised criteria. If
2081    /// interested in multiple, specific device elements, please defer to
2082    /// using IOHIDDeviceSetInputValueMatchingMultiple.
2083    /// If a dispatch queue is set, this call must occur before activation.
2084    ///
2085    /// Parameter `device`: Reference to an IOHIDDevice.
2086    ///
2087    /// Parameter `matching`: CFDictionaryRef containg device matching criteria.
2088    ///
2089    /// # Safety
2090    ///
2091    /// `matching` generics must be of the correct type.
2092    #[doc(alias = "IOHIDDeviceSetInputValueMatching")]
2093    #[inline]
2094    pub unsafe fn set_input_value_matching(&self, matching: Option<&CFDictionary>) {
2095        extern "C-unwind" {
2096            fn IOHIDDeviceSetInputValueMatching(
2097                device: &IOHIDDevice,
2098                matching: Option<&CFDictionary>,
2099            );
2100        }
2101        unsafe { IOHIDDeviceSetInputValueMatching(self, matching) }
2102    }
2103
2104    /// Sets multiple matching criteria for input values received via
2105    /// IOHIDDeviceRegisterInputValueCallback.
2106    ///
2107    /// Matching keys are prefixed by kIOHIDElement and declared in
2108    /// <IOKit
2109    /// /hid/IOHIDKeys.h>. This method is useful if interested
2110    /// in multiple, specific elements.
2111    /// If a dispatch queue is set, this call must occur before activation.
2112    ///
2113    /// Parameter `device`: Reference to an IOHIDDevice.
2114    ///
2115    /// Parameter `multiple`: CFArrayRef containing multiple CFDictionaryRef objects
2116    /// containg input element matching criteria.
2117    ///
2118    /// # Safety
2119    ///
2120    /// `multiple` generic must be of the correct type.
2121    #[doc(alias = "IOHIDDeviceSetInputValueMatchingMultiple")]
2122    #[inline]
2123    pub unsafe fn set_input_value_matching_multiple(&self, multiple: Option<&CFArray>) {
2124        extern "C-unwind" {
2125            fn IOHIDDeviceSetInputValueMatchingMultiple(
2126                device: &IOHIDDevice,
2127                multiple: Option<&CFArray>,
2128            );
2129        }
2130        unsafe { IOHIDDeviceSetInputValueMatchingMultiple(self, multiple) }
2131    }
2132
2133    /// Sets a value for an element.
2134    ///
2135    /// This method behaves synchronously and will block until the
2136    /// report has been issued to the device. It is only relevent for
2137    /// either output or feature type elements. If setting values for
2138    /// multiple elements you may want to consider using
2139    /// IOHIDDeviceSetValueMultiple or IOHIDTransaction.
2140    ///
2141    /// Parameter `device`: Reference to an IOHIDDevice.
2142    ///
2143    /// Parameter `element`: IOHIDElementRef whose value is to be modified.
2144    ///
2145    /// Parameter `value`: IOHIDValueRef containing value to be set.
2146    ///
2147    /// Returns: Returns kIOReturnSuccess if successful.
2148    #[doc(alias = "IOHIDDeviceSetValue")]
2149    #[inline]
2150    pub fn set_value(&self, element: &IOHIDElement, value: &IOHIDValue) -> IOReturn {
2151        extern "C-unwind" {
2152            fn IOHIDDeviceSetValue(
2153                device: &IOHIDDevice,
2154                element: &IOHIDElement,
2155                value: &IOHIDValue,
2156            ) -> IOReturn;
2157        }
2158        unsafe { IOHIDDeviceSetValue(self, element, value) }
2159    }
2160
2161    /// Sets multiple values for multiple elements.
2162    ///
2163    /// This method behaves synchronously and will block until the
2164    /// report has been issued to the device. It is only relevent for
2165    /// either output or feature type elements.
2166    ///
2167    /// Parameter `device`: Reference to an IOHIDDevice.
2168    ///
2169    /// Parameter `multiple`: CFDictionaryRef where key is IOHIDElementRef and
2170    /// value is IOHIDValueRef.
2171    ///
2172    /// Returns: Returns kIOReturnSuccess if successful.
2173    ///
2174    /// # Safety
2175    ///
2176    /// `multiple` generics must be of the correct type.
2177    #[doc(alias = "IOHIDDeviceSetValueMultiple")]
2178    #[inline]
2179    pub unsafe fn set_value_multiple(&self, multiple: &CFDictionary) -> IOReturn {
2180        extern "C-unwind" {
2181            fn IOHIDDeviceSetValueMultiple(
2182                device: &IOHIDDevice,
2183                multiple: &CFDictionary,
2184            ) -> IOReturn;
2185        }
2186        unsafe { IOHIDDeviceSetValueMultiple(self, multiple) }
2187    }
2188
2189    /// Sets a value for an element.
2190    ///
2191    /// This method currently only behaves synchronously and will not
2192    /// invoke the callback. It is only relevent for either output or
2193    /// feature type elements. If setting values for multiple elements
2194    /// you may want to consider using
2195    /// IOHIDDeviceSetValueMultipleWithCallback or IOHIDTransaction.
2196    ///
2197    /// Parameter `device`: Reference to an IOHIDDevice.
2198    ///
2199    /// Parameter `element`: IOHIDElementRef whose value is to be modified.
2200    ///
2201    /// Parameter `value`: IOHIDValueRef containing value to be set.
2202    ///
2203    /// Parameter `timeout`: Currently unused.
2204    ///
2205    /// Parameter `callback`: Currently unused.
2206    ///
2207    /// Parameter `context`: Pointer to data to be passed to the callback.
2208    ///
2209    /// Returns: Returns kIOReturnSuccess if successful.
2210    ///
2211    /// # Safety
2212    ///
2213    /// - `callback` must be implemented correctly.
2214    /// - `context` must be a valid pointer or null.
2215    #[doc(alias = "IOHIDDeviceSetValueWithCallback")]
2216    #[inline]
2217    pub unsafe fn set_value_with_callback(
2218        &self,
2219        element: &IOHIDElement,
2220        value: &IOHIDValue,
2221        timeout: CFTimeInterval,
2222        callback: IOHIDValueCallback,
2223        context: *mut c_void,
2224    ) -> IOReturn {
2225        extern "C-unwind" {
2226            fn IOHIDDeviceSetValueWithCallback(
2227                device: &IOHIDDevice,
2228                element: &IOHIDElement,
2229                value: &IOHIDValue,
2230                timeout: CFTimeInterval,
2231                callback: IOHIDValueCallback,
2232                context: *mut c_void,
2233            ) -> IOReturn;
2234        }
2235        unsafe { IOHIDDeviceSetValueWithCallback(self, element, value, timeout, callback, context) }
2236    }
2237
2238    /// Sets multiple values for multiple elements and returns status
2239    /// via a completion callback.
2240    ///
2241    /// This method behaves asynchronously and will invoke the callback
2242    /// once the report has been issued to the device. It is only
2243    /// relevent for either output or feature type elements.
2244    ///
2245    /// Parameter `device`: Reference to an IOHIDDevice.
2246    ///
2247    /// Parameter `multiple`: CFDictionaryRef where key is IOHIDElementRef and
2248    /// value is IOHIDValueRef.
2249    ///
2250    /// Parameter `timeout`: CFTimeInterval containing the timeout in milliseconds.
2251    ///
2252    /// Parameter `callback`: Pointer to a callback method of type
2253    /// IOHIDValueMultipleCallback.
2254    ///
2255    /// Parameter `context`: Pointer to data to be passed to the callback.
2256    ///
2257    /// Returns: Returns kIOReturnSuccess if successful.
2258    ///
2259    /// # Safety
2260    ///
2261    /// - `multiple` generics must be of the correct type.
2262    /// - `callback` must be implemented correctly.
2263    /// - `context` must be a valid pointer or null.
2264    #[doc(alias = "IOHIDDeviceSetValueMultipleWithCallback")]
2265    #[inline]
2266    pub unsafe fn set_value_multiple_with_callback(
2267        &self,
2268        multiple: &CFDictionary,
2269        timeout: CFTimeInterval,
2270        callback: IOHIDValueMultipleCallback,
2271        context: *mut c_void,
2272    ) -> IOReturn {
2273        extern "C-unwind" {
2274            fn IOHIDDeviceSetValueMultipleWithCallback(
2275                device: &IOHIDDevice,
2276                multiple: &CFDictionary,
2277                timeout: CFTimeInterval,
2278                callback: IOHIDValueMultipleCallback,
2279                context: *mut c_void,
2280            ) -> IOReturn;
2281        }
2282        unsafe {
2283            IOHIDDeviceSetValueMultipleWithCallback(self, multiple, timeout, callback, context)
2284        }
2285    }
2286
2287    /// Gets a value for an element.
2288    ///
2289    /// This method behaves synchronously and returns immediately
2290    /// for input type elements. If requesting a value for a feature
2291    /// element, this will block until the report has been issued to the
2292    /// device. If obtaining values for multiple elements you may want
2293    /// to consider using IOHIDDeviceCopyValueMultiple or IOHIDTransaction.
2294    ///
2295    /// Parameter `device`: Reference to an IOHIDDevice.
2296    ///
2297    /// Parameter `element`: IOHIDElementRef whose value is to be obtained.
2298    ///
2299    /// Parameter `pValue`: Pointer to IOHIDValueRef to be obtained.
2300    ///
2301    /// Returns: Returns kIOReturnSuccess if successful.
2302    ///
2303    /// # Safety
2304    ///
2305    /// `p_value` must be a valid pointer.
2306    #[doc(alias = "IOHIDDeviceGetValue")]
2307    #[inline]
2308    pub unsafe fn value(
2309        &self,
2310        element: &IOHIDElement,
2311        p_value: NonNull<NonNull<IOHIDValue>>,
2312    ) -> IOReturn {
2313        extern "C-unwind" {
2314            fn IOHIDDeviceGetValue(
2315                device: &IOHIDDevice,
2316                element: &IOHIDElement,
2317                p_value: NonNull<NonNull<IOHIDValue>>,
2318            ) -> IOReturn;
2319        }
2320        unsafe { IOHIDDeviceGetValue(self, element, p_value) }
2321    }
2322}
2323
2324/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohiddevicegetvalueoptions?language=objc)
2325// NS_ENUM
2326#[repr(transparent)]
2327#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
2328pub struct IOHIDDeviceGetValueOptions(pub u32);
2329impl IOHIDDeviceGetValueOptions {
2330    #[doc(alias = "kIOHIDDeviceGetValueWithUpdate")]
2331    pub const WithUpdate: Self = Self(0x00020000);
2332    #[doc(alias = "kIOHIDDeviceGetValueWithoutUpdate")]
2333    pub const WithoutUpdate: Self = Self(0x00040000);
2334}
2335
2336#[cfg(feature = "objc2")]
2337unsafe impl Encode for IOHIDDeviceGetValueOptions {
2338    const ENCODING: Encoding = u32::ENCODING;
2339}
2340
2341#[cfg(feature = "objc2")]
2342unsafe impl RefEncode for IOHIDDeviceGetValueOptions {
2343    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
2344}
2345
2346impl IOHIDDevice {
2347    /// Gets a value for an element.
2348    ///
2349    /// This method behaves synchronously and returns immediately
2350    /// for input type elements. If requesting a value for a feature
2351    /// element, this will block until the report has been issued to the
2352    /// device. If obtaining values for multiple elements you may want
2353    /// to consider using IOHIDDeviceCopyValueMultiple or IOHIDTransaction.
2354    ///
2355    /// Parameter `device`: Reference to an IOHIDDevice.
2356    ///
2357    /// Parameter `element`: IOHIDElementRef whose value is to be obtained.
2358    ///
2359    /// Parameter `pValue`: Pointer to IOHIDValueRef to be obtained.
2360    ///
2361    /// Parameter `options`: (see IOHIDDeviceGetValueOptions).
2362    ///
2363    /// Returns: Returns kIOReturnSuccess if successful.
2364    ///
2365    /// # Safety
2366    ///
2367    /// `p_value` must be a valid pointer.
2368    #[doc(alias = "IOHIDDeviceGetValueWithOptions")]
2369    #[inline]
2370    pub unsafe fn value_with_options(
2371        &self,
2372        element: &IOHIDElement,
2373        p_value: NonNull<NonNull<IOHIDValue>>,
2374        options: u32,
2375    ) -> IOReturn {
2376        extern "C-unwind" {
2377            fn IOHIDDeviceGetValueWithOptions(
2378                device: &IOHIDDevice,
2379                element: &IOHIDElement,
2380                p_value: NonNull<NonNull<IOHIDValue>>,
2381                options: u32,
2382            ) -> IOReturn;
2383        }
2384        unsafe { IOHIDDeviceGetValueWithOptions(self, element, p_value, options) }
2385    }
2386
2387    /// Copies a values for multiple elements.
2388    ///
2389    /// This method behaves synchronously and returns immediately
2390    /// for input type elements. If requesting a value for a feature
2391    /// element, this will block until the report has been issued to the
2392    /// device.
2393    ///
2394    /// Parameter `device`: Reference to an IOHIDDevice.
2395    ///
2396    /// Parameter `elements`: CFArrayRef containing multiple IOHIDElementRefs whose
2397    /// values are to be obtained.
2398    ///
2399    /// Parameter `pMultiple`: Pointer to CFDictionaryRef where the keys are the
2400    /// provided elements and the values are the requested values.
2401    ///
2402    /// Returns: Returns kIOReturnSuccess if successful.
2403    ///
2404    /// # Safety
2405    ///
2406    /// - `elements` generic must be of the correct type.
2407    /// - `p_multiple` must be a valid pointer or null.
2408    #[doc(alias = "IOHIDDeviceCopyValueMultiple")]
2409    #[inline]
2410    pub unsafe fn copy_value_multiple(
2411        &self,
2412        elements: &CFArray,
2413        p_multiple: *mut *const CFDictionary,
2414    ) -> IOReturn {
2415        extern "C-unwind" {
2416            fn IOHIDDeviceCopyValueMultiple(
2417                device: &IOHIDDevice,
2418                elements: &CFArray,
2419                p_multiple: *mut *const CFDictionary,
2420            ) -> IOReturn;
2421        }
2422        unsafe { IOHIDDeviceCopyValueMultiple(self, elements, p_multiple) }
2423    }
2424
2425    /// Gets a value for an element.
2426    ///
2427    /// This method currently only behaves synchronously and will not
2428    /// invoke the callback. It is only relevent for either output or
2429    /// feature type elements. If setting values for multiple elements
2430    /// you may want to consider using
2431    /// IOHIDDeviceCopyValueMultipleWithCallback or IOHIDTransaction.
2432    ///
2433    /// Parameter `device`: Reference to an IOHIDDevice.
2434    ///
2435    /// Parameter `element`: IOHIDElementRef whose value is to be obtained.
2436    ///
2437    /// Parameter `pValue`: Pointer to IOHIDValueRef to be passedback.
2438    ///
2439    /// Parameter `timeout`: Currently unused.
2440    ///
2441    /// Parameter `callback`: Currently unused.
2442    ///
2443    /// Parameter `context`: Pointer to data to be passed to the callback.
2444    ///
2445    /// Returns: Returns kIOReturnSuccess if successful.
2446    ///
2447    /// # Safety
2448    ///
2449    /// - `p_value` must be a valid pointer.
2450    /// - `callback` must be implemented correctly.
2451    /// - `context` must be a valid pointer or null.
2452    #[doc(alias = "IOHIDDeviceGetValueWithCallback")]
2453    #[inline]
2454    pub unsafe fn value_with_callback(
2455        &self,
2456        element: &IOHIDElement,
2457        p_value: NonNull<NonNull<IOHIDValue>>,
2458        timeout: CFTimeInterval,
2459        callback: IOHIDValueCallback,
2460        context: *mut c_void,
2461    ) -> IOReturn {
2462        extern "C-unwind" {
2463            fn IOHIDDeviceGetValueWithCallback(
2464                device: &IOHIDDevice,
2465                element: &IOHIDElement,
2466                p_value: NonNull<NonNull<IOHIDValue>>,
2467                timeout: CFTimeInterval,
2468                callback: IOHIDValueCallback,
2469                context: *mut c_void,
2470            ) -> IOReturn;
2471        }
2472        unsafe {
2473            IOHIDDeviceGetValueWithCallback(self, element, p_value, timeout, callback, context)
2474        }
2475    }
2476
2477    /// Copies a values for multiple elements and returns status via a
2478    /// completion callback.
2479    ///
2480    /// This method behaves asynchronusly and is only relevent for
2481    /// either output or feature type elements.
2482    ///
2483    /// Parameter `device`: Reference to an IOHIDDevice.
2484    ///
2485    /// Parameter `elements`: CFArrayRef containing multiple IOHIDElementRefs whose
2486    /// values are to be obtained.
2487    ///
2488    /// Parameter `pMultiple`: Pointer to CFDictionaryRef where the keys are the
2489    /// provided elements and the values are the requested values.
2490    ///
2491    /// Parameter `timeout`: CFTimeInterval containing the timeout in milliseconds.
2492    ///
2493    /// Parameter `callback`: Pointer to a callback method of type
2494    /// IOHIDValueMultipleCallback.
2495    ///
2496    /// Parameter `context`: Pointer to data to be passed to the callback.
2497    ///
2498    /// Returns: Returns kIOReturnSuccess if successful.
2499    ///
2500    /// # Safety
2501    ///
2502    /// - `elements` generic must be of the correct type.
2503    /// - `p_multiple` must be a valid pointer or null.
2504    /// - `callback` must be implemented correctly.
2505    /// - `context` must be a valid pointer or null.
2506    #[doc(alias = "IOHIDDeviceCopyValueMultipleWithCallback")]
2507    #[inline]
2508    pub unsafe fn copy_value_multiple_with_callback(
2509        &self,
2510        elements: &CFArray,
2511        p_multiple: *mut *const CFDictionary,
2512        timeout: CFTimeInterval,
2513        callback: IOHIDValueMultipleCallback,
2514        context: *mut c_void,
2515    ) -> IOReturn {
2516        extern "C-unwind" {
2517            fn IOHIDDeviceCopyValueMultipleWithCallback(
2518                device: &IOHIDDevice,
2519                elements: &CFArray,
2520                p_multiple: *mut *const CFDictionary,
2521                timeout: CFTimeInterval,
2522                callback: IOHIDValueMultipleCallback,
2523                context: *mut c_void,
2524            ) -> IOReturn;
2525        }
2526        unsafe {
2527            IOHIDDeviceCopyValueMultipleWithCallback(
2528                self, elements, p_multiple, timeout, callback, context,
2529            )
2530        }
2531    }
2532
2533    /// Sends a report to the device.
2534    ///
2535    /// This method behaves synchronously and will block until the
2536    /// report has been issued to the device. It is only relevent for
2537    /// either output or feature type reports.
2538    ///
2539    /// Parameter `device`: Reference to an IOHIDDevice.
2540    ///
2541    /// Parameter `reportType`: Type of report being sent.
2542    ///
2543    /// Parameter `reportID`: ID of the report being sent.  If the device supports
2544    /// multiple reports, this should also be set in the first byte of
2545    /// the report.
2546    ///
2547    /// Parameter `report`: The report bytes to be sent to the device.
2548    ///
2549    /// Parameter `reportLength`: The length of the report to be sent to the device.
2550    ///
2551    /// Returns: Returns kIOReturnSuccess if successful.
2552    ///
2553    /// # Safety
2554    ///
2555    /// `report` must be a valid pointer.
2556    #[doc(alias = "IOHIDDeviceSetReport")]
2557    #[inline]
2558    pub unsafe fn set_report(
2559        &self,
2560        report_type: IOHIDReportType,
2561        report_id: CFIndex,
2562        report: NonNull<u8>,
2563        report_length: CFIndex,
2564    ) -> IOReturn {
2565        extern "C-unwind" {
2566            fn IOHIDDeviceSetReport(
2567                device: &IOHIDDevice,
2568                report_type: IOHIDReportType,
2569                report_id: CFIndex,
2570                report: NonNull<u8>,
2571                report_length: CFIndex,
2572            ) -> IOReturn;
2573        }
2574        unsafe { IOHIDDeviceSetReport(self, report_type, report_id, report, report_length) }
2575    }
2576
2577    /// Sends a report to the device.
2578    ///
2579    /// This method behaves asynchronously. It is only relevent for
2580    /// either output or feature type reports.
2581    ///
2582    /// Parameter `device`: Reference to an IOHIDDevice.
2583    ///
2584    /// Parameter `reportType`: Type of report being sent.
2585    ///
2586    /// Parameter `reportID`: ID of the report being sent. If the device supports
2587    /// multiple reports, this should also be set in the first byte of
2588    /// the report.
2589    ///
2590    /// Parameter `report`: The report bytes to be sent to the device.
2591    ///
2592    /// Parameter `reportLength`: The length of the report to be sent to the device.
2593    ///
2594    /// Parameter `timeout`: CFTimeInterval containing the timeout in milliseconds.
2595    ///
2596    /// Parameter `callback`: Pointer to a callback method of type
2597    /// IOHIDReportCallback.
2598    ///
2599    /// Parameter `context`: Pointer to data to be passed to the callback.
2600    ///
2601    /// Returns: Returns kIOReturnSuccess if successful.
2602    ///
2603    /// # Safety
2604    ///
2605    /// - `report` must be a valid pointer.
2606    /// - `callback` must be implemented correctly.
2607    /// - `context` must be a valid pointer or null.
2608    #[doc(alias = "IOHIDDeviceSetReportWithCallback")]
2609    #[inline]
2610    pub unsafe fn set_report_with_callback(
2611        &self,
2612        report_type: IOHIDReportType,
2613        report_id: CFIndex,
2614        report: NonNull<u8>,
2615        report_length: CFIndex,
2616        timeout: CFTimeInterval,
2617        callback: IOHIDReportCallback,
2618        context: *mut c_void,
2619    ) -> IOReturn {
2620        extern "C-unwind" {
2621            fn IOHIDDeviceSetReportWithCallback(
2622                device: &IOHIDDevice,
2623                report_type: IOHIDReportType,
2624                report_id: CFIndex,
2625                report: NonNull<u8>,
2626                report_length: CFIndex,
2627                timeout: CFTimeInterval,
2628                callback: IOHIDReportCallback,
2629                context: *mut c_void,
2630            ) -> IOReturn;
2631        }
2632        unsafe {
2633            IOHIDDeviceSetReportWithCallback(
2634                self,
2635                report_type,
2636                report_id,
2637                report,
2638                report_length,
2639                timeout,
2640                callback,
2641                context,
2642            )
2643        }
2644    }
2645
2646    /// Obtains a report from the device.
2647    ///
2648    /// This method behaves synchronously and will block until the
2649    /// report has been received from the device. It is only relevent for
2650    /// either output or feature type reports. Please defer to using
2651    /// IOHIDDeviceRegisterInputReportCallback for obtaining input
2652    /// reports.
2653    ///
2654    /// Parameter `device`: Reference to an IOHIDDevice.
2655    ///
2656    /// Parameter `reportType`: Type of report being requested.
2657    ///
2658    /// Parameter `reportID`: ID of the report being requested.
2659    ///
2660    /// Parameter `report`: Pointer to preallocated buffer in which to copy inbound
2661    /// report data.
2662    ///
2663    /// Parameter `pReportLength`: Pointer to length of preallocated buffer.  This
2664    /// value will be modified to refect the length of the returned
2665    /// report.
2666    ///
2667    /// Returns: Returns kIOReturnSuccess if successful.
2668    ///
2669    /// # Safety
2670    ///
2671    /// - `report` must be a valid pointer.
2672    /// - `p_report_length` must be a valid pointer.
2673    #[doc(alias = "IOHIDDeviceGetReport")]
2674    #[inline]
2675    pub unsafe fn report(
2676        &self,
2677        report_type: IOHIDReportType,
2678        report_id: CFIndex,
2679        report: NonNull<u8>,
2680        p_report_length: NonNull<CFIndex>,
2681    ) -> IOReturn {
2682        extern "C-unwind" {
2683            fn IOHIDDeviceGetReport(
2684                device: &IOHIDDevice,
2685                report_type: IOHIDReportType,
2686                report_id: CFIndex,
2687                report: NonNull<u8>,
2688                p_report_length: NonNull<CFIndex>,
2689            ) -> IOReturn;
2690        }
2691        unsafe { IOHIDDeviceGetReport(self, report_type, report_id, report, p_report_length) }
2692    }
2693
2694    /// Obtains a report from the device.
2695    ///
2696    /// This method behaves asynchronously. It is only relevent for
2697    /// either output or feature type reports. Please defer to using
2698    /// IOHIDDeviceRegisterInputReportCallback for obtaining input
2699    /// reports.
2700    ///
2701    /// Parameter `device`: Reference to an IOHIDDevice.
2702    ///
2703    /// Parameter `reportType`: Type of report being requested.
2704    ///
2705    /// Parameter `reportID`: ID of the report being requested.
2706    ///
2707    /// Parameter `report`: Pointer to preallocated buffer in which to copy inbound
2708    /// report data.
2709    ///
2710    /// Parameter `pReportLength`: Pointer to length of preallocated buffer. This
2711    /// value will be modified to refect the length of the returned
2712    /// report.
2713    ///
2714    /// Parameter `timeout`: CFTimeInterval containing the timeout in milliseconds.
2715    ///
2716    /// Parameter `callback`: Pointer to a callback method of type
2717    /// IOHIDReportCallback.
2718    ///
2719    /// Parameter `context`: Pointer to data to be passed to the callback.
2720    ///
2721    /// Returns: Returns kIOReturnSuccess if successful.
2722    ///
2723    /// # Safety
2724    ///
2725    /// - `report` must be a valid pointer.
2726    /// - `p_report_length` must be a valid pointer.
2727    /// - `callback` must be implemented correctly.
2728    /// - `context` must be a valid pointer.
2729    #[doc(alias = "IOHIDDeviceGetReportWithCallback")]
2730    #[inline]
2731    pub unsafe fn report_with_callback(
2732        &self,
2733        report_type: IOHIDReportType,
2734        report_id: CFIndex,
2735        report: NonNull<u8>,
2736        p_report_length: NonNull<CFIndex>,
2737        timeout: CFTimeInterval,
2738        callback: IOHIDReportCallback,
2739        context: NonNull<c_void>,
2740    ) -> IOReturn {
2741        extern "C-unwind" {
2742            fn IOHIDDeviceGetReportWithCallback(
2743                device: &IOHIDDevice,
2744                report_type: IOHIDReportType,
2745                report_id: CFIndex,
2746                report: NonNull<u8>,
2747                p_report_length: NonNull<CFIndex>,
2748                timeout: CFTimeInterval,
2749                callback: IOHIDReportCallback,
2750                context: NonNull<c_void>,
2751            ) -> IOReturn;
2752        }
2753        unsafe {
2754            IOHIDDeviceGetReportWithCallback(
2755                self,
2756                report_type,
2757                report_id,
2758                report,
2759                p_report_length,
2760                timeout,
2761                callback,
2762                context,
2763            )
2764        }
2765    }
2766}
2767
2768unsafe impl ConcreteType for IOHIDElement {
2769    /// Returns the type identifier of all IOHIDElement instances.
2770    #[doc(alias = "IOHIDElementGetTypeID")]
2771    #[inline]
2772    fn type_id() -> CFTypeID {
2773        extern "C-unwind" {
2774            fn IOHIDElementGetTypeID() -> CFTypeID;
2775        }
2776        unsafe { IOHIDElementGetTypeID() }
2777    }
2778}
2779
2780impl IOHIDElement {
2781    /// Creates an element from a dictionary.
2782    ///
2783    /// The dictionary should contain keys defined in IOHIDKeys.h and start with kIOHIDElement.  This call is meant be used by a IOHIDDeviceDeviceInterface object.
2784    ///
2785    /// Parameter `allocator`: Allocator to be used during creation.
2786    ///
2787    /// Parameter `dictionary`: dictionary containing values in which to create element.
2788    ///
2789    /// Returns: Returns a new IOHIDElementRef.
2790    ///
2791    /// # Safety
2792    ///
2793    /// `dictionary` generics must be of the correct type.
2794    #[doc(alias = "IOHIDElementCreateWithDictionary")]
2795    #[inline]
2796    pub unsafe fn with_dictionary(
2797        allocator: Option<&CFAllocator>,
2798        dictionary: &CFDictionary,
2799    ) -> CFRetained<IOHIDElement> {
2800        extern "C-unwind" {
2801            fn IOHIDElementCreateWithDictionary(
2802                allocator: Option<&CFAllocator>,
2803                dictionary: &CFDictionary,
2804            ) -> Option<NonNull<IOHIDElement>>;
2805        }
2806        let ret = unsafe { IOHIDElementCreateWithDictionary(allocator, dictionary) };
2807        let ret =
2808            ret.expect("function was marked as returning non-null, but actually returned NULL");
2809        unsafe { CFRetained::from_raw(ret) }
2810    }
2811
2812    /// Obtain the device associated with the element.
2813    ///
2814    /// Parameter `element`: IOHIDElement to be queried.
2815    ///
2816    /// Returns: Returns the a reference to the device.
2817    #[doc(alias = "IOHIDElementGetDevice")]
2818    #[inline]
2819    pub fn device(&self) -> CFRetained<IOHIDDevice> {
2820        extern "C-unwind" {
2821            fn IOHIDElementGetDevice(element: &IOHIDElement) -> Option<NonNull<IOHIDDevice>>;
2822        }
2823        let ret = unsafe { IOHIDElementGetDevice(self) };
2824        let ret =
2825            ret.expect("function was marked as returning non-null, but actually returned NULL");
2826        unsafe { CFRetained::retain(ret) }
2827    }
2828
2829    /// Returns the parent for the element.
2830    ///
2831    /// The parent element can be an element of type kIOHIDElementTypeCollection.
2832    ///
2833    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2834    ///
2835    /// Returns: Returns an IOHIDElementRef referencing the parent element.
2836    #[doc(alias = "IOHIDElementGetParent")]
2837    #[inline]
2838    pub fn parent(&self) -> Option<CFRetained<IOHIDElement>> {
2839        extern "C-unwind" {
2840            fn IOHIDElementGetParent(element: &IOHIDElement) -> Option<NonNull<IOHIDElement>>;
2841        }
2842        let ret = unsafe { IOHIDElementGetParent(self) };
2843        ret.map(|ret| unsafe { CFRetained::retain(ret) })
2844    }
2845
2846    /// Returns the children for the element.
2847    ///
2848    /// An element of type kIOHIDElementTypeCollection usually contains children.
2849    ///
2850    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2851    ///
2852    /// Returns: Returns an CFArrayRef containing element objects of type IOHIDElementRef.
2853    #[doc(alias = "IOHIDElementGetChildren")]
2854    #[inline]
2855    pub fn children(&self) -> Option<CFRetained<CFArray>> {
2856        extern "C-unwind" {
2857            fn IOHIDElementGetChildren(element: &IOHIDElement) -> Option<NonNull<CFArray>>;
2858        }
2859        let ret = unsafe { IOHIDElementGetChildren(self) };
2860        ret.map(|ret| unsafe { CFRetained::retain(ret) })
2861    }
2862
2863    /// Establish a relationship between one or more elements.
2864    ///
2865    /// This is useful for grouping HID elements with related functionality.
2866    ///
2867    /// Parameter `element`: The element to be modified. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2868    ///
2869    /// Parameter `toAttach`: The element to be attached. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2870    #[doc(alias = "IOHIDElementAttach")]
2871    #[inline]
2872    pub fn attach(&self, to_attach: &IOHIDElement) {
2873        extern "C-unwind" {
2874            fn IOHIDElementAttach(element: &IOHIDElement, to_attach: &IOHIDElement);
2875        }
2876        unsafe { IOHIDElementAttach(self, to_attach) }
2877    }
2878
2879    /// Remove a relationship between one or more elements.
2880    ///
2881    /// This is useful for grouping HID elements with related functionality.
2882    ///
2883    /// Parameter `element`: The element to be modified. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2884    ///
2885    /// Parameter `toDetach`: The element to be detached. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2886    #[doc(alias = "IOHIDElementDetach")]
2887    #[inline]
2888    pub fn detach(&self, to_detach: &IOHIDElement) {
2889        extern "C-unwind" {
2890            fn IOHIDElementDetach(element: &IOHIDElement, to_detach: &IOHIDElement);
2891        }
2892        unsafe { IOHIDElementDetach(self, to_detach) }
2893    }
2894
2895    /// Obtain attached elements.
2896    ///
2897    /// Attached elements are those that have been grouped via IOHIDElementAttach.
2898    ///
2899    /// Parameter `element`: The element to be modified. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2900    ///
2901    /// Returns: Returns a copy of the current attached elements.
2902    #[doc(alias = "IOHIDElementCopyAttached")]
2903    #[inline]
2904    pub fn attached(&self) -> Option<CFRetained<CFArray>> {
2905        extern "C-unwind" {
2906            fn IOHIDElementCopyAttached(element: &IOHIDElement) -> Option<NonNull<CFArray>>;
2907        }
2908        let ret = unsafe { IOHIDElementCopyAttached(self) };
2909        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
2910    }
2911
2912    /// Retrieves the cookie for the element.
2913    ///
2914    /// The IOHIDElementCookie represent a unique identifier for an element within a device.
2915    ///
2916    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2917    ///
2918    /// Returns: Returns the IOHIDElementCookie for the element.
2919    #[doc(alias = "IOHIDElementGetCookie")]
2920    #[inline]
2921    pub fn cookie(&self) -> IOHIDElementCookie {
2922        extern "C-unwind" {
2923            fn IOHIDElementGetCookie(element: &IOHIDElement) -> IOHIDElementCookie;
2924        }
2925        unsafe { IOHIDElementGetCookie(self) }
2926    }
2927
2928    /// Retrieves the type for the element.
2929    ///
2930    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2931    ///
2932    /// Returns: Returns the IOHIDElementType for the element.
2933    #[doc(alias = "IOHIDElementGetType")]
2934    #[inline]
2935    pub fn r#type(&self) -> IOHIDElementType {
2936        extern "C-unwind" {
2937            fn IOHIDElementGetType(element: &IOHIDElement) -> IOHIDElementType;
2938        }
2939        unsafe { IOHIDElementGetType(self) }
2940    }
2941
2942    /// Retrieves the collection type for the element.
2943    ///
2944    /// The value returned by this method only makes sense if the element type is kIOHIDElementTypeCollection.
2945    ///
2946    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2947    ///
2948    /// Returns: Returns the IOHIDElementCollectionType for the element.
2949    #[doc(alias = "IOHIDElementGetCollectionType")]
2950    #[inline]
2951    pub fn collection_type(&self) -> IOHIDElementCollectionType {
2952        extern "C-unwind" {
2953            fn IOHIDElementGetCollectionType(element: &IOHIDElement) -> IOHIDElementCollectionType;
2954        }
2955        unsafe { IOHIDElementGetCollectionType(self) }
2956    }
2957
2958    /// Retrieves the usage page for an element.
2959    ///
2960    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2961    ///
2962    /// Returns: Returns the usage page for the element.
2963    #[doc(alias = "IOHIDElementGetUsagePage")]
2964    #[inline]
2965    pub fn usage_page(&self) -> u32 {
2966        extern "C-unwind" {
2967            fn IOHIDElementGetUsagePage(element: &IOHIDElement) -> u32;
2968        }
2969        unsafe { IOHIDElementGetUsagePage(self) }
2970    }
2971
2972    /// Retrieves the usage for an element.
2973    ///
2974    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2975    ///
2976    /// Returns: Returns the usage for the element.
2977    #[doc(alias = "IOHIDElementGetUsage")]
2978    #[inline]
2979    pub fn usage(&self) -> u32 {
2980        extern "C-unwind" {
2981            fn IOHIDElementGetUsage(element: &IOHIDElement) -> u32;
2982        }
2983        unsafe { IOHIDElementGetUsage(self) }
2984    }
2985
2986    /// Returns the virtual property for the element.
2987    ///
2988    /// Indicates whether the element is a virtual element.
2989    ///
2990    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
2991    ///
2992    /// Returns: Returns the TRUE if virtual or FALSE if not.
2993    #[doc(alias = "IOHIDElementIsVirtual")]
2994    #[inline]
2995    pub fn is_virtual(&self) -> bool {
2996        extern "C-unwind" {
2997            fn IOHIDElementIsVirtual(element: &IOHIDElement) -> Boolean;
2998        }
2999        let ret = unsafe { IOHIDElementIsVirtual(self) };
3000        ret != 0
3001    }
3002
3003    /// Returns the relative property for the element.
3004    ///
3005    /// Indicates whether the data is relative (indicating the change in value from the last report) or absolute
3006    /// (based on a fixed origin).
3007    ///
3008    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3009    ///
3010    /// Returns: Returns TRUE if relative or FALSE if absolute.
3011    #[doc(alias = "IOHIDElementIsRelative")]
3012    #[inline]
3013    pub fn is_relative(&self) -> bool {
3014        extern "C-unwind" {
3015            fn IOHIDElementIsRelative(element: &IOHIDElement) -> Boolean;
3016        }
3017        let ret = unsafe { IOHIDElementIsRelative(self) };
3018        ret != 0
3019    }
3020
3021    /// Returns the wrap property for the element.
3022    ///
3023    /// Wrap indicates whether the data "rolls over" when reaching either the extreme high or low value.
3024    ///
3025    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3026    ///
3027    /// Returns: Returns TRUE if wrapping or FALSE if non-wrapping.
3028    #[doc(alias = "IOHIDElementIsWrapping")]
3029    #[inline]
3030    pub fn is_wrapping(&self) -> bool {
3031        extern "C-unwind" {
3032            fn IOHIDElementIsWrapping(element: &IOHIDElement) -> Boolean;
3033        }
3034        let ret = unsafe { IOHIDElementIsWrapping(self) };
3035        ret != 0
3036    }
3037
3038    /// Returns the array property for the element.
3039    ///
3040    /// Indicates whether the element represents variable or array data values. Variable values represent data from a
3041    /// physical control.  An array returns an index in each field that corresponds to the pressed button
3042    /// (like keyboard scan codes).
3043    /// <br>
3044    /// <b>
3045    /// Note:
3046    /// </b>
3047    /// The HID Manager will represent most elements as "variable" including the possible usages of an array.
3048    /// Array indices will remain as "array" elements with a usage of 0xffffffff.
3049    ///
3050    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3051    ///
3052    /// Returns: Returns TRUE if array or FALSE if variable.
3053    #[doc(alias = "IOHIDElementIsArray")]
3054    #[inline]
3055    pub fn is_array(&self) -> bool {
3056        extern "C-unwind" {
3057            fn IOHIDElementIsArray(element: &IOHIDElement) -> Boolean;
3058        }
3059        let ret = unsafe { IOHIDElementIsArray(self) };
3060        ret != 0
3061    }
3062
3063    /// Returns the linear property for the element.
3064    ///
3065    /// Indicates whether the value for the element has been processed in some way, and no longer represents a linear
3066    /// relationship between what is measured and the value that is reported.
3067    ///
3068    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3069    ///
3070    /// Returns: Returns TRUE if non linear or FALSE if linear.
3071    #[doc(alias = "IOHIDElementIsNonLinear")]
3072    #[inline]
3073    pub fn is_non_linear(&self) -> bool {
3074        extern "C-unwind" {
3075            fn IOHIDElementIsNonLinear(element: &IOHIDElement) -> Boolean;
3076        }
3077        let ret = unsafe { IOHIDElementIsNonLinear(self) };
3078        ret != 0
3079    }
3080
3081    /// Returns the preferred state property for the element.
3082    ///
3083    /// Indicates whether the element has a preferred state to which it will return when the user is not physically
3084    /// interacting with the control.
3085    ///
3086    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3087    ///
3088    /// Returns: Returns TRUE if preferred state or FALSE if no preferred state.
3089    #[doc(alias = "IOHIDElementHasPreferredState")]
3090    #[inline]
3091    pub fn has_preferred_state(&self) -> bool {
3092        extern "C-unwind" {
3093            fn IOHIDElementHasPreferredState(element: &IOHIDElement) -> Boolean;
3094        }
3095        let ret = unsafe { IOHIDElementHasPreferredState(self) };
3096        ret != 0
3097    }
3098
3099    /// Returns the null state property for the element.
3100    ///
3101    /// Indicates whether the element has a state in which it is not sending meaningful data.
3102    ///
3103    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3104    ///
3105    /// Returns: Returns TRUE if null state or FALSE if no null state.
3106    #[doc(alias = "IOHIDElementHasNullState")]
3107    #[inline]
3108    pub fn has_null_state(&self) -> bool {
3109        extern "C-unwind" {
3110            fn IOHIDElementHasNullState(element: &IOHIDElement) -> Boolean;
3111        }
3112        let ret = unsafe { IOHIDElementHasNullState(self) };
3113        ret != 0
3114    }
3115
3116    /// Returns the name for the element.
3117    ///
3118    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3119    ///
3120    /// Returns: Returns CFStringRef containing the element name.
3121    #[doc(alias = "IOHIDElementGetName")]
3122    #[inline]
3123    pub fn name(&self) -> CFRetained<CFString> {
3124        extern "C-unwind" {
3125            fn IOHIDElementGetName(element: &IOHIDElement) -> Option<NonNull<CFString>>;
3126        }
3127        let ret = unsafe { IOHIDElementGetName(self) };
3128        let ret =
3129            ret.expect("function was marked as returning non-null, but actually returned NULL");
3130        unsafe { CFRetained::retain(ret) }
3131    }
3132
3133    /// Returns the report ID for the element.
3134    ///
3135    /// The report ID represents what report this particular element belongs to.
3136    ///
3137    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3138    ///
3139    /// Returns: Returns the report ID.
3140    #[doc(alias = "IOHIDElementGetReportID")]
3141    #[inline]
3142    pub fn report_id(&self) -> u32 {
3143        extern "C-unwind" {
3144            fn IOHIDElementGetReportID(element: &IOHIDElement) -> u32;
3145        }
3146        unsafe { IOHIDElementGetReportID(self) }
3147    }
3148
3149    /// Returns the report size in bits for the element.
3150    ///
3151    /// If the element is an array type the total number of bit in the element is equal to
3152    /// IOHIDElementGetReportSize(element) * IOHIDElementGetReportCount(element). Otherwise this size is the
3153    /// total number of bits in the element.
3154    ///
3155    ///
3156    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3157    ///
3158    /// Returns: Returns the report size.
3159    #[doc(alias = "IOHIDElementGetReportSize")]
3160    #[inline]
3161    pub fn report_size(&self) -> u32 {
3162        extern "C-unwind" {
3163            fn IOHIDElementGetReportSize(element: &IOHIDElement) -> u32;
3164        }
3165        unsafe { IOHIDElementGetReportSize(self) }
3166    }
3167
3168    /// Returns the report count for the element.
3169    ///
3170    /// If the IOHIDElementGetReportCount(element) is greater than one and the element does not represent an
3171    /// array then the element represents a repeated set of usages, the size of each usage in the element is
3172    /// IOHIDElementGetReportSize(element) / IOHIDElementGetReportCount(element).
3173    ///
3174    ///
3175    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3176    ///
3177    /// Returns: Returns the report count.
3178    #[doc(alias = "IOHIDElementGetReportCount")]
3179    #[inline]
3180    pub fn report_count(&self) -> u32 {
3181        extern "C-unwind" {
3182            fn IOHIDElementGetReportCount(element: &IOHIDElement) -> u32;
3183        }
3184        unsafe { IOHIDElementGetReportCount(self) }
3185    }
3186
3187    /// Returns the unit property for the element.
3188    ///
3189    /// The unit property is described in more detail in Section 6.2.2.7 of the
3190    /// "Device Class Definition for Human Interface Devices(HID)" Specification, Version 1.11.
3191    ///
3192    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3193    ///
3194    /// Returns: Returns the unit.
3195    #[doc(alias = "IOHIDElementGetUnit")]
3196    #[inline]
3197    pub fn unit(&self) -> u32 {
3198        extern "C-unwind" {
3199            fn IOHIDElementGetUnit(element: &IOHIDElement) -> u32;
3200        }
3201        unsafe { IOHIDElementGetUnit(self) }
3202    }
3203
3204    /// Returns the code associated with the unit exponent as outlined in the HID spec
3205    ///
3206    /// The unit exponent property is described in more detail in Section 6.2.2.7 of the
3207    /// "Device Class Definition for Human Interface Devices(HID)" Specification, Version 1.11.
3208    ///
3209    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3210    ///
3211    /// Returns: Returns the unit exponent.
3212    #[doc(alias = "IOHIDElementGetUnitExponent")]
3213    #[inline]
3214    pub fn unit_exponent(&self) -> u32 {
3215        extern "C-unwind" {
3216            fn IOHIDElementGetUnitExponent(element: &IOHIDElement) -> u32;
3217        }
3218        unsafe { IOHIDElementGetUnitExponent(self) }
3219    }
3220
3221    /// Returns the minimum value possible for the element.
3222    ///
3223    /// This corresponds to the logical minimun, which indicates the lower bounds of a variable element.
3224    ///
3225    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3226    ///
3227    /// Returns: Returns the logical minimum.
3228    #[doc(alias = "IOHIDElementGetLogicalMin")]
3229    #[inline]
3230    pub fn logical_min(&self) -> CFIndex {
3231        extern "C-unwind" {
3232            fn IOHIDElementGetLogicalMin(element: &IOHIDElement) -> CFIndex;
3233        }
3234        unsafe { IOHIDElementGetLogicalMin(self) }
3235    }
3236
3237    /// Returns the maximum value possible for the element.
3238    ///
3239    /// This corresponds to the logical maximum, which indicates the upper bounds of a variable element.
3240    ///
3241    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3242    ///
3243    /// Returns: Returns the logical maximum.
3244    #[doc(alias = "IOHIDElementGetLogicalMax")]
3245    #[inline]
3246    pub fn logical_max(&self) -> CFIndex {
3247        extern "C-unwind" {
3248            fn IOHIDElementGetLogicalMax(element: &IOHIDElement) -> CFIndex;
3249        }
3250        unsafe { IOHIDElementGetLogicalMax(self) }
3251    }
3252
3253    /// Returns the scaled minimum value possible for the element.
3254    ///
3255    /// Minimum value for the physical extent of a variable element. This represents the value for the logical minimum with units applied to it.
3256    ///
3257    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3258    ///
3259    /// Returns: Returns the physical minimum.
3260    #[doc(alias = "IOHIDElementGetPhysicalMin")]
3261    #[inline]
3262    pub fn physical_min(&self) -> CFIndex {
3263        extern "C-unwind" {
3264            fn IOHIDElementGetPhysicalMin(element: &IOHIDElement) -> CFIndex;
3265        }
3266        unsafe { IOHIDElementGetPhysicalMin(self) }
3267    }
3268
3269    /// Returns the scaled maximum value possible for the element.
3270    ///
3271    /// Maximum value for the physical extent of a variable element.  This represents the value for the logical maximum with units applied to it.
3272    ///
3273    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3274    ///
3275    /// Returns: Returns the physical maximum.
3276    #[doc(alias = "IOHIDElementGetPhysicalMax")]
3277    #[inline]
3278    pub fn physical_max(&self) -> CFIndex {
3279        extern "C-unwind" {
3280            fn IOHIDElementGetPhysicalMax(element: &IOHIDElement) -> CFIndex;
3281        }
3282        unsafe { IOHIDElementGetPhysicalMax(self) }
3283    }
3284
3285    /// Returns the an element property.
3286    ///
3287    /// Property keys are prefixed by kIOHIDElement and declared in IOHIDKeys.h.
3288    ///
3289    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3290    ///
3291    /// Parameter `key`: The key to be used when querying the element.
3292    ///
3293    /// Returns: Returns the property.
3294    #[doc(alias = "IOHIDElementGetProperty")]
3295    #[inline]
3296    pub fn property(&self, key: &CFString) -> Option<CFRetained<CFType>> {
3297        extern "C-unwind" {
3298            fn IOHIDElementGetProperty(
3299                element: &IOHIDElement,
3300                key: &CFString,
3301            ) -> Option<NonNull<CFType>>;
3302        }
3303        let ret = unsafe { IOHIDElementGetProperty(self, key) };
3304        ret.map(|ret| unsafe { CFRetained::retain(ret) })
3305    }
3306
3307    /// Sets an element property.
3308    ///
3309    /// This method can be used to set arbitrary element properties, such as application specific references.
3310    ///
3311    /// Parameter `element`: The element to be queried. If this parameter is not a valid IOHIDElementRef, the behavior is undefined.
3312    ///
3313    /// Parameter `key`: The key to be used when querying the element.
3314    ///
3315    /// Returns: Returns TRUE if successful.
3316    ///
3317    /// # Safety
3318    ///
3319    /// `property` should be of the correct type.
3320    #[doc(alias = "IOHIDElementSetProperty")]
3321    #[inline]
3322    pub unsafe fn set_property(&self, key: &CFString, property: &CFType) -> bool {
3323        extern "C-unwind" {
3324            fn IOHIDElementSetProperty(
3325                element: &IOHIDElement,
3326                key: &CFString,
3327                property: &CFType,
3328            ) -> Boolean;
3329        }
3330        let ret = unsafe { IOHIDElementSetProperty(self, key, property) };
3331        ret != 0
3332    }
3333}
3334
3335/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohideventstruct?language=objc)
3336#[repr(C)]
3337#[derive(Clone, Copy, Debug, PartialEq)]
3338pub struct IOHIDEventStruct {
3339    pub r#type: IOHIDElementType,
3340    pub elementCookie: IOHIDElementCookie,
3341    pub value: i32,
3342    pub timestamp: AbsoluteTime,
3343    pub longValueSize: u32,
3344    pub longValue: *mut c_void,
3345}
3346
3347#[cfg(feature = "objc2")]
3348unsafe impl Encode for IOHIDEventStruct {
3349    const ENCODING: Encoding = Encoding::Struct(
3350        "IOHIDEventStruct",
3351        &[
3352            <IOHIDElementType>::ENCODING,
3353            <IOHIDElementCookie>::ENCODING,
3354            <i32>::ENCODING,
3355            <AbsoluteTime>::ENCODING,
3356            <u32>::ENCODING,
3357            <*mut c_void>::ENCODING,
3358        ],
3359    );
3360}
3361
3362#[cfg(feature = "objc2")]
3363unsafe impl RefEncode for IOHIDEventStruct {
3364    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
3365}
3366
3367/// Type and arguments of callout C function that is used when a
3368/// completion routine is called, see
3369/// IOHIDLib.h:setRemovalCallback().
3370///
3371/// Parameter `target`: void * pointer to your data, often a pointer to an object.
3372///
3373/// Parameter `result`: Completion result of desired operation.
3374///
3375/// Parameter `refcon`: void * pointer to more data.
3376///
3377/// Parameter `sender`: Interface instance sending the completion routine.
3378///
3379/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidcallbackfunction?language=objc)
3380pub type IOHIDCallbackFunction =
3381    Option<unsafe extern "C-unwind" fn(*mut c_void, IOReturn, *mut c_void, *mut c_void)>;
3382
3383/// Type and arguments of callout C function that is used when a
3384/// completion routine is called, see IOHIDLib.h:setElementValue().
3385///
3386/// Parameter `target`: void * pointer to your data, often a pointer to an object.
3387///
3388/// Parameter `result`: Completion result of desired operation.
3389///
3390/// Parameter `refcon`: void * pointer to more data.
3391///
3392/// Parameter `sender`: Interface instance sending the completion routine.
3393///
3394/// Parameter `elementCookie`: Element within interface instance sending completion.
3395///
3396/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidelementcallbackfunction?language=objc)
3397pub type IOHIDElementCallbackFunction = Option<
3398    unsafe extern "C-unwind" fn(
3399        *mut c_void,
3400        IOReturn,
3401        *mut c_void,
3402        *mut c_void,
3403        IOHIDElementCookie,
3404    ),
3405>;
3406
3407/// Type and arguments of callout C function that is used when a
3408/// completion routine is called, see IOHIDLib.h:setReport().
3409///
3410/// Parameter `target`: void * pointer to your data, often a pointer to an object.
3411///
3412/// Parameter `result`: Completion result of desired operation.
3413///
3414/// Parameter `refcon`: void * pointer to more data.
3415///
3416/// Parameter `sender`: Interface instance sending the completion routine.
3417///
3418/// Parameter `bufferSize`: Size of the buffer received upon completion.
3419///
3420/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidreportcallbackfunction?language=objc)
3421pub type IOHIDReportCallbackFunction =
3422    Option<unsafe extern "C-unwind" fn(*mut c_void, IOReturn, *mut c_void, *mut c_void, u32)>;
3423
3424/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohiddeviceinterface?language=objc)
3425#[cfg(feature = "libc")]
3426#[repr(C)]
3427#[allow(unpredictable_function_pointer_comparisons)]
3428#[derive(Clone, Copy, Debug, PartialEq)]
3429pub struct IOHIDDeviceInterface {
3430    pub(crate) _reserved: *mut c_void,
3431    pub QueryInterface:
3432        Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>,
3433    pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
3434    pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
3435    pub createAsyncEventSource:
3436        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *mut CFRunLoopSource) -> IOReturn>,
3437    pub getAsyncEventSource:
3438        Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut CFRunLoopSource>,
3439    pub createAsyncPort:
3440        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut libc::mach_port_t) -> IOReturn>,
3441    pub getAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void) -> libc::mach_port_t>,
3442    pub open: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>,
3443    pub close: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3444    pub setRemovalCallback: Option<
3445        unsafe extern "C-unwind" fn(
3446            *mut c_void,
3447            IOHIDCallbackFunction,
3448            *mut c_void,
3449            *mut c_void,
3450        ) -> IOReturn,
3451    >,
3452    pub getElementValue: Option<
3453        unsafe extern "C-unwind" fn(
3454            *mut c_void,
3455            IOHIDElementCookie,
3456            *mut IOHIDEventStruct,
3457        ) -> IOReturn,
3458    >,
3459    pub setElementValue: Option<
3460        unsafe extern "C-unwind" fn(
3461            *mut c_void,
3462            IOHIDElementCookie,
3463            *mut IOHIDEventStruct,
3464            u32,
3465            IOHIDElementCallbackFunction,
3466            *mut c_void,
3467            *mut c_void,
3468        ) -> IOReturn,
3469    >,
3470    pub queryElementValue: Option<
3471        unsafe extern "C-unwind" fn(
3472            *mut c_void,
3473            IOHIDElementCookie,
3474            *mut IOHIDEventStruct,
3475            u32,
3476            IOHIDElementCallbackFunction,
3477            *mut c_void,
3478            *mut c_void,
3479        ) -> IOReturn,
3480    >,
3481    pub startAllQueues: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3482    pub stopAllQueues: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3483    pub allocQueue:
3484        Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut *mut IOHIDQueueInterface>,
3485    pub allocOutputTransaction: Option<
3486        unsafe extern "C-unwind" fn(*mut c_void) -> *mut *mut IOHIDOutputTransactionInterface,
3487    >,
3488    pub setReport: Option<
3489        unsafe extern "C-unwind" fn(
3490            *mut c_void,
3491            IOHIDReportType,
3492            u32,
3493            *mut c_void,
3494            u32,
3495            u32,
3496            IOHIDReportCallbackFunction,
3497            *mut c_void,
3498            *mut c_void,
3499        ) -> IOReturn,
3500    >,
3501    pub getReport: Option<
3502        unsafe extern "C-unwind" fn(
3503            *mut c_void,
3504            IOHIDReportType,
3505            u32,
3506            *mut c_void,
3507            *mut u32,
3508            u32,
3509            IOHIDReportCallbackFunction,
3510            *mut c_void,
3511            *mut c_void,
3512        ) -> IOReturn,
3513    >,
3514}
3515
3516#[cfg(all(feature = "libc", feature = "objc2"))]
3517unsafe impl Encode for IOHIDDeviceInterface {
3518    const ENCODING: Encoding = Encoding::Struct("IOHIDDeviceInterface", &[
3519        <*mut c_void>::ENCODING,
3520        <Option<unsafe extern "C-unwind" fn(*mut c_void,REFIID,*mut LPVOID,) -> HRESULT>>::ENCODING,
3521        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
3522        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
3523        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut *mut CFRunLoopSource,) -> IOReturn>>::ENCODING,
3524        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> *mut CFRunLoopSource>>::ENCODING,
3525        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut libc::mach_port_t,) -> IOReturn>>::ENCODING,
3526        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> libc::mach_port_t>>::ENCODING,
3527        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
3528        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3529        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3530        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,) -> IOReturn>>::ENCODING,
3531        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,u32,IOHIDElementCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3532        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,u32,IOHIDElementCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3533        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3534        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3535        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> *mut *mut IOHIDQueueInterface>>::ENCODING,
3536        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> *mut *mut IOHIDOutputTransactionInterface>>::ENCODING,
3537        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDReportType,u32,*mut c_void,u32,u32,IOHIDReportCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3538        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDReportType,u32,*mut c_void,*mut u32,u32,IOHIDReportCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3539    ]);
3540}
3541
3542#[cfg(all(feature = "libc", feature = "objc2"))]
3543unsafe impl RefEncode for IOHIDDeviceInterface {
3544    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
3545}
3546
3547/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohiddeviceinterface121?language=objc)
3548#[cfg(feature = "libc")]
3549#[repr(C)]
3550#[allow(unpredictable_function_pointer_comparisons)]
3551#[derive(Clone, Copy, Debug, PartialEq)]
3552pub struct IOHIDDeviceInterface121 {
3553    pub(crate) _reserved: *mut c_void,
3554    pub QueryInterface:
3555        Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>,
3556    pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
3557    pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
3558    pub createAsyncEventSource:
3559        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *mut CFRunLoopSource) -> IOReturn>,
3560    pub getAsyncEventSource:
3561        Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut CFRunLoopSource>,
3562    pub createAsyncPort:
3563        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut libc::mach_port_t) -> IOReturn>,
3564    pub getAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void) -> libc::mach_port_t>,
3565    pub open: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>,
3566    pub close: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3567    pub setRemovalCallback: Option<
3568        unsafe extern "C-unwind" fn(
3569            *mut c_void,
3570            IOHIDCallbackFunction,
3571            *mut c_void,
3572            *mut c_void,
3573        ) -> IOReturn,
3574    >,
3575    pub getElementValue: Option<
3576        unsafe extern "C-unwind" fn(
3577            *mut c_void,
3578            IOHIDElementCookie,
3579            *mut IOHIDEventStruct,
3580        ) -> IOReturn,
3581    >,
3582    pub setElementValue: Option<
3583        unsafe extern "C-unwind" fn(
3584            *mut c_void,
3585            IOHIDElementCookie,
3586            *mut IOHIDEventStruct,
3587            u32,
3588            IOHIDElementCallbackFunction,
3589            *mut c_void,
3590            *mut c_void,
3591        ) -> IOReturn,
3592    >,
3593    pub queryElementValue: Option<
3594        unsafe extern "C-unwind" fn(
3595            *mut c_void,
3596            IOHIDElementCookie,
3597            *mut IOHIDEventStruct,
3598            u32,
3599            IOHIDElementCallbackFunction,
3600            *mut c_void,
3601            *mut c_void,
3602        ) -> IOReturn,
3603    >,
3604    pub startAllQueues: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3605    pub stopAllQueues: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3606    pub allocQueue:
3607        Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut *mut IOHIDQueueInterface>,
3608    pub allocOutputTransaction: Option<
3609        unsafe extern "C-unwind" fn(*mut c_void) -> *mut *mut IOHIDOutputTransactionInterface,
3610    >,
3611    pub setReport: Option<
3612        unsafe extern "C-unwind" fn(
3613            *mut c_void,
3614            IOHIDReportType,
3615            u32,
3616            *mut c_void,
3617            u32,
3618            u32,
3619            IOHIDReportCallbackFunction,
3620            *mut c_void,
3621            *mut c_void,
3622        ) -> IOReturn,
3623    >,
3624    pub getReport: Option<
3625        unsafe extern "C-unwind" fn(
3626            *mut c_void,
3627            IOHIDReportType,
3628            u32,
3629            *mut c_void,
3630            *mut u32,
3631            u32,
3632            IOHIDReportCallbackFunction,
3633            *mut c_void,
3634            *mut c_void,
3635        ) -> IOReturn,
3636    >,
3637}
3638
3639#[cfg(all(feature = "libc", feature = "objc2"))]
3640unsafe impl Encode for IOHIDDeviceInterface121 {
3641    const ENCODING: Encoding = Encoding::Struct("IOHIDDeviceInterface121", &[
3642        <*mut c_void>::ENCODING,
3643        <Option<unsafe extern "C-unwind" fn(*mut c_void,REFIID,*mut LPVOID,) -> HRESULT>>::ENCODING,
3644        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
3645        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
3646        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut *mut CFRunLoopSource,) -> IOReturn>>::ENCODING,
3647        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> *mut CFRunLoopSource>>::ENCODING,
3648        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut libc::mach_port_t,) -> IOReturn>>::ENCODING,
3649        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> libc::mach_port_t>>::ENCODING,
3650        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
3651        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3652        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3653        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,) -> IOReturn>>::ENCODING,
3654        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,u32,IOHIDElementCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3655        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,u32,IOHIDElementCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3656        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3657        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3658        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> *mut *mut IOHIDQueueInterface>>::ENCODING,
3659        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> *mut *mut IOHIDOutputTransactionInterface>>::ENCODING,
3660        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDReportType,u32,*mut c_void,u32,u32,IOHIDReportCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3661        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDReportType,u32,*mut c_void,*mut u32,u32,IOHIDReportCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3662    ]);
3663}
3664
3665#[cfg(all(feature = "libc", feature = "objc2"))]
3666unsafe impl RefEncode for IOHIDDeviceInterface121 {
3667    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
3668}
3669
3670/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohiddeviceinterface122?language=objc)
3671#[cfg(feature = "libc")]
3672#[repr(C)]
3673#[allow(unpredictable_function_pointer_comparisons)]
3674#[derive(Clone, Copy, Debug, PartialEq)]
3675pub struct IOHIDDeviceInterface122 {
3676    pub(crate) _reserved: *mut c_void,
3677    pub QueryInterface:
3678        Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>,
3679    pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
3680    pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
3681    pub createAsyncEventSource:
3682        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *mut CFRunLoopSource) -> IOReturn>,
3683    pub getAsyncEventSource:
3684        Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut CFRunLoopSource>,
3685    pub createAsyncPort:
3686        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut libc::mach_port_t) -> IOReturn>,
3687    pub getAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void) -> libc::mach_port_t>,
3688    pub open: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>,
3689    pub close: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3690    pub setRemovalCallback: Option<
3691        unsafe extern "C-unwind" fn(
3692            *mut c_void,
3693            IOHIDCallbackFunction,
3694            *mut c_void,
3695            *mut c_void,
3696        ) -> IOReturn,
3697    >,
3698    pub getElementValue: Option<
3699        unsafe extern "C-unwind" fn(
3700            *mut c_void,
3701            IOHIDElementCookie,
3702            *mut IOHIDEventStruct,
3703        ) -> IOReturn,
3704    >,
3705    pub setElementValue: Option<
3706        unsafe extern "C-unwind" fn(
3707            *mut c_void,
3708            IOHIDElementCookie,
3709            *mut IOHIDEventStruct,
3710            u32,
3711            IOHIDElementCallbackFunction,
3712            *mut c_void,
3713            *mut c_void,
3714        ) -> IOReturn,
3715    >,
3716    pub queryElementValue: Option<
3717        unsafe extern "C-unwind" fn(
3718            *mut c_void,
3719            IOHIDElementCookie,
3720            *mut IOHIDEventStruct,
3721            u32,
3722            IOHIDElementCallbackFunction,
3723            *mut c_void,
3724            *mut c_void,
3725        ) -> IOReturn,
3726    >,
3727    pub startAllQueues: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3728    pub stopAllQueues: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3729    pub allocQueue:
3730        Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut *mut IOHIDQueueInterface>,
3731    pub allocOutputTransaction: Option<
3732        unsafe extern "C-unwind" fn(*mut c_void) -> *mut *mut IOHIDOutputTransactionInterface,
3733    >,
3734    pub setReport: Option<
3735        unsafe extern "C-unwind" fn(
3736            *mut c_void,
3737            IOHIDReportType,
3738            u32,
3739            *mut c_void,
3740            u32,
3741            u32,
3742            IOHIDReportCallbackFunction,
3743            *mut c_void,
3744            *mut c_void,
3745        ) -> IOReturn,
3746    >,
3747    pub getReport: Option<
3748        unsafe extern "C-unwind" fn(
3749            *mut c_void,
3750            IOHIDReportType,
3751            u32,
3752            *mut c_void,
3753            *mut u32,
3754            u32,
3755            IOHIDReportCallbackFunction,
3756            *mut c_void,
3757            *mut c_void,
3758        ) -> IOReturn,
3759    >,
3760    pub copyMatchingElements: Option<
3761        unsafe extern "C-unwind" fn(
3762            *mut c_void,
3763            *const CFDictionary,
3764            *mut *const CFArray,
3765        ) -> IOReturn,
3766    >,
3767    pub setInterruptReportHandlerCallback: Option<
3768        unsafe extern "C-unwind" fn(
3769            *mut c_void,
3770            *mut c_void,
3771            u32,
3772            IOHIDReportCallbackFunction,
3773            *mut c_void,
3774            *mut c_void,
3775        ) -> IOReturn,
3776    >,
3777}
3778
3779#[cfg(all(feature = "libc", feature = "objc2"))]
3780unsafe impl Encode for IOHIDDeviceInterface122 {
3781    const ENCODING: Encoding = Encoding::Struct("IOHIDDeviceInterface122", &[
3782        <*mut c_void>::ENCODING,
3783        <Option<unsafe extern "C-unwind" fn(*mut c_void,REFIID,*mut LPVOID,) -> HRESULT>>::ENCODING,
3784        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
3785        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
3786        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut *mut CFRunLoopSource,) -> IOReturn>>::ENCODING,
3787        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> *mut CFRunLoopSource>>::ENCODING,
3788        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut libc::mach_port_t,) -> IOReturn>>::ENCODING,
3789        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> libc::mach_port_t>>::ENCODING,
3790        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
3791        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3792        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3793        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,) -> IOReturn>>::ENCODING,
3794        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,u32,IOHIDElementCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3795        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,u32,IOHIDElementCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3796        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3797        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3798        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> *mut *mut IOHIDQueueInterface>>::ENCODING,
3799        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> *mut *mut IOHIDOutputTransactionInterface>>::ENCODING,
3800        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDReportType,u32,*mut c_void,u32,u32,IOHIDReportCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3801        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDReportType,u32,*mut c_void,*mut u32,u32,IOHIDReportCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3802        <Option<unsafe extern "C-unwind" fn(*mut c_void,*const CFDictionary,*mut *const CFArray,) -> IOReturn>>::ENCODING,
3803        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut c_void,u32,IOHIDReportCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3804    ]);
3805}
3806
3807#[cfg(all(feature = "libc", feature = "objc2"))]
3808unsafe impl RefEncode for IOHIDDeviceInterface122 {
3809    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
3810}
3811
3812/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidqueueinterface?language=objc)
3813#[cfg(feature = "libc")]
3814#[repr(C)]
3815#[allow(unpredictable_function_pointer_comparisons)]
3816#[derive(Clone, Copy, Debug, PartialEq)]
3817pub struct IOHIDQueueInterface {
3818    pub(crate) _reserved: *mut c_void,
3819    pub QueryInterface:
3820        Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>,
3821    pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
3822    pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
3823    pub createAsyncEventSource:
3824        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *mut CFRunLoopSource) -> IOReturn>,
3825    pub getAsyncEventSource:
3826        Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut CFRunLoopSource>,
3827    pub createAsyncPort:
3828        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut libc::mach_port_t) -> IOReturn>,
3829    pub getAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void) -> libc::mach_port_t>,
3830    pub create: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, u32) -> IOReturn>,
3831    pub dispose: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3832    pub addElement:
3833        Option<unsafe extern "C-unwind" fn(*mut c_void, IOHIDElementCookie, u32) -> IOReturn>,
3834    pub removeElement:
3835        Option<unsafe extern "C-unwind" fn(*mut c_void, IOHIDElementCookie) -> IOReturn>,
3836    pub hasElement: Option<unsafe extern "C-unwind" fn(*mut c_void, IOHIDElementCookie) -> Boolean>,
3837    pub start: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3838    pub stop: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3839    pub getNextEvent: Option<
3840        unsafe extern "C-unwind" fn(
3841            *mut c_void,
3842            *mut IOHIDEventStruct,
3843            AbsoluteTime,
3844            u32,
3845        ) -> IOReturn,
3846    >,
3847    pub setEventCallout: Option<
3848        unsafe extern "C-unwind" fn(
3849            *mut c_void,
3850            IOHIDCallbackFunction,
3851            *mut c_void,
3852            *mut c_void,
3853        ) -> IOReturn,
3854    >,
3855    pub getEventCallout: Option<
3856        unsafe extern "C-unwind" fn(
3857            *mut c_void,
3858            *mut IOHIDCallbackFunction,
3859            *mut *mut c_void,
3860            *mut *mut c_void,
3861        ) -> IOReturn,
3862    >,
3863}
3864
3865#[cfg(all(feature = "libc", feature = "objc2"))]
3866unsafe impl Encode for IOHIDQueueInterface {
3867    const ENCODING: Encoding = Encoding::Struct("IOHIDQueueInterface", &[
3868        <*mut c_void>::ENCODING,
3869        <Option<unsafe extern "C-unwind" fn(*mut c_void,REFIID,*mut LPVOID,) -> HRESULT>>::ENCODING,
3870        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
3871        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
3872        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut *mut CFRunLoopSource,) -> IOReturn>>::ENCODING,
3873        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> *mut CFRunLoopSource>>::ENCODING,
3874        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut libc::mach_port_t,) -> IOReturn>>::ENCODING,
3875        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> libc::mach_port_t>>::ENCODING,
3876        <Option<unsafe extern "C-unwind" fn(*mut c_void,u32,u32,) -> IOReturn>>::ENCODING,
3877        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3878        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,u32,) -> IOReturn>>::ENCODING,
3879        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,) -> IOReturn>>::ENCODING,
3880        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,) -> Boolean>>::ENCODING,
3881        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3882        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3883        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDEventStruct,AbsoluteTime,u32,) -> IOReturn>>::ENCODING,
3884        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3885        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDCallbackFunction,*mut *mut c_void,*mut *mut c_void,) -> IOReturn>>::ENCODING,
3886    ]);
3887}
3888
3889#[cfg(all(feature = "libc", feature = "objc2"))]
3890unsafe impl RefEncode for IOHIDQueueInterface {
3891    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
3892}
3893
3894/// [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidoutputtransactioninterface?language=objc)
3895#[cfg(feature = "libc")]
3896#[repr(C)]
3897#[allow(unpredictable_function_pointer_comparisons)]
3898#[derive(Clone, Copy, Debug, PartialEq)]
3899pub struct IOHIDOutputTransactionInterface {
3900    pub(crate) _reserved: *mut c_void,
3901    pub QueryInterface:
3902        Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>,
3903    pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
3904    pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
3905    pub createAsyncEventSource:
3906        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *mut CFRunLoopSource) -> IOReturn>,
3907    pub getAsyncEventSource:
3908        Option<unsafe extern "C-unwind" fn(*mut c_void) -> *mut CFRunLoopSource>,
3909    pub createAsyncPort:
3910        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut libc::mach_port_t) -> IOReturn>,
3911    pub getAsyncPort: Option<unsafe extern "C-unwind" fn(*mut c_void) -> libc::mach_port_t>,
3912    pub create: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3913    pub dispose: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3914    pub addElement:
3915        Option<unsafe extern "C-unwind" fn(*mut c_void, IOHIDElementCookie) -> IOReturn>,
3916    pub removeElement:
3917        Option<unsafe extern "C-unwind" fn(*mut c_void, IOHIDElementCookie) -> IOReturn>,
3918    pub hasElement: Option<unsafe extern "C-unwind" fn(*mut c_void, IOHIDElementCookie) -> Boolean>,
3919    pub setElementDefault: Option<
3920        unsafe extern "C-unwind" fn(
3921            *mut c_void,
3922            IOHIDElementCookie,
3923            *mut IOHIDEventStruct,
3924        ) -> IOReturn,
3925    >,
3926    pub getElementDefault: Option<
3927        unsafe extern "C-unwind" fn(
3928            *mut c_void,
3929            IOHIDElementCookie,
3930            *mut IOHIDEventStruct,
3931        ) -> IOReturn,
3932    >,
3933    pub setElementValue: Option<
3934        unsafe extern "C-unwind" fn(
3935            *mut c_void,
3936            IOHIDElementCookie,
3937            *mut IOHIDEventStruct,
3938        ) -> IOReturn,
3939    >,
3940    pub getElementValue: Option<
3941        unsafe extern "C-unwind" fn(
3942            *mut c_void,
3943            IOHIDElementCookie,
3944            *mut IOHIDEventStruct,
3945        ) -> IOReturn,
3946    >,
3947    pub commit: Option<
3948        unsafe extern "C-unwind" fn(
3949            *mut c_void,
3950            u32,
3951            IOHIDCallbackFunction,
3952            *mut c_void,
3953            *mut c_void,
3954        ) -> IOReturn,
3955    >,
3956    pub clear: Option<unsafe extern "C-unwind" fn(*mut c_void) -> IOReturn>,
3957}
3958
3959#[cfg(all(feature = "libc", feature = "objc2"))]
3960unsafe impl Encode for IOHIDOutputTransactionInterface {
3961    const ENCODING: Encoding = Encoding::Struct("IOHIDOutputTransactionInterface", &[
3962        <*mut c_void>::ENCODING,
3963        <Option<unsafe extern "C-unwind" fn(*mut c_void,REFIID,*mut LPVOID,) -> HRESULT>>::ENCODING,
3964        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
3965        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
3966        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut *mut CFRunLoopSource,) -> IOReturn>>::ENCODING,
3967        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> *mut CFRunLoopSource>>::ENCODING,
3968        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut libc::mach_port_t,) -> IOReturn>>::ENCODING,
3969        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> libc::mach_port_t>>::ENCODING,
3970        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3971        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3972        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,) -> IOReturn>>::ENCODING,
3973        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,) -> IOReturn>>::ENCODING,
3974        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,) -> Boolean>>::ENCODING,
3975        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,) -> IOReturn>>::ENCODING,
3976        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,) -> IOReturn>>::ENCODING,
3977        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,) -> IOReturn>>::ENCODING,
3978        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDElementCookie,*mut IOHIDEventStruct,) -> IOReturn>>::ENCODING,
3979        <Option<unsafe extern "C-unwind" fn(*mut c_void,u32,IOHIDCallbackFunction,*mut c_void,*mut c_void,) -> IOReturn>>::ENCODING,
3980        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> IOReturn>>::ENCODING,
3981    ]);
3982}
3983
3984#[cfg(all(feature = "libc", feature = "objc2"))]
3985unsafe impl RefEncode for IOHIDOutputTransactionInterface {
3986    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
3987}
3988
3989/// Various options that can be supplied to IOHIDManager functions.
3990///
3991/// explicit enough.
3992///
3993/// supplied to
3994///
3995/// ```text
3996///  IOHIDManagerCreate
3997/// ```
3998///
3999/// to create and/or use a
4000/// persistent properties store.
4001///
4002/// to
4003///
4004/// ```text
4005///  IOHIDManagerCreate when you wish to overwrite the
4006///             persistent properties store without loading it first.
4007///  @const     kIOHIDManagerOptionDoNotSaveProperties This constant can be supplied
4008///             to @link IOHIDManagerCreate
4009/// ```
4010///
4011/// when you want to use the
4012/// persistent property store but do not want to add to it.
4013///
4014/// manager will act independently from calls to the manager.
4015/// This allows for devices to be scheduled on separate queues, and
4016/// their lifetime can persist after the manager is gone.
4017///
4018/// The following calls will not be propagated to the devices:
4019/// IOHIDManagerOpen, IOHIDManagerClose, IOHIDManagerScheduleWithRunLoop,
4020/// IOHIDManagerUnscheduleFromRunLoop, IOHIDManagerSetDispatchQueue,
4021/// IOHIDManagerSetCancelHandler, IOHIDManagerActivate, IOHIDManagerCancel,
4022/// IOHIDManagerRegisterInputReportCallback,
4023/// IOHIDManagerRegisterInputReportWithTimeStampCallback,
4024/// IOHIDManagerRegisterInputValueCallback, IOHIDManagerSetInputValueMatching,
4025/// IOHIDManagerSetInputValueMatchingMultiple,
4026///
4027/// This also means that the manager will not be able to receive input
4028/// reports or input values, since the devices may or may not be scheduled.
4029///
4030/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidmanageroptions?language=objc)
4031// NS_OPTIONS
4032#[repr(transparent)]
4033#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
4034pub struct IOHIDManagerOptions(pub u32);
4035bitflags::bitflags! {
4036    impl IOHIDManagerOptions: u32 {
4037        #[doc(alias = "kIOHIDManagerOptionNone")]
4038        const None = 0x0;
4039        #[doc(alias = "kIOHIDManagerOptionUsePersistentProperties")]
4040        const UsePersistentProperties = 0x1;
4041        #[doc(alias = "kIOHIDManagerOptionDoNotLoadProperties")]
4042        const DoNotLoadProperties = 0x2;
4043        #[doc(alias = "kIOHIDManagerOptionDoNotSaveProperties")]
4044        const DoNotSaveProperties = 0x4;
4045        #[doc(alias = "kIOHIDManagerOptionIndependentDevices")]
4046        const IndependentDevices = 0x8;
4047    }
4048}
4049
4050#[cfg(feature = "objc2")]
4051unsafe impl Encode for IOHIDManagerOptions {
4052    const ENCODING: Encoding = u32::ENCODING;
4053}
4054
4055#[cfg(feature = "objc2")]
4056unsafe impl RefEncode for IOHIDManagerOptions {
4057    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
4058}
4059
4060/// This is the type of a reference to the IOHIDManager.
4061///
4062/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidmanager?language=objc)
4063#[doc(alias = "IOHIDManagerRef")]
4064#[repr(C)]
4065pub struct IOHIDManager {
4066    inner: [u8; 0],
4067    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
4068}
4069
4070cf_type!(
4071    unsafe impl IOHIDManager {}
4072);
4073#[cfg(feature = "objc2")]
4074cf_objc2_type!(
4075    unsafe impl RefEncode<"__IOHIDManager"> for IOHIDManager {}
4076);
4077
4078unsafe impl ConcreteType for IOHIDManager {
4079    /// Returns the type identifier of all IOHIDManager instances.
4080    #[doc(alias = "IOHIDManagerGetTypeID")]
4081    #[inline]
4082    fn type_id() -> CFTypeID {
4083        extern "C-unwind" {
4084            fn IOHIDManagerGetTypeID() -> CFTypeID;
4085        }
4086        unsafe { IOHIDManagerGetTypeID() }
4087    }
4088}
4089
4090impl IOHIDManager {
4091    /// Creates an IOHIDManager object.
4092    ///
4093    /// The IOHIDManager object is meant as a global management system
4094    /// for communicating with HID devices.
4095    ///
4096    /// Parameter `allocator`: Allocator to be used during creation.
4097    ///
4098    /// Parameter `options`: Supply
4099    ///
4100    /// ```text
4101    ///  kIOHIDManagerOptionUsePersistentProperties
4102    /// ```
4103    ///
4104    /// to load
4105    /// properties from the default persistent property store. Otherwise supply
4106    ///
4107    /// ```text
4108    ///  kIOHIDManagerOptionNone
4109    /// ```
4110    ///
4111    /// (or 0).
4112    ///
4113    /// Returns: Returns a new IOHIDManagerRef.
4114    #[doc(alias = "IOHIDManagerCreate")]
4115    #[inline]
4116    pub fn new(allocator: Option<&CFAllocator>, options: IOOptionBits) -> CFRetained<IOHIDManager> {
4117        extern "C-unwind" {
4118            fn IOHIDManagerCreate(
4119                allocator: Option<&CFAllocator>,
4120                options: IOOptionBits,
4121            ) -> Option<NonNull<IOHIDManager>>;
4122        }
4123        let ret = unsafe { IOHIDManagerCreate(allocator, options) };
4124        let ret =
4125            ret.expect("function was marked as returning non-null, but actually returned NULL");
4126        unsafe { CFRetained::from_raw(ret) }
4127    }
4128
4129    /// Opens the IOHIDManager.
4130    ///
4131    /// This will open both current and future devices that are
4132    /// enumerated. To establish an exclusive link use the
4133    /// kIOHIDOptionsTypeSeizeDevice option.
4134    ///
4135    /// Parameter `manager`: Reference to an IOHIDManager.
4136    ///
4137    /// Parameter `options`: Option bits to be sent down to the manager and device.
4138    ///
4139    /// Returns: Returns kIOReturnSuccess if successful.
4140    #[doc(alias = "IOHIDManagerOpen")]
4141    #[inline]
4142    pub fn open(&self, options: IOOptionBits) -> IOReturn {
4143        extern "C-unwind" {
4144            fn IOHIDManagerOpen(manager: &IOHIDManager, options: IOOptionBits) -> IOReturn;
4145        }
4146        unsafe { IOHIDManagerOpen(self, options) }
4147    }
4148
4149    /// Closes the IOHIDManager.
4150    ///
4151    /// This will also close all devices that are currently enumerated.
4152    ///
4153    /// Parameter `manager`: Reference to an IOHIDManager.
4154    ///
4155    /// Parameter `options`: Option bits to be sent down to the manager and device.
4156    ///
4157    /// Returns: Returns kIOReturnSuccess if successful.
4158    #[doc(alias = "IOHIDManagerClose")]
4159    #[inline]
4160    pub fn close(&self, options: IOOptionBits) -> IOReturn {
4161        extern "C-unwind" {
4162            fn IOHIDManagerClose(manager: &IOHIDManager, options: IOOptionBits) -> IOReturn;
4163        }
4164        unsafe { IOHIDManagerClose(self, options) }
4165    }
4166
4167    /// Obtains a property of an IOHIDManager.
4168    ///
4169    /// Property keys are prefixed by kIOHIDDevice and declared in
4170    /// <IOKit
4171    /// /hid/IOHIDKeys.h>.
4172    ///
4173    /// Parameter `manager`: Reference to an IOHIDManager.
4174    ///
4175    /// Parameter `key`: CFStringRef containing key to be used when querying the
4176    /// manager.
4177    ///
4178    /// Returns: Returns CFTypeRef containing the property.
4179    #[doc(alias = "IOHIDManagerGetProperty")]
4180    #[inline]
4181    pub fn property(&self, key: &CFString) -> Option<CFRetained<CFType>> {
4182        extern "C-unwind" {
4183            fn IOHIDManagerGetProperty(
4184                manager: &IOHIDManager,
4185                key: &CFString,
4186            ) -> Option<NonNull<CFType>>;
4187        }
4188        let ret = unsafe { IOHIDManagerGetProperty(self, key) };
4189        ret.map(|ret| unsafe { CFRetained::retain(ret) })
4190    }
4191
4192    /// Sets a property for an IOHIDManager.
4193    ///
4194    /// Property keys are prefixed by kIOHIDDevice and kIOHIDManager and
4195    /// declared in
4196    /// <IOKit
4197    /// /hid/IOHIDKeys.h>. This method will propagate
4198    /// any relevent properties to current and future devices that are
4199    /// enumerated.
4200    ///
4201    /// Parameter `manager`: Reference to an IOHIDManager.
4202    ///
4203    /// Parameter `key`: CFStringRef containing key to be used when modifiying the
4204    /// device property.
4205    ///
4206    /// Parameter `value`: CFTypeRef containing the property value to be set.
4207    ///
4208    /// Returns: Returns TRUE if successful.
4209    ///
4210    /// # Safety
4211    ///
4212    /// `value` should be of the correct type.
4213    #[doc(alias = "IOHIDManagerSetProperty")]
4214    #[inline]
4215    pub unsafe fn set_property(&self, key: &CFString, value: &CFType) -> bool {
4216        extern "C-unwind" {
4217            fn IOHIDManagerSetProperty(
4218                manager: &IOHIDManager,
4219                key: &CFString,
4220                value: &CFType,
4221            ) -> Boolean;
4222        }
4223        let ret = unsafe { IOHIDManagerSetProperty(self, key, value) };
4224        ret != 0
4225    }
4226
4227    /// Schedules HID manager with run loop.
4228    ///
4229    /// Formally associates manager with client's run loop. Scheduling
4230    /// this device with the run loop is necessary before making use of
4231    /// any asynchronous APIs.  This will propagate to current and
4232    /// future devices that are enumerated.
4233    ///
4234    /// Parameter `manager`: Reference to an IOHIDManager.
4235    ///
4236    /// Parameter `runLoop`: RunLoop to be used when scheduling any asynchronous
4237    /// activity.
4238    ///
4239    /// Parameter `runLoopMode`: Run loop mode to be used when scheduling any
4240    /// asynchronous activity.
4241    ///
4242    /// # Safety
4243    ///
4244    /// `run_loop` possibly has additional threading requirements.
4245    #[doc(alias = "IOHIDManagerScheduleWithRunLoop")]
4246    #[inline]
4247    pub unsafe fn schedule_with_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
4248        extern "C-unwind" {
4249            fn IOHIDManagerScheduleWithRunLoop(
4250                manager: &IOHIDManager,
4251                run_loop: &CFRunLoop,
4252                run_loop_mode: &CFString,
4253            );
4254        }
4255        unsafe { IOHIDManagerScheduleWithRunLoop(self, run_loop, run_loop_mode) }
4256    }
4257
4258    /// Unschedules HID manager with run loop.
4259    ///
4260    /// Formally disassociates device with client's run loop. This will
4261    /// propagate to current devices that are enumerated.
4262    ///
4263    /// Parameter `manager`: Reference to an IOHIDManager.
4264    ///
4265    /// Parameter `runLoop`: RunLoop to be used when unscheduling any asynchronous
4266    /// activity.
4267    ///
4268    /// Parameter `runLoopMode`: Run loop mode to be used when unscheduling any
4269    /// asynchronous activity.
4270    ///
4271    /// # Safety
4272    ///
4273    /// `run_loop` possibly has additional threading requirements.
4274    #[doc(alias = "IOHIDManagerUnscheduleFromRunLoop")]
4275    #[inline]
4276    pub unsafe fn unschedule_from_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
4277        extern "C-unwind" {
4278            fn IOHIDManagerUnscheduleFromRunLoop(
4279                manager: &IOHIDManager,
4280                run_loop: &CFRunLoop,
4281                run_loop_mode: &CFString,
4282            );
4283        }
4284        unsafe { IOHIDManagerUnscheduleFromRunLoop(self, run_loop, run_loop_mode) }
4285    }
4286
4287    /// Sets the dispatch queue to be associated with the IOHIDManager.
4288    /// This is necessary in order to receive asynchronous events from the kernel.
4289    ///
4290    ///
4291    /// An IOHIDManager should not be associated with both a runloop and
4292    /// dispatch queue. A call to IOHIDManagerSetDispatchQueue should only be made once.
4293    ///
4294    /// After a dispatch queue is set, the IOHIDManager must make a call to activate
4295    /// via IOHIDManagerActivate and cancel via IOHIDManagerCancel. All calls to "Register"
4296    /// functions should be done before activation and not after cancellation.
4297    ///
4298    ///
4299    /// Parameter `manager`: Reference to an IOHIDManager
4300    ///
4301    ///
4302    /// Parameter `queue`: The dispatch queue to which the event handler block will be submitted.
4303    ///
4304    /// # Safety
4305    ///
4306    /// `queue` possibly has additional threading requirements.
4307    #[doc(alias = "IOHIDManagerSetDispatchQueue")]
4308    #[cfg(feature = "dispatch2")]
4309    #[inline]
4310    pub unsafe fn set_dispatch_queue(&self, queue: &DispatchQueue) {
4311        extern "C-unwind" {
4312            fn IOHIDManagerSetDispatchQueue(manager: &IOHIDManager, queue: &DispatchQueue);
4313        }
4314        unsafe { IOHIDManagerSetDispatchQueue(self, queue) }
4315    }
4316
4317    /// Sets a cancellation handler for the dispatch queue associated with
4318    /// IOHIDManagerSetDispatchQueue.
4319    ///
4320    ///
4321    /// The cancellation handler (if specified) will be will be submitted to the
4322    /// manager's dispatch queue in response to a call to IOHIDManagerCancel after
4323    /// all the events have been handled.
4324    ///
4325    /// IOHIDManagerSetCancelHandler should not be used when scheduling with
4326    /// a run loop.
4327    ///
4328    /// The IOHIDManagerRef should only be released after the manager has been
4329    /// cancelled, and the cancel handler has been called. This is to ensure all
4330    /// asynchronous objects are released. For example:
4331    ///
4332    /// dispatch_block_t cancelHandler = dispatch_block_create(0, ^{
4333    /// CFRelease(manager);
4334    /// });
4335    /// IOHIDManagerSetCancelHandler(manager, cancelHandler);
4336    /// IOHIDManagerActivate(manager);
4337    /// IOHIDManageCancel(manager);
4338    ///
4339    ///
4340    /// Parameter `manager`: Reference to an IOHIDManager.
4341    ///
4342    ///
4343    /// Parameter `handler`: The cancellation handler block to be associated with the dispatch queue.
4344    ///
4345    /// # Safety
4346    ///
4347    /// `handler` must be a valid pointer.
4348    #[doc(alias = "IOHIDManagerSetCancelHandler")]
4349    #[cfg(feature = "dispatch2")]
4350    #[inline]
4351    pub unsafe fn set_cancel_handler(&self, handler: dispatch_block_t) {
4352        extern "C-unwind" {
4353            fn IOHIDManagerSetCancelHandler(manager: &IOHIDManager, handler: dispatch_block_t);
4354        }
4355        unsafe { IOHIDManagerSetCancelHandler(self, handler) }
4356    }
4357
4358    /// Activates the IOHIDManager object.
4359    ///
4360    ///
4361    /// An IOHIDManager object associated with a dispatch queue is created
4362    /// in an inactive state. The object must be activated in order to
4363    /// receive asynchronous events from the kernel.
4364    ///
4365    /// A dispatch queue must be set via IOHIDManagerSetDispatchQueue before
4366    /// activation.
4367    ///
4368    /// An activated manager must be cancelled via IOHIDManagerCancel. All calls
4369    /// to "Register" functions should be done before activation
4370    /// and not after cancellation.
4371    ///
4372    /// Calling IOHIDManagerActivate on an active IOHIDManager has no effect.
4373    ///
4374    ///
4375    /// Parameter `manager`: Reference to an IOHIDManager
4376    #[doc(alias = "IOHIDManagerActivate")]
4377    #[inline]
4378    pub fn activate(&self) {
4379        extern "C-unwind" {
4380            fn IOHIDManagerActivate(manager: &IOHIDManager);
4381        }
4382        unsafe { IOHIDManagerActivate(self) }
4383    }
4384
4385    /// Cancels the IOHIDManager preventing any further invocation
4386    /// of its event handler block.
4387    ///
4388    ///
4389    /// Cancelling prevents any further invocation of the event handler block for
4390    /// the specified dispatch queue, but does not interrupt an event handler
4391    /// block that is already in progress.
4392    ///
4393    /// Explicit cancellation of the IOHIDManager is required, no implicit
4394    /// cancellation takes place.
4395    ///
4396    /// Calling IOHIDManagerCancel on an already cancelled queue has no effect.
4397    ///
4398    /// The IOHIDManagerRef should only be released after the manager has been
4399    /// cancelled, and the cancel handler has been called. This is to ensure all
4400    /// asynchronous objects are released. For example:
4401    ///
4402    /// dispatch_block_t cancelHandler = dispatch_block_create(0, ^{
4403    /// CFRelease(manager);
4404    /// });
4405    /// IOHIDManagerSetCancelHandler(manager, cancelHandler);
4406    /// IOHIDManagerActivate(manager);
4407    /// IOHIDManageCancel(manager);
4408    ///
4409    ///
4410    /// Parameter `manager`: Reference to an IOHIDManager
4411    #[doc(alias = "IOHIDManagerCancel")]
4412    #[inline]
4413    pub fn cancel(&self) {
4414        extern "C-unwind" {
4415            fn IOHIDManagerCancel(manager: &IOHIDManager);
4416        }
4417        unsafe { IOHIDManagerCancel(self) }
4418    }
4419
4420    /// Sets matching criteria for device enumeration.
4421    ///
4422    /// Matching keys are prefixed by kIOHIDDevice and declared in
4423    /// <IOKit
4424    /// /hid/IOHIDKeys.h>.  Passing a NULL dictionary will result
4425    /// in all devices being enumerated. Any subsequent calls will cause
4426    /// the hid manager to release previously enumerated devices and
4427    /// restart the enuerate process using the revised criteria.  If
4428    /// interested in multiple, specific device classes, please defer to
4429    /// using IOHIDManagerSetDeviceMatchingMultiple.
4430    /// If a dispatch queue is set, this call must occur before activation.
4431    ///
4432    /// Parameter `manager`: Reference to an IOHIDManager.
4433    ///
4434    /// Parameter `matching`: CFDictionaryRef containg device matching criteria.
4435    ///
4436    /// # Safety
4437    ///
4438    /// `matching` generics must be of the correct type.
4439    #[doc(alias = "IOHIDManagerSetDeviceMatching")]
4440    #[inline]
4441    pub unsafe fn set_device_matching(&self, matching: Option<&CFDictionary>) {
4442        extern "C-unwind" {
4443            fn IOHIDManagerSetDeviceMatching(
4444                manager: &IOHIDManager,
4445                matching: Option<&CFDictionary>,
4446            );
4447        }
4448        unsafe { IOHIDManagerSetDeviceMatching(self, matching) }
4449    }
4450
4451    /// Sets multiple matching criteria for device enumeration.
4452    ///
4453    /// Matching keys are prefixed by kIOHIDDevice and declared in
4454    /// <IOKit
4455    /// /hid/IOHIDKeys.h>.  This method is useful if interested
4456    /// in multiple, specific device classes.
4457    /// If a dispatch queue is set, this call must occur before activation.
4458    ///
4459    /// Parameter `manager`: Reference to an IOHIDManager.
4460    ///
4461    /// Parameter `multiple`: CFArrayRef containing multiple CFDictionaryRef objects
4462    /// containg device matching criteria.
4463    ///
4464    /// # Safety
4465    ///
4466    /// `multiple` generic must be of the correct type.
4467    #[doc(alias = "IOHIDManagerSetDeviceMatchingMultiple")]
4468    #[inline]
4469    pub unsafe fn set_device_matching_multiple(&self, multiple: Option<&CFArray>) {
4470        extern "C-unwind" {
4471            fn IOHIDManagerSetDeviceMatchingMultiple(
4472                manager: &IOHIDManager,
4473                multiple: Option<&CFArray>,
4474            );
4475        }
4476        unsafe { IOHIDManagerSetDeviceMatchingMultiple(self, multiple) }
4477    }
4478
4479    /// Obtains currently enumerated devices.
4480    ///
4481    /// Parameter `manager`: Reference to an IOHIDManager.
4482    ///
4483    /// Returns: CFSetRef containing IOHIDDeviceRefs.
4484    #[doc(alias = "IOHIDManagerCopyDevices")]
4485    #[inline]
4486    pub fn devices(&self) -> Option<CFRetained<CFSet>> {
4487        extern "C-unwind" {
4488            fn IOHIDManagerCopyDevices(manager: &IOHIDManager) -> Option<NonNull<CFSet>>;
4489        }
4490        let ret = unsafe { IOHIDManagerCopyDevices(self) };
4491        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
4492    }
4493
4494    /// Registers a callback to be used a device is enumerated.
4495    ///
4496    /// Only device matching the set criteria will be enumerated.
4497    /// If a dispatch queue is set, this call must occur before activation.
4498    /// Devices provided in the callback will be scheduled with the same
4499    /// runloop/dispatch queue as the IOHIDManagerRef, and should not be
4500    /// rescheduled.
4501    ///
4502    /// Parameter `manager`: Reference to an IOHIDManagerRef.
4503    ///
4504    /// Parameter `callback`: Pointer to a callback method of type
4505    /// IOHIDDeviceCallback.
4506    ///
4507    /// Parameter `context`: Pointer to data to be passed to the callback.
4508    ///
4509    /// # Safety
4510    ///
4511    /// - `callback` must be implemented correctly.
4512    /// - `context` must be a valid pointer or null.
4513    #[doc(alias = "IOHIDManagerRegisterDeviceMatchingCallback")]
4514    #[inline]
4515    pub unsafe fn register_device_matching_callback(
4516        &self,
4517        callback: IOHIDDeviceCallback,
4518        context: *mut c_void,
4519    ) {
4520        extern "C-unwind" {
4521            fn IOHIDManagerRegisterDeviceMatchingCallback(
4522                manager: &IOHIDManager,
4523                callback: IOHIDDeviceCallback,
4524                context: *mut c_void,
4525            );
4526        }
4527        unsafe { IOHIDManagerRegisterDeviceMatchingCallback(self, callback, context) }
4528    }
4529
4530    /// Registers a callback to be used when any enumerated device is
4531    /// removed.
4532    ///
4533    /// In most cases this occurs when a device is unplugged.
4534    /// If a dispatch queue is set, this call must occur before activation.
4535    ///
4536    /// Parameter `manager`: Reference to an IOHIDManagerRef.
4537    ///
4538    /// Parameter `callback`: Pointer to a callback method of type
4539    /// IOHIDDeviceCallback.
4540    ///
4541    /// Parameter `context`: Pointer to data to be passed to the callback.
4542    ///
4543    /// # Safety
4544    ///
4545    /// - `callback` must be implemented correctly.
4546    /// - `context` must be a valid pointer or null.
4547    #[doc(alias = "IOHIDManagerRegisterDeviceRemovalCallback")]
4548    #[inline]
4549    pub unsafe fn register_device_removal_callback(
4550        &self,
4551        callback: IOHIDDeviceCallback,
4552        context: *mut c_void,
4553    ) {
4554        extern "C-unwind" {
4555            fn IOHIDManagerRegisterDeviceRemovalCallback(
4556                manager: &IOHIDManager,
4557                callback: IOHIDDeviceCallback,
4558                context: *mut c_void,
4559            );
4560        }
4561        unsafe { IOHIDManagerRegisterDeviceRemovalCallback(self, callback, context) }
4562    }
4563
4564    /// Registers a callback to be used when an input report is issued by
4565    /// any enumerated device.
4566    ///
4567    /// An input report is an interrupt driver report issued by a device.
4568    /// If a dispatch queue is set, this call must occur before activation.
4569    ///
4570    /// Parameter `manager`: Reference to an IOHIDManagerRef.
4571    ///
4572    /// Parameter `callback`: Pointer to a callback method of type IOHIDReportCallback.
4573    ///
4574    /// Parameter `context`: Pointer to data to be passed to the callback.
4575    ///
4576    /// # Safety
4577    ///
4578    /// - `callback` must be implemented correctly.
4579    /// - `context` must be a valid pointer or null.
4580    #[doc(alias = "IOHIDManagerRegisterInputReportCallback")]
4581    #[inline]
4582    pub unsafe fn register_input_report_callback(
4583        &self,
4584        callback: IOHIDReportCallback,
4585        context: *mut c_void,
4586    ) {
4587        extern "C-unwind" {
4588            fn IOHIDManagerRegisterInputReportCallback(
4589                manager: &IOHIDManager,
4590                callback: IOHIDReportCallback,
4591                context: *mut c_void,
4592            );
4593        }
4594        unsafe { IOHIDManagerRegisterInputReportCallback(self, callback, context) }
4595    }
4596
4597    /// Registers a callback to be used when an input report is issued by
4598    /// any enumerated device.
4599    ///
4600    /// An input report is an interrupt driver report issued by a device.
4601    /// If a dispatch queue is set, this call must occur before activation.
4602    ///
4603    /// Parameter `manager`: Reference to an IOHIDManagerRef.
4604    ///
4605    /// Parameter `callback`: Pointer to a callback method of type
4606    /// IOHIDReportWithTimeStampCallback.
4607    ///
4608    /// Parameter `context`: Pointer to data to be passed to the callback.
4609    ///
4610    /// # Safety
4611    ///
4612    /// - `callback` must be implemented correctly.
4613    /// - `context` must be a valid pointer or null.
4614    #[doc(alias = "IOHIDManagerRegisterInputReportWithTimeStampCallback")]
4615    #[inline]
4616    pub unsafe fn register_input_report_with_time_stamp_callback(
4617        &self,
4618        callback: IOHIDReportWithTimeStampCallback,
4619        context: *mut c_void,
4620    ) {
4621        extern "C-unwind" {
4622            fn IOHIDManagerRegisterInputReportWithTimeStampCallback(
4623                manager: &IOHIDManager,
4624                callback: IOHIDReportWithTimeStampCallback,
4625                context: *mut c_void,
4626            );
4627        }
4628        unsafe { IOHIDManagerRegisterInputReportWithTimeStampCallback(self, callback, context) }
4629    }
4630
4631    /// Registers a callback to be used when an input value is issued by
4632    /// any enumerated device.
4633    ///
4634    /// An input element refers to any element of type
4635    /// kIOHIDElementTypeInput and is usually issued by interrupt driven
4636    /// reports.
4637    /// If a dispatch queue is set, this call must occur before activation.
4638    ///
4639    /// Parameter `manager`: Reference to an IOHIDManagerRef.
4640    ///
4641    /// Parameter `callback`: Pointer to a callback method of type IOHIDValueCallback.
4642    ///
4643    /// Parameter `context`: Pointer to data to be passed to the callback.
4644    ///
4645    /// # Safety
4646    ///
4647    /// - `callback` must be implemented correctly.
4648    /// - `context` must be a valid pointer or null.
4649    #[doc(alias = "IOHIDManagerRegisterInputValueCallback")]
4650    #[inline]
4651    pub unsafe fn register_input_value_callback(
4652        &self,
4653        callback: IOHIDValueCallback,
4654        context: *mut c_void,
4655    ) {
4656        extern "C-unwind" {
4657            fn IOHIDManagerRegisterInputValueCallback(
4658                manager: &IOHIDManager,
4659                callback: IOHIDValueCallback,
4660                context: *mut c_void,
4661            );
4662        }
4663        unsafe { IOHIDManagerRegisterInputValueCallback(self, callback, context) }
4664    }
4665
4666    /// Sets matching criteria for input values received via
4667    /// IOHIDManagerRegisterInputValueCallback.
4668    ///
4669    /// Matching keys are prefixed by kIOHIDElement and declared in
4670    /// <IOKit
4671    /// /hid/IOHIDKeys.h>.  Passing a NULL dictionary will result
4672    /// in all devices being enumerated. Any subsequent calls will cause
4673    /// the hid manager to release previously matched input elements and
4674    /// restart the matching process using the revised criteria.  If
4675    /// interested in multiple, specific device elements, please defer to
4676    /// using IOHIDManagerSetInputValueMatchingMultiple.
4677    /// If a dispatch queue is set, this call must occur before activation.
4678    ///
4679    /// Parameter `manager`: Reference to an IOHIDManager.
4680    ///
4681    /// Parameter `matching`: CFDictionaryRef containg device matching criteria.
4682    ///
4683    /// # Safety
4684    ///
4685    /// `matching` generics must be of the correct type.
4686    #[doc(alias = "IOHIDManagerSetInputValueMatching")]
4687    #[inline]
4688    pub unsafe fn set_input_value_matching(&self, matching: Option<&CFDictionary>) {
4689        extern "C-unwind" {
4690            fn IOHIDManagerSetInputValueMatching(
4691                manager: &IOHIDManager,
4692                matching: Option<&CFDictionary>,
4693            );
4694        }
4695        unsafe { IOHIDManagerSetInputValueMatching(self, matching) }
4696    }
4697
4698    /// Sets multiple matching criteria for input values received via
4699    /// IOHIDManagerRegisterInputValueCallback.
4700    ///
4701    /// Matching keys are prefixed by kIOHIDElement and declared in
4702    /// <IOKit
4703    /// /hid/IOHIDKeys.h>.  This method is useful if interested
4704    /// in multiple, specific elements.
4705    /// If a dispatch queue is set, this call must occur before activation.
4706    ///
4707    /// Parameter `manager`: Reference to an IOHIDManager.
4708    ///
4709    /// Parameter `multiple`: CFArrayRef containing multiple CFDictionaryRef objects
4710    /// containing input element matching criteria.
4711    ///
4712    /// # Safety
4713    ///
4714    /// `multiple` generic must be of the correct type.
4715    #[doc(alias = "IOHIDManagerSetInputValueMatchingMultiple")]
4716    #[inline]
4717    pub unsafe fn set_input_value_matching_multiple(&self, multiple: Option<&CFArray>) {
4718        extern "C-unwind" {
4719            fn IOHIDManagerSetInputValueMatchingMultiple(
4720                manager: &IOHIDManager,
4721                multiple: Option<&CFArray>,
4722            );
4723        }
4724        unsafe { IOHIDManagerSetInputValueMatchingMultiple(self, multiple) }
4725    }
4726
4727    /// Used to write out the current properties to a specific domain.
4728    ///
4729    /// Using this function will cause the persistent properties to be saved out
4730    /// replacing any properties that already existed in the specified domain. All arguments
4731    /// must be non-NULL except options.
4732    ///
4733    /// Parameter `manager`: Reference to an IOHIDManager.
4734    ///
4735    /// Parameter `applicationID`: Reference to a CFPreferences applicationID.
4736    ///
4737    /// Parameter `userName`: Reference to a CFPreferences userName.
4738    ///
4739    /// Parameter `hostName`: Reference to a CFPreferences hostName.
4740    ///
4741    /// Parameter `options`: Reserved for future use.
4742    #[doc(alias = "IOHIDManagerSaveToPropertyDomain")]
4743    #[inline]
4744    pub fn save_to_property_domain(
4745        &self,
4746        application_id: &CFString,
4747        user_name: &CFString,
4748        host_name: &CFString,
4749        options: IOOptionBits,
4750    ) {
4751        extern "C-unwind" {
4752            fn IOHIDManagerSaveToPropertyDomain(
4753                manager: &IOHIDManager,
4754                application_id: &CFString,
4755                user_name: &CFString,
4756                host_name: &CFString,
4757                options: IOOptionBits,
4758            );
4759        }
4760        unsafe {
4761            IOHIDManagerSaveToPropertyDomain(self, application_id, user_name, host_name, options)
4762        }
4763    }
4764}
4765
4766/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_undefined?language=objc)
4767pub const kHIDPage_Undefined: c_uint = 0x00;
4768/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_genericdesktop?language=objc)
4769pub const kHIDPage_GenericDesktop: c_uint = 0x01;
4770/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_simulation?language=objc)
4771pub const kHIDPage_Simulation: c_uint = 0x02;
4772/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_vr?language=objc)
4773pub const kHIDPage_VR: c_uint = 0x03;
4774/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_sport?language=objc)
4775pub const kHIDPage_Sport: c_uint = 0x04;
4776/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_game?language=objc)
4777pub const kHIDPage_Game: c_uint = 0x05;
4778/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_genericdevicecontrols?language=objc)
4779pub const kHIDPage_GenericDeviceControls: c_uint = 0x06;
4780/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_keyboardorkeypad?language=objc)
4781pub const kHIDPage_KeyboardOrKeypad: c_uint = 0x07;
4782/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_leds?language=objc)
4783pub const kHIDPage_LEDs: c_uint = 0x08;
4784/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_button?language=objc)
4785pub const kHIDPage_Button: c_uint = 0x09;
4786/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_ordinal?language=objc)
4787pub const kHIDPage_Ordinal: c_uint = 0x0A;
4788/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_telephony?language=objc)
4789pub const kHIDPage_Telephony: c_uint = 0x0B;
4790/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_consumer?language=objc)
4791pub const kHIDPage_Consumer: c_uint = 0x0C;
4792/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_digitizer?language=objc)
4793pub const kHIDPage_Digitizer: c_uint = 0x0D;
4794/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_haptics?language=objc)
4795pub const kHIDPage_Haptics: c_uint = 0x0E;
4796/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_pid?language=objc)
4797pub const kHIDPage_PID: c_uint = 0x0F;
4798/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_unicode?language=objc)
4799pub const kHIDPage_Unicode: c_uint = 0x10;
4800/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_alphanumericdisplay?language=objc)
4801pub const kHIDPage_AlphanumericDisplay: c_uint = 0x14;
4802/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_sensor?language=objc)
4803pub const kHIDPage_Sensor: c_uint = 0x20;
4804/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_brailledisplay?language=objc)
4805pub const kHIDPage_BrailleDisplay: c_uint = 0x41;
4806/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_monitor?language=objc)
4807pub const kHIDPage_Monitor: c_uint = 0x80;
4808/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_monitorenumerated?language=objc)
4809pub const kHIDPage_MonitorEnumerated: c_uint = 0x81;
4810/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_monitorvirtual?language=objc)
4811pub const kHIDPage_MonitorVirtual: c_uint = 0x82;
4812/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_monitorreserved?language=objc)
4813pub const kHIDPage_MonitorReserved: c_uint = 0x83;
4814/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_powerdevice?language=objc)
4815pub const kHIDPage_PowerDevice: c_uint = 0x84;
4816/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_batterysystem?language=objc)
4817pub const kHIDPage_BatterySystem: c_uint = 0x85;
4818/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_powerreserved?language=objc)
4819pub const kHIDPage_PowerReserved: c_uint = 0x86;
4820/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_powerreserved2?language=objc)
4821pub const kHIDPage_PowerReserved2: c_uint = 0x87;
4822/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_barcodescanner?language=objc)
4823pub const kHIDPage_BarCodeScanner: c_uint = 0x8C;
4824/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_weighingdevice?language=objc)
4825pub const kHIDPage_WeighingDevice: c_uint = 0x8D;
4826/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_scale?language=objc)
4827pub const kHIDPage_Scale: c_uint = 0x8D;
4828/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_magneticstripereader?language=objc)
4829pub const kHIDPage_MagneticStripeReader: c_uint = 0x8E;
4830/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_cameracontrol?language=objc)
4831pub const kHIDPage_CameraControl: c_uint = 0x90;
4832/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_arcade?language=objc)
4833pub const kHIDPage_Arcade: c_uint = 0x91;
4834/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_fido?language=objc)
4835pub const kHIDPage_FIDO: c_uint = 0xF1D0;
4836/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidpage_vendordefinedstart?language=objc)
4837pub const kHIDPage_VendorDefinedStart: c_uint = 0xFF00;
4838
4839/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_undefined?language=objc)
4840pub const kHIDUsage_Undefined: c_uint = 0x00;
4841
4842/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_pointer?language=objc)
4843pub const kHIDUsage_GD_Pointer: c_uint = 0x01;
4844/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_mouse?language=objc)
4845pub const kHIDUsage_GD_Mouse: c_uint = 0x02;
4846/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_joystick?language=objc)
4847pub const kHIDUsage_GD_Joystick: c_uint = 0x04;
4848/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_gamepad?language=objc)
4849pub const kHIDUsage_GD_GamePad: c_uint = 0x05;
4850/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_keyboard?language=objc)
4851pub const kHIDUsage_GD_Keyboard: c_uint = 0x06;
4852/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_keypad?language=objc)
4853pub const kHIDUsage_GD_Keypad: c_uint = 0x07;
4854/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_multiaxiscontroller?language=objc)
4855pub const kHIDUsage_GD_MultiAxisController: c_uint = 0x08;
4856/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_tabletpcsystemcontrols?language=objc)
4857pub const kHIDUsage_GD_TabletPCSystemControls: c_uint = 0x09;
4858/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_assistivecontrol?language=objc)
4859pub const kHIDUsage_GD_AssistiveControl: c_uint = 0x0A;
4860/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemmultiaxiscontroller?language=objc)
4861pub const kHIDUsage_GD_SystemMultiAxisController: c_uint = 0x0E;
4862/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_spatialcontroller?language=objc)
4863pub const kHIDUsage_GD_SpatialController: c_uint = 0x0F;
4864/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_assistivecontrolcompatible?language=objc)
4865pub const kHIDUsage_GD_AssistiveControlCompatible: c_uint = 0x10;
4866/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_x?language=objc)
4867pub const kHIDUsage_GD_X: c_uint = 0x30;
4868/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_y?language=objc)
4869pub const kHIDUsage_GD_Y: c_uint = 0x31;
4870/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_z?language=objc)
4871pub const kHIDUsage_GD_Z: c_uint = 0x32;
4872/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_rx?language=objc)
4873pub const kHIDUsage_GD_Rx: c_uint = 0x33;
4874/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_ry?language=objc)
4875pub const kHIDUsage_GD_Ry: c_uint = 0x34;
4876/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_rz?language=objc)
4877pub const kHIDUsage_GD_Rz: c_uint = 0x35;
4878/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_slider?language=objc)
4879pub const kHIDUsage_GD_Slider: c_uint = 0x36;
4880/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dial?language=objc)
4881pub const kHIDUsage_GD_Dial: c_uint = 0x37;
4882/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_wheel?language=objc)
4883pub const kHIDUsage_GD_Wheel: c_uint = 0x38;
4884/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_hatswitch?language=objc)
4885pub const kHIDUsage_GD_Hatswitch: c_uint = 0x39;
4886/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_countedbuffer?language=objc)
4887pub const kHIDUsage_GD_CountedBuffer: c_uint = 0x3A;
4888/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_bytecount?language=objc)
4889pub const kHIDUsage_GD_ByteCount: c_uint = 0x3B;
4890/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_motionwakeup?language=objc)
4891pub const kHIDUsage_GD_MotionWakeup: c_uint = 0x3C;
4892/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_start?language=objc)
4893pub const kHIDUsage_GD_Start: c_uint = 0x3D;
4894/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_select?language=objc)
4895pub const kHIDUsage_GD_Select: c_uint = 0x3E;
4896/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_vx?language=objc)
4897pub const kHIDUsage_GD_Vx: c_uint = 0x40;
4898/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_vy?language=objc)
4899pub const kHIDUsage_GD_Vy: c_uint = 0x41;
4900/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_vz?language=objc)
4901pub const kHIDUsage_GD_Vz: c_uint = 0x42;
4902/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_vbrx?language=objc)
4903pub const kHIDUsage_GD_Vbrx: c_uint = 0x43;
4904/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_vbry?language=objc)
4905pub const kHIDUsage_GD_Vbry: c_uint = 0x44;
4906/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_vbrz?language=objc)
4907pub const kHIDUsage_GD_Vbrz: c_uint = 0x45;
4908/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_vno?language=objc)
4909pub const kHIDUsage_GD_Vno: c_uint = 0x46;
4910/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_featurenotification?language=objc)
4911pub const kHIDUsage_GD_FeatureNotification: c_uint = 0x47;
4912/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_resolutionmultiplier?language=objc)
4913pub const kHIDUsage_GD_ResolutionMultiplier: c_uint = 0x48;
4914/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_qx?language=objc)
4915pub const kHIDUsage_GD_Qx: c_uint = 0x49;
4916/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_qy?language=objc)
4917pub const kHIDUsage_GD_Qy: c_uint = 0x4A;
4918/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_qz?language=objc)
4919pub const kHIDUsage_GD_Qz: c_uint = 0x4B;
4920/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_qw?language=objc)
4921pub const kHIDUsage_GD_Qw: c_uint = 0x4C;
4922/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemcontrol?language=objc)
4923pub const kHIDUsage_GD_SystemControl: c_uint = 0x80;
4924/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systempowerdown?language=objc)
4925pub const kHIDUsage_GD_SystemPowerDown: c_uint = 0x81;
4926/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemsleep?language=objc)
4927pub const kHIDUsage_GD_SystemSleep: c_uint = 0x82;
4928/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemwakeup?language=objc)
4929pub const kHIDUsage_GD_SystemWakeUp: c_uint = 0x83;
4930/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemcontextmenu?language=objc)
4931pub const kHIDUsage_GD_SystemContextMenu: c_uint = 0x84;
4932/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemmainmenu?language=objc)
4933pub const kHIDUsage_GD_SystemMainMenu: c_uint = 0x85;
4934/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemappmenu?language=objc)
4935pub const kHIDUsage_GD_SystemAppMenu: c_uint = 0x86;
4936/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemmenuhelp?language=objc)
4937pub const kHIDUsage_GD_SystemMenuHelp: c_uint = 0x87;
4938/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemmenuexit?language=objc)
4939pub const kHIDUsage_GD_SystemMenuExit: c_uint = 0x88;
4940/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemmenuselect?language=objc)
4941pub const kHIDUsage_GD_SystemMenuSelect: c_uint = 0x89;
4942/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemmenu?language=objc)
4943pub const kHIDUsage_GD_SystemMenu: c_uint = kHIDUsage_GD_SystemMenuSelect;
4944/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemmenuright?language=objc)
4945pub const kHIDUsage_GD_SystemMenuRight: c_uint = 0x8A;
4946/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemmenuleft?language=objc)
4947pub const kHIDUsage_GD_SystemMenuLeft: c_uint = 0x8B;
4948/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemmenuup?language=objc)
4949pub const kHIDUsage_GD_SystemMenuUp: c_uint = 0x8C;
4950/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemmenudown?language=objc)
4951pub const kHIDUsage_GD_SystemMenuDown: c_uint = 0x8D;
4952/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemcoldrestart?language=objc)
4953pub const kHIDUsage_GD_SystemColdRestart: c_uint = 0x8E;
4954/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemwarmrestart?language=objc)
4955pub const kHIDUsage_GD_SystemWarmRestart: c_uint = 0x8F;
4956/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dpadup?language=objc)
4957pub const kHIDUsage_GD_DPadUp: c_uint = 0x90;
4958/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dpaddown?language=objc)
4959pub const kHIDUsage_GD_DPadDown: c_uint = 0x91;
4960/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dpadright?language=objc)
4961pub const kHIDUsage_GD_DPadRight: c_uint = 0x92;
4962/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dpadleft?language=objc)
4963pub const kHIDUsage_GD_DPadLeft: c_uint = 0x93;
4964/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_indextrigger?language=objc)
4965pub const kHIDUsage_GD_IndexTrigger: c_uint = 0x94;
4966/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_palmtrigger?language=objc)
4967pub const kHIDUsage_GD_PalmTrigger: c_uint = 0x95;
4968/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_thumbstick?language=objc)
4969pub const kHIDUsage_GD_Thumbstick: c_uint = 0x96;
4970/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_sfshift?language=objc)
4971pub const kHIDUsage_GD_SFShift: c_uint = 0x97;
4972/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_sfshiftlock?language=objc)
4973pub const kHIDUsage_GD_SFShiftLock: c_uint = 0x98;
4974/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_sfshiftlockindicator?language=objc)
4975pub const kHIDUsage_GD_SFShiftLockIndicator: c_uint = 0x99;
4976/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdismissnotification?language=objc)
4977pub const kHIDUsage_GD_SystemDismissNotification: c_uint = 0x9A;
4978/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_donotdisturb?language=objc)
4979pub const kHIDUsage_GD_DoNotDisturb: c_uint = 0x9B;
4980/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdock?language=objc)
4981pub const kHIDUsage_GD_SystemDock: c_uint = 0xA0;
4982/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemundock?language=objc)
4983pub const kHIDUsage_GD_SystemUndock: c_uint = 0xA1;
4984/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemsetup?language=objc)
4985pub const kHIDUsage_GD_SystemSetup: c_uint = 0xA2;
4986/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systembreak?language=objc)
4987pub const kHIDUsage_GD_SystemBreak: c_uint = 0xA3;
4988/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdebuggerbreak?language=objc)
4989pub const kHIDUsage_GD_SystemDebuggerBreak: c_uint = 0xA4;
4990/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_applicationbreak?language=objc)
4991pub const kHIDUsage_GD_ApplicationBreak: c_uint = 0xA5;
4992/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_applicationdebuggerbreak?language=objc)
4993pub const kHIDUsage_GD_ApplicationDebuggerBreak: c_uint = 0xA6;
4994/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemspeakermute?language=objc)
4995pub const kHIDUsage_GD_SystemSpeakerMute: c_uint = 0xA7;
4996/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemhibernate?language=objc)
4997pub const kHIDUsage_GD_SystemHibernate: c_uint = 0xA8;
4998/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemmicrophonemute?language=objc)
4999pub const kHIDUsage_GD_SystemMicrophoneMute: c_uint = 0xA9;
5000/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdisplayinvert?language=objc)
5001pub const kHIDUsage_GD_SystemDisplayInvert: c_uint = 0xB0;
5002/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdisplayinternal?language=objc)
5003pub const kHIDUsage_GD_SystemDisplayInternal: c_uint = 0xB1;
5004/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdisplayexternal?language=objc)
5005pub const kHIDUsage_GD_SystemDisplayExternal: c_uint = 0xB2;
5006/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdisplayboth?language=objc)
5007pub const kHIDUsage_GD_SystemDisplayBoth: c_uint = 0xB3;
5008/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdisplaydual?language=objc)
5009pub const kHIDUsage_GD_SystemDisplayDual: c_uint = 0xB4;
5010/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdisplaytogglemode?language=objc)
5011pub const kHIDUsage_GD_SystemDisplayToggleMode: c_uint = 0xB5;
5012/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdisplayswap?language=objc)
5013pub const kHIDUsage_GD_SystemDisplaySwap: c_uint = 0xB6;
5014/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdisplaytogglelcdautoscale?language=objc)
5015pub const kHIDUsage_GD_SystemDisplayToggleLCDAutoscale: c_uint = 0xB7;
5016/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_sensorzone?language=objc)
5017pub const kHIDUsage_GD_SensorZone: c_uint = 0xC0;
5018/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_rpm?language=objc)
5019pub const kHIDUsage_GD_RPM: c_uint = 0xC1;
5020/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_coolantlevel?language=objc)
5021pub const kHIDUsage_GD_CoolantLevel: c_uint = 0xC2;
5022/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_coolantcriticallevel?language=objc)
5023pub const kHIDUsage_GD_CoolantCriticalLevel: c_uint = 0xC3;
5024/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_coolantpump?language=objc)
5025pub const kHIDUsage_GD_CoolantPump: c_uint = 0xC4;
5026/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_chassisenclosure?language=objc)
5027pub const kHIDUsage_GD_ChassisEnclosure: c_uint = 0xC5;
5028/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_wirelessradiobutton?language=objc)
5029pub const kHIDUsage_GD_WirelessRadioButton: c_uint = 0xC6;
5030/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_wirelessradioled?language=objc)
5031pub const kHIDUsage_GD_WirelessRadioLED: c_uint = 0xC7;
5032/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_wirelessradiosliderswitch?language=objc)
5033pub const kHIDUsage_GD_WirelessRadioSliderSwitch: c_uint = 0xC8;
5034/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdisplayrotationlockbutton?language=objc)
5035pub const kHIDUsage_GD_SystemDisplayRotationLockButton: c_uint = 0xC9;
5036/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_systemdisplayrotationlocksliderswitch?language=objc)
5037pub const kHIDUsage_GD_SystemDisplayRotationLockSliderSwitch: c_uint = 0xCA;
5038/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_controlenable?language=objc)
5039pub const kHIDUsage_GD_ControlEnable: c_uint = 0xCB;
5040/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dockabledeviceuniqueid?language=objc)
5041pub const kHIDUsage_GD_DockableDeviceUniqueID: c_uint = 0xD0;
5042/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dockabledevicevendorid?language=objc)
5043pub const kHIDUsage_GD_DockableDeviceVendorID: c_uint = 0xD1;
5044/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dockabledeviceprimaryusagepage?language=objc)
5045pub const kHIDUsage_GD_DockableDevicePrimaryUsagePage: c_uint = 0xD2;
5046/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dockabledeviceprimaryusageid?language=objc)
5047pub const kHIDUsage_GD_DockableDevicePrimaryUsageID: c_uint = 0xD3;
5048/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dockabledevicedockingstate?language=objc)
5049pub const kHIDUsage_GD_DockableDeviceDockingState: c_uint = 0xD4;
5050/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dockabledevicedisplayocclusion?language=objc)
5051pub const kHIDUsage_GD_DockableDeviceDisplayOcclusion: c_uint = 0xD5;
5052/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_dockabledeviceobjecttype?language=objc)
5053pub const kHIDUsage_GD_DockableDeviceObjectType: c_uint = 0xD6;
5054/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_callactiveled?language=objc)
5055pub const kHIDUsage_GD_CallActiveLED: c_uint = 0xE0;
5056/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_callmutetoggle?language=objc)
5057pub const kHIDUsage_GD_CallMuteToggle: c_uint = 0xE1;
5058/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_callmuteled?language=objc)
5059pub const kHIDUsage_GD_CallMuteLED: c_uint = 0xE2;
5060/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gd_reserved?language=objc)
5061pub const kHIDUsage_GD_Reserved: c_uint = 0xFFFF;
5062
5063/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_flightsimulationdevice?language=objc)
5064pub const kHIDUsage_Sim_FlightSimulationDevice: c_uint = 0x01;
5065/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_automobilesimulationdevice?language=objc)
5066pub const kHIDUsage_Sim_AutomobileSimulationDevice: c_uint = 0x02;
5067/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_tanksimulationdevice?language=objc)
5068pub const kHIDUsage_Sim_TankSimulationDevice: c_uint = 0x03;
5069/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_spaceshipsimulationdevice?language=objc)
5070pub const kHIDUsage_Sim_SpaceshipSimulationDevice: c_uint = 0x04;
5071/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_submarinesimulationdevice?language=objc)
5072pub const kHIDUsage_Sim_SubmarineSimulationDevice: c_uint = 0x05;
5073/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_sailingsimulationdevice?language=objc)
5074pub const kHIDUsage_Sim_SailingSimulationDevice: c_uint = 0x06;
5075/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_motorcyclesimulationdevice?language=objc)
5076pub const kHIDUsage_Sim_MotorcycleSimulationDevice: c_uint = 0x07;
5077/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_sportssimulationdevice?language=objc)
5078pub const kHIDUsage_Sim_SportsSimulationDevice: c_uint = 0x08;
5079/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_airplanesimulationdevice?language=objc)
5080pub const kHIDUsage_Sim_AirplaneSimulationDevice: c_uint = 0x09;
5081/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_helicoptersimulationdevice?language=objc)
5082pub const kHIDUsage_Sim_HelicopterSimulationDevice: c_uint = 0x0A;
5083/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_magiccarpetsimulationdevice?language=objc)
5084pub const kHIDUsage_Sim_MagicCarpetSimulationDevice: c_uint = 0x0B;
5085/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_bicyclesimulationdevice?language=objc)
5086pub const kHIDUsage_Sim_BicycleSimulationDevice: c_uint = 0x0C;
5087/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_flightcontrolstick?language=objc)
5088pub const kHIDUsage_Sim_FlightControlStick: c_uint = 0x20;
5089/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_flightstick?language=objc)
5090pub const kHIDUsage_Sim_FlightStick: c_uint = 0x21;
5091/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_cycliccontrol?language=objc)
5092pub const kHIDUsage_Sim_CyclicControl: c_uint = 0x22;
5093/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_cyclictrim?language=objc)
5094pub const kHIDUsage_Sim_CyclicTrim: c_uint = 0x23;
5095/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_flightyoke?language=objc)
5096pub const kHIDUsage_Sim_FlightYoke: c_uint = 0x24;
5097/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_trackcontrol?language=objc)
5098pub const kHIDUsage_Sim_TrackControl: c_uint = 0x25;
5099/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_aileron?language=objc)
5100pub const kHIDUsage_Sim_Aileron: c_uint = 0xB0;
5101/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_ailerontrim?language=objc)
5102pub const kHIDUsage_Sim_AileronTrim: c_uint = 0xB1;
5103/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_antitorquecontrol?language=objc)
5104pub const kHIDUsage_Sim_AntiTorqueControl: c_uint = 0xB2;
5105/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_autopilotenable?language=objc)
5106pub const kHIDUsage_Sim_AutopilotEnable: c_uint = 0xB3;
5107/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_chaffrelease?language=objc)
5108pub const kHIDUsage_Sim_ChaffRelease: c_uint = 0xB4;
5109/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_collectivecontrol?language=objc)
5110pub const kHIDUsage_Sim_CollectiveControl: c_uint = 0xB5;
5111/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_divebrake?language=objc)
5112pub const kHIDUsage_Sim_DiveBrake: c_uint = 0xB6;
5113/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_electroniccountermeasures?language=objc)
5114pub const kHIDUsage_Sim_ElectronicCountermeasures: c_uint = 0xB7;
5115/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_elevator?language=objc)
5116pub const kHIDUsage_Sim_Elevator: c_uint = 0xB8;
5117/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_elevatortrim?language=objc)
5118pub const kHIDUsage_Sim_ElevatorTrim: c_uint = 0xB9;
5119/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_rudder?language=objc)
5120pub const kHIDUsage_Sim_Rudder: c_uint = 0xBA;
5121/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_throttle?language=objc)
5122pub const kHIDUsage_Sim_Throttle: c_uint = 0xBB;
5123/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_flightcommunications?language=objc)
5124pub const kHIDUsage_Sim_FlightCommunications: c_uint = 0xBC;
5125/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_flarerelease?language=objc)
5126pub const kHIDUsage_Sim_FlareRelease: c_uint = 0xBD;
5127/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_landinggear?language=objc)
5128pub const kHIDUsage_Sim_LandingGear: c_uint = 0xBE;
5129/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_toebrake?language=objc)
5130pub const kHIDUsage_Sim_ToeBrake: c_uint = 0xBF;
5131/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_trigger?language=objc)
5132pub const kHIDUsage_Sim_Trigger: c_uint = 0xC0;
5133/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_weaponsarm?language=objc)
5134pub const kHIDUsage_Sim_WeaponsArm: c_uint = 0xC1;
5135/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_weapons?language=objc)
5136pub const kHIDUsage_Sim_Weapons: c_uint = 0xC2;
5137/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_wingflaps?language=objc)
5138pub const kHIDUsage_Sim_WingFlaps: c_uint = 0xC3;
5139/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_accelerator?language=objc)
5140pub const kHIDUsage_Sim_Accelerator: c_uint = 0xC4;
5141/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_brake?language=objc)
5142pub const kHIDUsage_Sim_Brake: c_uint = 0xC5;
5143/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_clutch?language=objc)
5144pub const kHIDUsage_Sim_Clutch: c_uint = 0xC6;
5145/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_shifter?language=objc)
5146pub const kHIDUsage_Sim_Shifter: c_uint = 0xC7;
5147/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_steering?language=objc)
5148pub const kHIDUsage_Sim_Steering: c_uint = 0xC8;
5149/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_turretdirection?language=objc)
5150pub const kHIDUsage_Sim_TurretDirection: c_uint = 0xC9;
5151/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_barrelelevation?language=objc)
5152pub const kHIDUsage_Sim_BarrelElevation: c_uint = 0xCA;
5153/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_diveplane?language=objc)
5154pub const kHIDUsage_Sim_DivePlane: c_uint = 0xCB;
5155/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_ballast?language=objc)
5156pub const kHIDUsage_Sim_Ballast: c_uint = 0xCC;
5157/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_bicyclecrank?language=objc)
5158pub const kHIDUsage_Sim_BicycleCrank: c_uint = 0xCD;
5159/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_handlebars?language=objc)
5160pub const kHIDUsage_Sim_HandleBars: c_uint = 0xCE;
5161/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_frontbrake?language=objc)
5162pub const kHIDUsage_Sim_FrontBrake: c_uint = 0xCF;
5163/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_rearbrake?language=objc)
5164pub const kHIDUsage_Sim_RearBrake: c_uint = 0xD0;
5165/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sim_reserved?language=objc)
5166pub const kHIDUsage_Sim_Reserved: c_uint = 0xFFFF;
5167
5168/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_belt?language=objc)
5169pub const kHIDUsage_VR_Belt: c_uint = 0x01;
5170/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_bodysuit?language=objc)
5171pub const kHIDUsage_VR_BodySuit: c_uint = 0x02;
5172/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_flexor?language=objc)
5173pub const kHIDUsage_VR_Flexor: c_uint = 0x03;
5174/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_glove?language=objc)
5175pub const kHIDUsage_VR_Glove: c_uint = 0x04;
5176/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_headtracker?language=objc)
5177pub const kHIDUsage_VR_HeadTracker: c_uint = 0x05;
5178/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_headmounteddisplay?language=objc)
5179pub const kHIDUsage_VR_HeadMountedDisplay: c_uint = 0x06;
5180/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_handtracker?language=objc)
5181pub const kHIDUsage_VR_HandTracker: c_uint = 0x07;
5182/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_oculometer?language=objc)
5183pub const kHIDUsage_VR_Oculometer: c_uint = 0x08;
5184/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_vest?language=objc)
5185pub const kHIDUsage_VR_Vest: c_uint = 0x09;
5186/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_animatronicdevice?language=objc)
5187pub const kHIDUsage_VR_AnimatronicDevice: c_uint = 0x0A;
5188/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_stereoenable?language=objc)
5189pub const kHIDUsage_VR_StereoEnable: c_uint = 0x20;
5190/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_displayenable?language=objc)
5191pub const kHIDUsage_VR_DisplayEnable: c_uint = 0x21;
5192/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_vr_reserved?language=objc)
5193pub const kHIDUsage_VR_Reserved: c_uint = 0xFFFF;
5194
5195/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_baseballbat?language=objc)
5196pub const kHIDUsage_Sprt_BaseballBat: c_uint = 0x01;
5197/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_golfclub?language=objc)
5198pub const kHIDUsage_Sprt_GolfClub: c_uint = 0x02;
5199/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_rowingmachine?language=objc)
5200pub const kHIDUsage_Sprt_RowingMachine: c_uint = 0x03;
5201/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_treadmill?language=objc)
5202pub const kHIDUsage_Sprt_Treadmill: c_uint = 0x04;
5203/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_oar?language=objc)
5204pub const kHIDUsage_Sprt_Oar: c_uint = 0x30;
5205/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_slope?language=objc)
5206pub const kHIDUsage_Sprt_Slope: c_uint = 0x31;
5207/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_rate?language=objc)
5208pub const kHIDUsage_Sprt_Rate: c_uint = 0x32;
5209/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_stickspeed?language=objc)
5210pub const kHIDUsage_Sprt_StickSpeed: c_uint = 0x33;
5211/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_stickfaceangle?language=objc)
5212pub const kHIDUsage_Sprt_StickFaceAngle: c_uint = 0x34;
5213/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_stickheelortoe?language=objc)
5214pub const kHIDUsage_Sprt_StickHeelOrToe: c_uint = 0x35;
5215/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_stickfollowthrough?language=objc)
5216pub const kHIDUsage_Sprt_StickFollowThrough: c_uint = 0x36;
5217/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_sticktempo?language=objc)
5218pub const kHIDUsage_Sprt_StickTempo: c_uint = 0x37;
5219/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_sticktype?language=objc)
5220pub const kHIDUsage_Sprt_StickType: c_uint = 0x38;
5221/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_stickheight?language=objc)
5222pub const kHIDUsage_Sprt_StickHeight: c_uint = 0x39;
5223/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_putter?language=objc)
5224pub const kHIDUsage_Sprt_Putter: c_uint = 0x50;
5225/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_1iron?language=objc)
5226pub const kHIDUsage_Sprt_1Iron: c_uint = 0x51;
5227/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_2iron?language=objc)
5228pub const kHIDUsage_Sprt_2Iron: c_uint = 0x52;
5229/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_3iron?language=objc)
5230pub const kHIDUsage_Sprt_3Iron: c_uint = 0x53;
5231/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_4iron?language=objc)
5232pub const kHIDUsage_Sprt_4Iron: c_uint = 0x54;
5233/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_5iron?language=objc)
5234pub const kHIDUsage_Sprt_5Iron: c_uint = 0x55;
5235/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_6iron?language=objc)
5236pub const kHIDUsage_Sprt_6Iron: c_uint = 0x56;
5237/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_7iron?language=objc)
5238pub const kHIDUsage_Sprt_7Iron: c_uint = 0x57;
5239/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_8iron?language=objc)
5240pub const kHIDUsage_Sprt_8Iron: c_uint = 0x58;
5241/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_9iron?language=objc)
5242pub const kHIDUsage_Sprt_9Iron: c_uint = 0x59;
5243/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_10iron?language=objc)
5244pub const kHIDUsage_Sprt_10Iron: c_uint = 0x5A;
5245/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_11iron?language=objc)
5246pub const kHIDUsage_Sprt_11Iron: c_uint = 0x5B;
5247/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_sandwedge?language=objc)
5248pub const kHIDUsage_Sprt_SandWedge: c_uint = 0x5C;
5249/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_loftwedge?language=objc)
5250pub const kHIDUsage_Sprt_LoftWedge: c_uint = 0x5D;
5251/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_powerwedge?language=objc)
5252pub const kHIDUsage_Sprt_PowerWedge: c_uint = 0x5E;
5253/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_1wood?language=objc)
5254pub const kHIDUsage_Sprt_1Wood: c_uint = 0x5F;
5255/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_3wood?language=objc)
5256pub const kHIDUsage_Sprt_3Wood: c_uint = 0x60;
5257/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_5wood?language=objc)
5258pub const kHIDUsage_Sprt_5Wood: c_uint = 0x61;
5259/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_7wood?language=objc)
5260pub const kHIDUsage_Sprt_7Wood: c_uint = 0x62;
5261/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_9wood?language=objc)
5262pub const kHIDUsage_Sprt_9Wood: c_uint = 0x63;
5263/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_sprt_reserved?language=objc)
5264pub const kHIDUsage_Sprt_Reserved: c_uint = 0xFFFF;
5265
5266/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_3dgamecontroller?language=objc)
5267pub const kHIDUsage_Game_3DGameController: c_uint = 0x01;
5268/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_pinballdevice?language=objc)
5269pub const kHIDUsage_Game_PinballDevice: c_uint = 0x02;
5270/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gundevice?language=objc)
5271pub const kHIDUsage_Game_GunDevice: c_uint = 0x03;
5272/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_pointofview?language=objc)
5273pub const kHIDUsage_Game_PointofView: c_uint = 0x20;
5274/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_turnrightorleft?language=objc)
5275pub const kHIDUsage_Game_TurnRightOrLeft: c_uint = 0x21;
5276/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_pitchupordown?language=objc)
5277pub const kHIDUsage_Game_PitchUpOrDown: c_uint = 0x22;
5278/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_rollrightorleft?language=objc)
5279pub const kHIDUsage_Game_RollRightOrLeft: c_uint = 0x23;
5280/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_moverightorleft?language=objc)
5281pub const kHIDUsage_Game_MoveRightOrLeft: c_uint = 0x24;
5282/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_moveforwardorbackward?language=objc)
5283pub const kHIDUsage_Game_MoveForwardOrBackward: c_uint = 0x25;
5284/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_moveupordown?language=objc)
5285pub const kHIDUsage_Game_MoveUpOrDown: c_uint = 0x26;
5286/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_leanrightorleft?language=objc)
5287pub const kHIDUsage_Game_LeanRightOrLeft: c_uint = 0x27;
5288/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_leanforwardorbackward?language=objc)
5289pub const kHIDUsage_Game_LeanForwardOrBackward: c_uint = 0x28;
5290/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_heightofpov?language=objc)
5291pub const kHIDUsage_Game_HeightOfPOV: c_uint = 0x29;
5292/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_flipper?language=objc)
5293pub const kHIDUsage_Game_Flipper: c_uint = 0x2A;
5294/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_secondaryflipper?language=objc)
5295pub const kHIDUsage_Game_SecondaryFlipper: c_uint = 0x2B;
5296/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_bump?language=objc)
5297pub const kHIDUsage_Game_Bump: c_uint = 0x2C;
5298/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_newgame?language=objc)
5299pub const kHIDUsage_Game_NewGame: c_uint = 0x2D;
5300/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_shootball?language=objc)
5301pub const kHIDUsage_Game_ShootBall: c_uint = 0x2E;
5302/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_player?language=objc)
5303pub const kHIDUsage_Game_Player: c_uint = 0x2F;
5304/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gunbolt?language=objc)
5305pub const kHIDUsage_Game_GunBolt: c_uint = 0x30;
5306/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gunclip?language=objc)
5307pub const kHIDUsage_Game_GunClip: c_uint = 0x31;
5308/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gun?language=objc)
5309pub const kHIDUsage_Game_Gun: c_uint = 0x32;
5310/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gunsingleshot?language=objc)
5311pub const kHIDUsage_Game_GunSingleShot: c_uint = 0x33;
5312/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gunburst?language=objc)
5313pub const kHIDUsage_Game_GunBurst: c_uint = 0x34;
5314/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gunautomatic?language=objc)
5315pub const kHIDUsage_Game_GunAutomatic: c_uint = 0x35;
5316/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gunsafety?language=objc)
5317pub const kHIDUsage_Game_GunSafety: c_uint = 0x36;
5318/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gamepadfireorjump?language=objc)
5319pub const kHIDUsage_Game_GamepadFireOrJump: c_uint = 0x37;
5320/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gamepadtrigger?language=objc)
5321pub const kHIDUsage_Game_GamepadTrigger: c_uint = 0x39;
5322/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gamepadformfitting_compatibility?language=objc)
5323pub const kHIDUsage_Game_GamepadFormFitting_Compatibility: c_uint = 0x39;
5324/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_gamepadformfitting?language=objc)
5325pub const kHIDUsage_Game_GamepadFormFitting: c_uint = 0x3A;
5326/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_game_reserved?language=objc)
5327pub const kHIDUsage_Game_Reserved: c_uint = 0xFFFF;
5328
5329/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gendevcontrols_backgroundcontrols?language=objc)
5330pub const kHIDUsage_GenDevControls_BackgroundControls: c_uint = 0x01;
5331/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_gendevcontrols_batterystrength?language=objc)
5332pub const kHIDUsage_GenDevControls_BatteryStrength: c_uint = 0x20;
5333
5334/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboarderrorrollover?language=objc)
5335pub const kHIDUsage_KeyboardErrorRollOver: c_uint = 0x01;
5336/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardpostfail?language=objc)
5337pub const kHIDUsage_KeyboardPOSTFail: c_uint = 0x02;
5338/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboarderrorundefined?language=objc)
5339pub const kHIDUsage_KeyboardErrorUndefined: c_uint = 0x03;
5340/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboarda?language=objc)
5341pub const kHIDUsage_KeyboardA: c_uint = 0x04;
5342/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardb?language=objc)
5343pub const kHIDUsage_KeyboardB: c_uint = 0x05;
5344/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardc?language=objc)
5345pub const kHIDUsage_KeyboardC: c_uint = 0x06;
5346/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardd?language=objc)
5347pub const kHIDUsage_KeyboardD: c_uint = 0x07;
5348/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboarde?language=objc)
5349pub const kHIDUsage_KeyboardE: c_uint = 0x08;
5350/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf?language=objc)
5351pub const kHIDUsage_KeyboardF: c_uint = 0x09;
5352/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardg?language=objc)
5353pub const kHIDUsage_KeyboardG: c_uint = 0x0A;
5354/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardh?language=objc)
5355pub const kHIDUsage_KeyboardH: c_uint = 0x0B;
5356/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardi?language=objc)
5357pub const kHIDUsage_KeyboardI: c_uint = 0x0C;
5358/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardj?language=objc)
5359pub const kHIDUsage_KeyboardJ: c_uint = 0x0D;
5360/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardk?language=objc)
5361pub const kHIDUsage_KeyboardK: c_uint = 0x0E;
5362/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardl?language=objc)
5363pub const kHIDUsage_KeyboardL: c_uint = 0x0F;
5364/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardm?language=objc)
5365pub const kHIDUsage_KeyboardM: c_uint = 0x10;
5366/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardn?language=objc)
5367pub const kHIDUsage_KeyboardN: c_uint = 0x11;
5368/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardo?language=objc)
5369pub const kHIDUsage_KeyboardO: c_uint = 0x12;
5370/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardp?language=objc)
5371pub const kHIDUsage_KeyboardP: c_uint = 0x13;
5372/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardq?language=objc)
5373pub const kHIDUsage_KeyboardQ: c_uint = 0x14;
5374/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardr?language=objc)
5375pub const kHIDUsage_KeyboardR: c_uint = 0x15;
5376/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboards?language=objc)
5377pub const kHIDUsage_KeyboardS: c_uint = 0x16;
5378/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardt?language=objc)
5379pub const kHIDUsage_KeyboardT: c_uint = 0x17;
5380/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardu?language=objc)
5381pub const kHIDUsage_KeyboardU: c_uint = 0x18;
5382/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardv?language=objc)
5383pub const kHIDUsage_KeyboardV: c_uint = 0x19;
5384/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardw?language=objc)
5385pub const kHIDUsage_KeyboardW: c_uint = 0x1A;
5386/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardx?language=objc)
5387pub const kHIDUsage_KeyboardX: c_uint = 0x1B;
5388/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardy?language=objc)
5389pub const kHIDUsage_KeyboardY: c_uint = 0x1C;
5390/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardz?language=objc)
5391pub const kHIDUsage_KeyboardZ: c_uint = 0x1D;
5392/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboard1?language=objc)
5393pub const kHIDUsage_Keyboard1: c_uint = 0x1E;
5394/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboard2?language=objc)
5395pub const kHIDUsage_Keyboard2: c_uint = 0x1F;
5396/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboard3?language=objc)
5397pub const kHIDUsage_Keyboard3: c_uint = 0x20;
5398/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboard4?language=objc)
5399pub const kHIDUsage_Keyboard4: c_uint = 0x21;
5400/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboard5?language=objc)
5401pub const kHIDUsage_Keyboard5: c_uint = 0x22;
5402/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboard6?language=objc)
5403pub const kHIDUsage_Keyboard6: c_uint = 0x23;
5404/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboard7?language=objc)
5405pub const kHIDUsage_Keyboard7: c_uint = 0x24;
5406/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboard8?language=objc)
5407pub const kHIDUsage_Keyboard8: c_uint = 0x25;
5408/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboard9?language=objc)
5409pub const kHIDUsage_Keyboard9: c_uint = 0x26;
5410/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboard0?language=objc)
5411pub const kHIDUsage_Keyboard0: c_uint = 0x27;
5412/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardreturnorenter?language=objc)
5413pub const kHIDUsage_KeyboardReturnOrEnter: c_uint = 0x28;
5414/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardescape?language=objc)
5415pub const kHIDUsage_KeyboardEscape: c_uint = 0x29;
5416/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboarddeleteorbackspace?language=objc)
5417pub const kHIDUsage_KeyboardDeleteOrBackspace: c_uint = 0x2A;
5418/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardtab?language=objc)
5419pub const kHIDUsage_KeyboardTab: c_uint = 0x2B;
5420/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardspacebar?language=objc)
5421pub const kHIDUsage_KeyboardSpacebar: c_uint = 0x2C;
5422/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardhyphen?language=objc)
5423pub const kHIDUsage_KeyboardHyphen: c_uint = 0x2D;
5424/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardequalsign?language=objc)
5425pub const kHIDUsage_KeyboardEqualSign: c_uint = 0x2E;
5426/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardopenbracket?language=objc)
5427pub const kHIDUsage_KeyboardOpenBracket: c_uint = 0x2F;
5428/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardclosebracket?language=objc)
5429pub const kHIDUsage_KeyboardCloseBracket: c_uint = 0x30;
5430/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardbackslash?language=objc)
5431pub const kHIDUsage_KeyboardBackslash: c_uint = 0x31;
5432/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardnonuspound?language=objc)
5433pub const kHIDUsage_KeyboardNonUSPound: c_uint = 0x32;
5434/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardsemicolon?language=objc)
5435pub const kHIDUsage_KeyboardSemicolon: c_uint = 0x33;
5436/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardquote?language=objc)
5437pub const kHIDUsage_KeyboardQuote: c_uint = 0x34;
5438/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardgraveaccentandtilde?language=objc)
5439pub const kHIDUsage_KeyboardGraveAccentAndTilde: c_uint = 0x35;
5440/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardcomma?language=objc)
5441pub const kHIDUsage_KeyboardComma: c_uint = 0x36;
5442/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardperiod?language=objc)
5443pub const kHIDUsage_KeyboardPeriod: c_uint = 0x37;
5444/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardslash?language=objc)
5445pub const kHIDUsage_KeyboardSlash: c_uint = 0x38;
5446/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardcapslock?language=objc)
5447pub const kHIDUsage_KeyboardCapsLock: c_uint = 0x39;
5448/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf1?language=objc)
5449pub const kHIDUsage_KeyboardF1: c_uint = 0x3A;
5450/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf2?language=objc)
5451pub const kHIDUsage_KeyboardF2: c_uint = 0x3B;
5452/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf3?language=objc)
5453pub const kHIDUsage_KeyboardF3: c_uint = 0x3C;
5454/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf4?language=objc)
5455pub const kHIDUsage_KeyboardF4: c_uint = 0x3D;
5456/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf5?language=objc)
5457pub const kHIDUsage_KeyboardF5: c_uint = 0x3E;
5458/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf6?language=objc)
5459pub const kHIDUsage_KeyboardF6: c_uint = 0x3F;
5460/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf7?language=objc)
5461pub const kHIDUsage_KeyboardF7: c_uint = 0x40;
5462/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf8?language=objc)
5463pub const kHIDUsage_KeyboardF8: c_uint = 0x41;
5464/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf9?language=objc)
5465pub const kHIDUsage_KeyboardF9: c_uint = 0x42;
5466/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf10?language=objc)
5467pub const kHIDUsage_KeyboardF10: c_uint = 0x43;
5468/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf11?language=objc)
5469pub const kHIDUsage_KeyboardF11: c_uint = 0x44;
5470/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf12?language=objc)
5471pub const kHIDUsage_KeyboardF12: c_uint = 0x45;
5472/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardprintscreen?language=objc)
5473pub const kHIDUsage_KeyboardPrintScreen: c_uint = 0x46;
5474/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardscrolllock?language=objc)
5475pub const kHIDUsage_KeyboardScrollLock: c_uint = 0x47;
5476/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardpause?language=objc)
5477pub const kHIDUsage_KeyboardPause: c_uint = 0x48;
5478/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardinsert?language=objc)
5479pub const kHIDUsage_KeyboardInsert: c_uint = 0x49;
5480/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardhome?language=objc)
5481pub const kHIDUsage_KeyboardHome: c_uint = 0x4A;
5482/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardpageup?language=objc)
5483pub const kHIDUsage_KeyboardPageUp: c_uint = 0x4B;
5484/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboarddeleteforward?language=objc)
5485pub const kHIDUsage_KeyboardDeleteForward: c_uint = 0x4C;
5486/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardend?language=objc)
5487pub const kHIDUsage_KeyboardEnd: c_uint = 0x4D;
5488/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardpagedown?language=objc)
5489pub const kHIDUsage_KeyboardPageDown: c_uint = 0x4E;
5490/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardrightarrow?language=objc)
5491pub const kHIDUsage_KeyboardRightArrow: c_uint = 0x4F;
5492/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardleftarrow?language=objc)
5493pub const kHIDUsage_KeyboardLeftArrow: c_uint = 0x50;
5494/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboarddownarrow?language=objc)
5495pub const kHIDUsage_KeyboardDownArrow: c_uint = 0x51;
5496/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboarduparrow?language=objc)
5497pub const kHIDUsage_KeyboardUpArrow: c_uint = 0x52;
5498/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypadnumlock?language=objc)
5499pub const kHIDUsage_KeypadNumLock: c_uint = 0x53;
5500/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypadslash?language=objc)
5501pub const kHIDUsage_KeypadSlash: c_uint = 0x54;
5502/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypadasterisk?language=objc)
5503pub const kHIDUsage_KeypadAsterisk: c_uint = 0x55;
5504/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypadhyphen?language=objc)
5505pub const kHIDUsage_KeypadHyphen: c_uint = 0x56;
5506/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypadplus?language=objc)
5507pub const kHIDUsage_KeypadPlus: c_uint = 0x57;
5508/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypadenter?language=objc)
5509pub const kHIDUsage_KeypadEnter: c_uint = 0x58;
5510/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypad1?language=objc)
5511pub const kHIDUsage_Keypad1: c_uint = 0x59;
5512/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypad2?language=objc)
5513pub const kHIDUsage_Keypad2: c_uint = 0x5A;
5514/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypad3?language=objc)
5515pub const kHIDUsage_Keypad3: c_uint = 0x5B;
5516/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypad4?language=objc)
5517pub const kHIDUsage_Keypad4: c_uint = 0x5C;
5518/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypad5?language=objc)
5519pub const kHIDUsage_Keypad5: c_uint = 0x5D;
5520/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypad6?language=objc)
5521pub const kHIDUsage_Keypad6: c_uint = 0x5E;
5522/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypad7?language=objc)
5523pub const kHIDUsage_Keypad7: c_uint = 0x5F;
5524/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypad8?language=objc)
5525pub const kHIDUsage_Keypad8: c_uint = 0x60;
5526/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypad9?language=objc)
5527pub const kHIDUsage_Keypad9: c_uint = 0x61;
5528/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypad0?language=objc)
5529pub const kHIDUsage_Keypad0: c_uint = 0x62;
5530/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypadperiod?language=objc)
5531pub const kHIDUsage_KeypadPeriod: c_uint = 0x63;
5532/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardnonusbackslash?language=objc)
5533pub const kHIDUsage_KeyboardNonUSBackslash: c_uint = 0x64;
5534/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardapplication?language=objc)
5535pub const kHIDUsage_KeyboardApplication: c_uint = 0x65;
5536/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardpower?language=objc)
5537pub const kHIDUsage_KeyboardPower: c_uint = 0x66;
5538/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypadequalsign?language=objc)
5539pub const kHIDUsage_KeypadEqualSign: c_uint = 0x67;
5540/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf13?language=objc)
5541pub const kHIDUsage_KeyboardF13: c_uint = 0x68;
5542/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf14?language=objc)
5543pub const kHIDUsage_KeyboardF14: c_uint = 0x69;
5544/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf15?language=objc)
5545pub const kHIDUsage_KeyboardF15: c_uint = 0x6A;
5546/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf16?language=objc)
5547pub const kHIDUsage_KeyboardF16: c_uint = 0x6B;
5548/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf17?language=objc)
5549pub const kHIDUsage_KeyboardF17: c_uint = 0x6C;
5550/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf18?language=objc)
5551pub const kHIDUsage_KeyboardF18: c_uint = 0x6D;
5552/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf19?language=objc)
5553pub const kHIDUsage_KeyboardF19: c_uint = 0x6E;
5554/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf20?language=objc)
5555pub const kHIDUsage_KeyboardF20: c_uint = 0x6F;
5556/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf21?language=objc)
5557pub const kHIDUsage_KeyboardF21: c_uint = 0x70;
5558/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf22?language=objc)
5559pub const kHIDUsage_KeyboardF22: c_uint = 0x71;
5560/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf23?language=objc)
5561pub const kHIDUsage_KeyboardF23: c_uint = 0x72;
5562/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardf24?language=objc)
5563pub const kHIDUsage_KeyboardF24: c_uint = 0x73;
5564/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardexecute?language=objc)
5565pub const kHIDUsage_KeyboardExecute: c_uint = 0x74;
5566/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardhelp?language=objc)
5567pub const kHIDUsage_KeyboardHelp: c_uint = 0x75;
5568/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardmenu?language=objc)
5569pub const kHIDUsage_KeyboardMenu: c_uint = 0x76;
5570/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardselect?language=objc)
5571pub const kHIDUsage_KeyboardSelect: c_uint = 0x77;
5572/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardstop?language=objc)
5573pub const kHIDUsage_KeyboardStop: c_uint = 0x78;
5574/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardagain?language=objc)
5575pub const kHIDUsage_KeyboardAgain: c_uint = 0x79;
5576/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardundo?language=objc)
5577pub const kHIDUsage_KeyboardUndo: c_uint = 0x7A;
5578/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardcut?language=objc)
5579pub const kHIDUsage_KeyboardCut: c_uint = 0x7B;
5580/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardcopy?language=objc)
5581pub const kHIDUsage_KeyboardCopy: c_uint = 0x7C;
5582/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardpaste?language=objc)
5583pub const kHIDUsage_KeyboardPaste: c_uint = 0x7D;
5584/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardfind?language=objc)
5585pub const kHIDUsage_KeyboardFind: c_uint = 0x7E;
5586/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardmute?language=objc)
5587pub const kHIDUsage_KeyboardMute: c_uint = 0x7F;
5588/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardvolumeup?language=objc)
5589pub const kHIDUsage_KeyboardVolumeUp: c_uint = 0x80;
5590/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardvolumedown?language=objc)
5591pub const kHIDUsage_KeyboardVolumeDown: c_uint = 0x81;
5592/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlockingcapslock?language=objc)
5593pub const kHIDUsage_KeyboardLockingCapsLock: c_uint = 0x82;
5594/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlockingnumlock?language=objc)
5595pub const kHIDUsage_KeyboardLockingNumLock: c_uint = 0x83;
5596/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlockingscrolllock?language=objc)
5597pub const kHIDUsage_KeyboardLockingScrollLock: c_uint = 0x84;
5598/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypadcomma?language=objc)
5599pub const kHIDUsage_KeypadComma: c_uint = 0x85;
5600/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keypadequalsignas400?language=objc)
5601pub const kHIDUsage_KeypadEqualSignAS400: c_uint = 0x86;
5602/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardinternational1?language=objc)
5603pub const kHIDUsage_KeyboardInternational1: c_uint = 0x87;
5604/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardinternational2?language=objc)
5605pub const kHIDUsage_KeyboardInternational2: c_uint = 0x88;
5606/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardinternational3?language=objc)
5607pub const kHIDUsage_KeyboardInternational3: c_uint = 0x89;
5608/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardinternational4?language=objc)
5609pub const kHIDUsage_KeyboardInternational4: c_uint = 0x8A;
5610/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardinternational5?language=objc)
5611pub const kHIDUsage_KeyboardInternational5: c_uint = 0x8B;
5612/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardinternational6?language=objc)
5613pub const kHIDUsage_KeyboardInternational6: c_uint = 0x8C;
5614/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardinternational7?language=objc)
5615pub const kHIDUsage_KeyboardInternational7: c_uint = 0x8D;
5616/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardinternational8?language=objc)
5617pub const kHIDUsage_KeyboardInternational8: c_uint = 0x8E;
5618/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardinternational9?language=objc)
5619pub const kHIDUsage_KeyboardInternational9: c_uint = 0x8F;
5620/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlang1?language=objc)
5621pub const kHIDUsage_KeyboardLANG1: c_uint = 0x90;
5622/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlang2?language=objc)
5623pub const kHIDUsage_KeyboardLANG2: c_uint = 0x91;
5624/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlang3?language=objc)
5625pub const kHIDUsage_KeyboardLANG3: c_uint = 0x92;
5626/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlang4?language=objc)
5627pub const kHIDUsage_KeyboardLANG4: c_uint = 0x93;
5628/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlang5?language=objc)
5629pub const kHIDUsage_KeyboardLANG5: c_uint = 0x94;
5630/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlang6?language=objc)
5631pub const kHIDUsage_KeyboardLANG6: c_uint = 0x95;
5632/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlang7?language=objc)
5633pub const kHIDUsage_KeyboardLANG7: c_uint = 0x96;
5634/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlang8?language=objc)
5635pub const kHIDUsage_KeyboardLANG8: c_uint = 0x97;
5636/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardlang9?language=objc)
5637pub const kHIDUsage_KeyboardLANG9: c_uint = 0x98;
5638/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardalternateerase?language=objc)
5639pub const kHIDUsage_KeyboardAlternateErase: c_uint = 0x99;
5640/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardsysreqorattention?language=objc)
5641pub const kHIDUsage_KeyboardSysReqOrAttention: c_uint = 0x9A;
5642/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardcancel?language=objc)
5643pub const kHIDUsage_KeyboardCancel: c_uint = 0x9B;
5644/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardclear?language=objc)
5645pub const kHIDUsage_KeyboardClear: c_uint = 0x9C;
5646/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardprior?language=objc)
5647pub const kHIDUsage_KeyboardPrior: c_uint = 0x9D;
5648/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardreturn?language=objc)
5649pub const kHIDUsage_KeyboardReturn: c_uint = 0x9E;
5650/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardseparator?language=objc)
5651pub const kHIDUsage_KeyboardSeparator: c_uint = 0x9F;
5652/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardout?language=objc)
5653pub const kHIDUsage_KeyboardOut: c_uint = 0xA0;
5654/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardoper?language=objc)
5655pub const kHIDUsage_KeyboardOper: c_uint = 0xA1;
5656/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardclearoragain?language=objc)
5657pub const kHIDUsage_KeyboardClearOrAgain: c_uint = 0xA2;
5658/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardcrselorprops?language=objc)
5659pub const kHIDUsage_KeyboardCrSelOrProps: c_uint = 0xA3;
5660/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardexsel?language=objc)
5661pub const kHIDUsage_KeyboardExSel: c_uint = 0xA4;
5662/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardleftcontrol?language=objc)
5663pub const kHIDUsage_KeyboardLeftControl: c_uint = 0xE0;
5664/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardleftshift?language=objc)
5665pub const kHIDUsage_KeyboardLeftShift: c_uint = 0xE1;
5666/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardleftalt?language=objc)
5667pub const kHIDUsage_KeyboardLeftAlt: c_uint = 0xE2;
5668/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardleftgui?language=objc)
5669pub const kHIDUsage_KeyboardLeftGUI: c_uint = 0xE3;
5670/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardrightcontrol?language=objc)
5671pub const kHIDUsage_KeyboardRightControl: c_uint = 0xE4;
5672/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardrightshift?language=objc)
5673pub const kHIDUsage_KeyboardRightShift: c_uint = 0xE5;
5674/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardrightalt?language=objc)
5675pub const kHIDUsage_KeyboardRightAlt: c_uint = 0xE6;
5676/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboardrightgui?language=objc)
5677pub const kHIDUsage_KeyboardRightGUI: c_uint = 0xE7;
5678/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_keyboard_reserved?language=objc)
5679pub const kHIDUsage_Keyboard_Reserved: c_uint = 0xFFFF;
5680
5681/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_numlock?language=objc)
5682pub const kHIDUsage_LED_NumLock: c_uint = 0x01;
5683/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_capslock?language=objc)
5684pub const kHIDUsage_LED_CapsLock: c_uint = 0x02;
5685/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_scrolllock?language=objc)
5686pub const kHIDUsage_LED_ScrollLock: c_uint = 0x03;
5687/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_compose?language=objc)
5688pub const kHIDUsage_LED_Compose: c_uint = 0x04;
5689/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_kana?language=objc)
5690pub const kHIDUsage_LED_Kana: c_uint = 0x05;
5691/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_power?language=objc)
5692pub const kHIDUsage_LED_Power: c_uint = 0x06;
5693/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_shift?language=objc)
5694pub const kHIDUsage_LED_Shift: c_uint = 0x07;
5695/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_donotdisturb?language=objc)
5696pub const kHIDUsage_LED_DoNotDisturb: c_uint = 0x08;
5697/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_mute?language=objc)
5698pub const kHIDUsage_LED_Mute: c_uint = 0x09;
5699/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_toneenable?language=objc)
5700pub const kHIDUsage_LED_ToneEnable: c_uint = 0x0A;
5701/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_highcutfilter?language=objc)
5702pub const kHIDUsage_LED_HighCutFilter: c_uint = 0x0B;
5703/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_lowcutfilter?language=objc)
5704pub const kHIDUsage_LED_LowCutFilter: c_uint = 0x0C;
5705/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_equalizerenable?language=objc)
5706pub const kHIDUsage_LED_EqualizerEnable: c_uint = 0x0D;
5707/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_soundfieldon?language=objc)
5708pub const kHIDUsage_LED_SoundFieldOn: c_uint = 0x0E;
5709/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_surroundon?language=objc)
5710pub const kHIDUsage_LED_SurroundOn: c_uint = 0x0F;
5711/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_repeat?language=objc)
5712pub const kHIDUsage_LED_Repeat: c_uint = 0x10;
5713/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_stereo?language=objc)
5714pub const kHIDUsage_LED_Stereo: c_uint = 0x11;
5715/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_samplingratedetect?language=objc)
5716pub const kHIDUsage_LED_SamplingRateDetect: c_uint = 0x12;
5717/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_spinning?language=objc)
5718pub const kHIDUsage_LED_Spinning: c_uint = 0x13;
5719/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_cav?language=objc)
5720pub const kHIDUsage_LED_CAV: c_uint = 0x14;
5721/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_clv?language=objc)
5722pub const kHIDUsage_LED_CLV: c_uint = 0x15;
5723/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_recordingformatdetect?language=objc)
5724pub const kHIDUsage_LED_RecordingFormatDetect: c_uint = 0x16;
5725/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_offhook?language=objc)
5726pub const kHIDUsage_LED_OffHook: c_uint = 0x17;
5727/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_ring?language=objc)
5728pub const kHIDUsage_LED_Ring: c_uint = 0x18;
5729/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_messagewaiting?language=objc)
5730pub const kHIDUsage_LED_MessageWaiting: c_uint = 0x19;
5731/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_datamode?language=objc)
5732pub const kHIDUsage_LED_DataMode: c_uint = 0x1A;
5733/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_batteryoperation?language=objc)
5734pub const kHIDUsage_LED_BatteryOperation: c_uint = 0x1B;
5735/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_batteryok?language=objc)
5736pub const kHIDUsage_LED_BatteryOK: c_uint = 0x1C;
5737/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_batterylow?language=objc)
5738pub const kHIDUsage_LED_BatteryLow: c_uint = 0x1D;
5739/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_speaker?language=objc)
5740pub const kHIDUsage_LED_Speaker: c_uint = 0x1E;
5741/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_headset?language=objc)
5742pub const kHIDUsage_LED_HeadSet: c_uint = 0x1F;
5743/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_hold?language=objc)
5744pub const kHIDUsage_LED_Hold: c_uint = 0x20;
5745/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_microphone?language=objc)
5746pub const kHIDUsage_LED_Microphone: c_uint = 0x21;
5747/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_coverage?language=objc)
5748pub const kHIDUsage_LED_Coverage: c_uint = 0x22;
5749/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_nightmode?language=objc)
5750pub const kHIDUsage_LED_NightMode: c_uint = 0x23;
5751/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_sendcalls?language=objc)
5752pub const kHIDUsage_LED_SendCalls: c_uint = 0x24;
5753/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_callpickup?language=objc)
5754pub const kHIDUsage_LED_CallPickup: c_uint = 0x25;
5755/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_conference?language=objc)
5756pub const kHIDUsage_LED_Conference: c_uint = 0x26;
5757/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_standby?language=objc)
5758pub const kHIDUsage_LED_StandBy: c_uint = 0x27;
5759/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_cameraon?language=objc)
5760pub const kHIDUsage_LED_CameraOn: c_uint = 0x28;
5761/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_cameraoff?language=objc)
5762pub const kHIDUsage_LED_CameraOff: c_uint = 0x29;
5763/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_online?language=objc)
5764pub const kHIDUsage_LED_OnLine: c_uint = 0x2A;
5765/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_offline?language=objc)
5766pub const kHIDUsage_LED_OffLine: c_uint = 0x2B;
5767/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_busy?language=objc)
5768pub const kHIDUsage_LED_Busy: c_uint = 0x2C;
5769/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_ready?language=objc)
5770pub const kHIDUsage_LED_Ready: c_uint = 0x2D;
5771/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_paperout?language=objc)
5772pub const kHIDUsage_LED_PaperOut: c_uint = 0x2E;
5773/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_paperjam?language=objc)
5774pub const kHIDUsage_LED_PaperJam: c_uint = 0x2F;
5775/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_remote?language=objc)
5776pub const kHIDUsage_LED_Remote: c_uint = 0x30;
5777/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_forward?language=objc)
5778pub const kHIDUsage_LED_Forward: c_uint = 0x31;
5779/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_reverse?language=objc)
5780pub const kHIDUsage_LED_Reverse: c_uint = 0x32;
5781/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_stop?language=objc)
5782pub const kHIDUsage_LED_Stop: c_uint = 0x33;
5783/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_rewind?language=objc)
5784pub const kHIDUsage_LED_Rewind: c_uint = 0x34;
5785/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_fastforward?language=objc)
5786pub const kHIDUsage_LED_FastForward: c_uint = 0x35;
5787/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_play?language=objc)
5788pub const kHIDUsage_LED_Play: c_uint = 0x36;
5789/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_pause?language=objc)
5790pub const kHIDUsage_LED_Pause: c_uint = 0x37;
5791/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_record?language=objc)
5792pub const kHIDUsage_LED_Record: c_uint = 0x38;
5793/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_error?language=objc)
5794pub const kHIDUsage_LED_Error: c_uint = 0x39;
5795/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_usage?language=objc)
5796pub const kHIDUsage_LED_Usage: c_uint = 0x3A;
5797/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_usageinuseindicator?language=objc)
5798pub const kHIDUsage_LED_UsageInUseIndicator: c_uint = 0x3B;
5799/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_usagemultimodeindicator?language=objc)
5800pub const kHIDUsage_LED_UsageMultiModeIndicator: c_uint = 0x3C;
5801/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_indicatoron?language=objc)
5802pub const kHIDUsage_LED_IndicatorOn: c_uint = 0x3D;
5803/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_indicatorflash?language=objc)
5804pub const kHIDUsage_LED_IndicatorFlash: c_uint = 0x3E;
5805/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_indicatorslowblink?language=objc)
5806pub const kHIDUsage_LED_IndicatorSlowBlink: c_uint = 0x3F;
5807/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_indicatorfastblink?language=objc)
5808pub const kHIDUsage_LED_IndicatorFastBlink: c_uint = 0x40;
5809/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_indicatoroff?language=objc)
5810pub const kHIDUsage_LED_IndicatorOff: c_uint = 0x41;
5811/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_flashontime?language=objc)
5812pub const kHIDUsage_LED_FlashOnTime: c_uint = 0x42;
5813/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_slowblinkontime?language=objc)
5814pub const kHIDUsage_LED_SlowBlinkOnTime: c_uint = 0x43;
5815/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_slowblinkofftime?language=objc)
5816pub const kHIDUsage_LED_SlowBlinkOffTime: c_uint = 0x44;
5817/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_fastblinkontime?language=objc)
5818pub const kHIDUsage_LED_FastBlinkOnTime: c_uint = 0x45;
5819/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_fastblinkofftime?language=objc)
5820pub const kHIDUsage_LED_FastBlinkOffTime: c_uint = 0x46;
5821/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_usageindicatorcolor?language=objc)
5822pub const kHIDUsage_LED_UsageIndicatorColor: c_uint = 0x47;
5823/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_indicatorred?language=objc)
5824pub const kHIDUsage_LED_IndicatorRed: c_uint = 0x48;
5825/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_indicatorgreen?language=objc)
5826pub const kHIDUsage_LED_IndicatorGreen: c_uint = 0x49;
5827/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_indicatoramber?language=objc)
5828pub const kHIDUsage_LED_IndicatorAmber: c_uint = 0x4A;
5829/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_genericindicator?language=objc)
5830pub const kHIDUsage_LED_GenericIndicator: c_uint = 0x4B;
5831/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_systemsuspend?language=objc)
5832pub const kHIDUsage_LED_SystemSuspend: c_uint = 0x4C;
5833/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_externalpowerconnected?language=objc)
5834pub const kHIDUsage_LED_ExternalPowerConnected: c_uint = 0x4D;
5835/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_indicatorblue?language=objc)
5836pub const kHIDUsage_LED_IndicatorBlue: c_uint = 0x4E;
5837/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_indicatororange?language=objc)
5838pub const kHIDUsage_LED_IndicatorOrange: c_uint = 0x4F;
5839/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_goodstatus?language=objc)
5840pub const kHIDUsage_LED_GoodStatus: c_uint = 0x50;
5841/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_warningstatus?language=objc)
5842pub const kHIDUsage_LED_WarningStatus: c_uint = 0x51;
5843/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_rgb_led?language=objc)
5844pub const kHIDUsage_LED_RGB_LED: c_uint = 0x52;
5845/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_redledchannel?language=objc)
5846pub const kHIDUsage_LED_RedLEDChannel: c_uint = 0x53;
5847/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_blueledchannel?language=objc)
5848pub const kHIDUsage_LED_BlueLEDChannel: c_uint = 0x54;
5849/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_greenledchannel?language=objc)
5850pub const kHIDUsage_LED_GreenLEDChannel: c_uint = 0x55;
5851/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_ledintensity?language=objc)
5852pub const kHIDUsage_LED_LEDIntensity: c_uint = 0x56;
5853/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_systemmicrophonemute?language=objc)
5854pub const kHIDUsage_LED_SystemMicrophoneMute: c_uint = 0x57;
5855/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_playerindicator?language=objc)
5856pub const kHIDUsage_LED_PlayerIndicator: c_uint = 0x4E;
5857/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_player1?language=objc)
5858pub const kHIDUsage_LED_Player1: c_uint = 0x4F;
5859/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_player2?language=objc)
5860pub const kHIDUsage_LED_Player2: c_uint = 0x50;
5861/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_player3?language=objc)
5862pub const kHIDUsage_LED_Player3: c_uint = 0x51;
5863/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_player4?language=objc)
5864pub const kHIDUsage_LED_Player4: c_uint = 0x52;
5865/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_player5?language=objc)
5866pub const kHIDUsage_LED_Player5: c_uint = 0x53;
5867/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_player6?language=objc)
5868pub const kHIDUsage_LED_Player6: c_uint = 0x54;
5869/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_player7?language=objc)
5870pub const kHIDUsage_LED_Player7: c_uint = 0x55;
5871/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_player8?language=objc)
5872pub const kHIDUsage_LED_Player8: c_uint = 0x56;
5873/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_led_reserved?language=objc)
5874pub const kHIDUsage_LED_Reserved: c_uint = 0xFFFF;
5875
5876/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_1?language=objc)
5877pub const kHIDUsage_Button_1: c_uint = 0x01;
5878/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_2?language=objc)
5879pub const kHIDUsage_Button_2: c_uint = 0x02;
5880/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_3?language=objc)
5881pub const kHIDUsage_Button_3: c_uint = 0x03;
5882/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_4?language=objc)
5883pub const kHIDUsage_Button_4: c_uint = 0x04;
5884/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_5?language=objc)
5885pub const kHIDUsage_Button_5: c_uint = 0x05;
5886/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_6?language=objc)
5887pub const kHIDUsage_Button_6: c_uint = 0x06;
5888/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_7?language=objc)
5889pub const kHIDUsage_Button_7: c_uint = 0x07;
5890/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_8?language=objc)
5891pub const kHIDUsage_Button_8: c_uint = 0x08;
5892/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_9?language=objc)
5893pub const kHIDUsage_Button_9: c_uint = 0x09;
5894/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_10?language=objc)
5895pub const kHIDUsage_Button_10: c_uint = 0x0a;
5896/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_11?language=objc)
5897pub const kHIDUsage_Button_11: c_uint = 0x0b;
5898/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_12?language=objc)
5899pub const kHIDUsage_Button_12: c_uint = 0x0c;
5900/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_13?language=objc)
5901pub const kHIDUsage_Button_13: c_uint = 0x0d;
5902/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_14?language=objc)
5903pub const kHIDUsage_Button_14: c_uint = 0x0e;
5904/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_15?language=objc)
5905pub const kHIDUsage_Button_15: c_uint = 0x0f;
5906/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_16?language=objc)
5907pub const kHIDUsage_Button_16: c_uint = 0x10;
5908/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_17?language=objc)
5909pub const kHIDUsage_Button_17: c_uint = 0x11;
5910/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_18?language=objc)
5911pub const kHIDUsage_Button_18: c_uint = 0x12;
5912/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_19?language=objc)
5913pub const kHIDUsage_Button_19: c_uint = 0x13;
5914/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_20?language=objc)
5915pub const kHIDUsage_Button_20: c_uint = 0x14;
5916/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_21?language=objc)
5917pub const kHIDUsage_Button_21: c_uint = 0x15;
5918/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_22?language=objc)
5919pub const kHIDUsage_Button_22: c_uint = 0x16;
5920/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_23?language=objc)
5921pub const kHIDUsage_Button_23: c_uint = 0x17;
5922/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_24?language=objc)
5923pub const kHIDUsage_Button_24: c_uint = 0x18;
5924/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_25?language=objc)
5925pub const kHIDUsage_Button_25: c_uint = 0x19;
5926/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_26?language=objc)
5927pub const kHIDUsage_Button_26: c_uint = 0x1a;
5928/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_27?language=objc)
5929pub const kHIDUsage_Button_27: c_uint = 0x1b;
5930/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_28?language=objc)
5931pub const kHIDUsage_Button_28: c_uint = 0x1c;
5932/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_29?language=objc)
5933pub const kHIDUsage_Button_29: c_uint = 0x1d;
5934/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_30?language=objc)
5935pub const kHIDUsage_Button_30: c_uint = 0x1e;
5936/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_31?language=objc)
5937pub const kHIDUsage_Button_31: c_uint = 0x1f;
5938/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_32?language=objc)
5939pub const kHIDUsage_Button_32: c_uint = 0x20;
5940/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_33?language=objc)
5941pub const kHIDUsage_Button_33: c_uint = 0x21;
5942/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_34?language=objc)
5943pub const kHIDUsage_Button_34: c_uint = 0x22;
5944/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_35?language=objc)
5945pub const kHIDUsage_Button_35: c_uint = 0x23;
5946/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_36?language=objc)
5947pub const kHIDUsage_Button_36: c_uint = 0x24;
5948/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_37?language=objc)
5949pub const kHIDUsage_Button_37: c_uint = 0x25;
5950/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_38?language=objc)
5951pub const kHIDUsage_Button_38: c_uint = 0x26;
5952/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_39?language=objc)
5953pub const kHIDUsage_Button_39: c_uint = 0x27;
5954/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_40?language=objc)
5955pub const kHIDUsage_Button_40: c_uint = 0x28;
5956/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_41?language=objc)
5957pub const kHIDUsage_Button_41: c_uint = 0x29;
5958/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_42?language=objc)
5959pub const kHIDUsage_Button_42: c_uint = 0x2a;
5960/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_43?language=objc)
5961pub const kHIDUsage_Button_43: c_uint = 0x2b;
5962/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_44?language=objc)
5963pub const kHIDUsage_Button_44: c_uint = 0x2c;
5964/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_45?language=objc)
5965pub const kHIDUsage_Button_45: c_uint = 0x2d;
5966/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_46?language=objc)
5967pub const kHIDUsage_Button_46: c_uint = 0x2e;
5968/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_47?language=objc)
5969pub const kHIDUsage_Button_47: c_uint = 0x2f;
5970/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_48?language=objc)
5971pub const kHIDUsage_Button_48: c_uint = 0x30;
5972/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_49?language=objc)
5973pub const kHIDUsage_Button_49: c_uint = 0x31;
5974/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_50?language=objc)
5975pub const kHIDUsage_Button_50: c_uint = 0x32;
5976/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_51?language=objc)
5977pub const kHIDUsage_Button_51: c_uint = 0x33;
5978/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_52?language=objc)
5979pub const kHIDUsage_Button_52: c_uint = 0x34;
5980/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_53?language=objc)
5981pub const kHIDUsage_Button_53: c_uint = 0x35;
5982/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_54?language=objc)
5983pub const kHIDUsage_Button_54: c_uint = 0x36;
5984/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_55?language=objc)
5985pub const kHIDUsage_Button_55: c_uint = 0x37;
5986/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_56?language=objc)
5987pub const kHIDUsage_Button_56: c_uint = 0x38;
5988/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_57?language=objc)
5989pub const kHIDUsage_Button_57: c_uint = 0x39;
5990/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_58?language=objc)
5991pub const kHIDUsage_Button_58: c_uint = 0x3a;
5992/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_59?language=objc)
5993pub const kHIDUsage_Button_59: c_uint = 0x3b;
5994/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_60?language=objc)
5995pub const kHIDUsage_Button_60: c_uint = 0x3c;
5996/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_61?language=objc)
5997pub const kHIDUsage_Button_61: c_uint = 0x3d;
5998/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_62?language=objc)
5999pub const kHIDUsage_Button_62: c_uint = 0x3e;
6000/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_63?language=objc)
6001pub const kHIDUsage_Button_63: c_uint = 0x3f;
6002/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_64?language=objc)
6003pub const kHIDUsage_Button_64: c_uint = 0x40;
6004/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_65?language=objc)
6005pub const kHIDUsage_Button_65: c_uint = 0x41;
6006/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_66?language=objc)
6007pub const kHIDUsage_Button_66: c_uint = 0x42;
6008/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_67?language=objc)
6009pub const kHIDUsage_Button_67: c_uint = 0x43;
6010/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_68?language=objc)
6011pub const kHIDUsage_Button_68: c_uint = 0x44;
6012/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_69?language=objc)
6013pub const kHIDUsage_Button_69: c_uint = 0x45;
6014/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_70?language=objc)
6015pub const kHIDUsage_Button_70: c_uint = 0x46;
6016/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_71?language=objc)
6017pub const kHIDUsage_Button_71: c_uint = 0x47;
6018/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_72?language=objc)
6019pub const kHIDUsage_Button_72: c_uint = 0x48;
6020/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_73?language=objc)
6021pub const kHIDUsage_Button_73: c_uint = 0x49;
6022/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_74?language=objc)
6023pub const kHIDUsage_Button_74: c_uint = 0x4a;
6024/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_75?language=objc)
6025pub const kHIDUsage_Button_75: c_uint = 0x4b;
6026/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_76?language=objc)
6027pub const kHIDUsage_Button_76: c_uint = 0x4c;
6028/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_77?language=objc)
6029pub const kHIDUsage_Button_77: c_uint = 0x4d;
6030/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_78?language=objc)
6031pub const kHIDUsage_Button_78: c_uint = 0x4e;
6032/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_79?language=objc)
6033pub const kHIDUsage_Button_79: c_uint = 0x4f;
6034/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_80?language=objc)
6035pub const kHIDUsage_Button_80: c_uint = 0x50;
6036/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_81?language=objc)
6037pub const kHIDUsage_Button_81: c_uint = 0x51;
6038/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_82?language=objc)
6039pub const kHIDUsage_Button_82: c_uint = 0x52;
6040/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_83?language=objc)
6041pub const kHIDUsage_Button_83: c_uint = 0x53;
6042/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_84?language=objc)
6043pub const kHIDUsage_Button_84: c_uint = 0x54;
6044/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_85?language=objc)
6045pub const kHIDUsage_Button_85: c_uint = 0x55;
6046/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_86?language=objc)
6047pub const kHIDUsage_Button_86: c_uint = 0x56;
6048/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_87?language=objc)
6049pub const kHIDUsage_Button_87: c_uint = 0x57;
6050/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_88?language=objc)
6051pub const kHIDUsage_Button_88: c_uint = 0x58;
6052/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_89?language=objc)
6053pub const kHIDUsage_Button_89: c_uint = 0x59;
6054/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_90?language=objc)
6055pub const kHIDUsage_Button_90: c_uint = 0x5a;
6056/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_91?language=objc)
6057pub const kHIDUsage_Button_91: c_uint = 0x5b;
6058/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_92?language=objc)
6059pub const kHIDUsage_Button_92: c_uint = 0x5c;
6060/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_93?language=objc)
6061pub const kHIDUsage_Button_93: c_uint = 0x5d;
6062/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_94?language=objc)
6063pub const kHIDUsage_Button_94: c_uint = 0x5e;
6064/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_95?language=objc)
6065pub const kHIDUsage_Button_95: c_uint = 0x5f;
6066/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_96?language=objc)
6067pub const kHIDUsage_Button_96: c_uint = 0x60;
6068/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_97?language=objc)
6069pub const kHIDUsage_Button_97: c_uint = 0x61;
6070/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_98?language=objc)
6071pub const kHIDUsage_Button_98: c_uint = 0x62;
6072/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_99?language=objc)
6073pub const kHIDUsage_Button_99: c_uint = 0x63;
6074/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_100?language=objc)
6075pub const kHIDUsage_Button_100: c_uint = 0x64;
6076/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_101?language=objc)
6077pub const kHIDUsage_Button_101: c_uint = 0x65;
6078/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_102?language=objc)
6079pub const kHIDUsage_Button_102: c_uint = 0x66;
6080/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_103?language=objc)
6081pub const kHIDUsage_Button_103: c_uint = 0x67;
6082/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_104?language=objc)
6083pub const kHIDUsage_Button_104: c_uint = 0x68;
6084/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_105?language=objc)
6085pub const kHIDUsage_Button_105: c_uint = 0x69;
6086/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_106?language=objc)
6087pub const kHIDUsage_Button_106: c_uint = 0x6a;
6088/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_107?language=objc)
6089pub const kHIDUsage_Button_107: c_uint = 0x6b;
6090/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_108?language=objc)
6091pub const kHIDUsage_Button_108: c_uint = 0x6c;
6092/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_109?language=objc)
6093pub const kHIDUsage_Button_109: c_uint = 0x6d;
6094/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_110?language=objc)
6095pub const kHIDUsage_Button_110: c_uint = 0x6e;
6096/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_111?language=objc)
6097pub const kHIDUsage_Button_111: c_uint = 0x6f;
6098/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_112?language=objc)
6099pub const kHIDUsage_Button_112: c_uint = 0x70;
6100/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_113?language=objc)
6101pub const kHIDUsage_Button_113: c_uint = 0x71;
6102/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_114?language=objc)
6103pub const kHIDUsage_Button_114: c_uint = 0x72;
6104/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_115?language=objc)
6105pub const kHIDUsage_Button_115: c_uint = 0x73;
6106/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_116?language=objc)
6107pub const kHIDUsage_Button_116: c_uint = 0x74;
6108/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_117?language=objc)
6109pub const kHIDUsage_Button_117: c_uint = 0x75;
6110/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_118?language=objc)
6111pub const kHIDUsage_Button_118: c_uint = 0x76;
6112/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_119?language=objc)
6113pub const kHIDUsage_Button_119: c_uint = 0x77;
6114/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_120?language=objc)
6115pub const kHIDUsage_Button_120: c_uint = 0x78;
6116/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_121?language=objc)
6117pub const kHIDUsage_Button_121: c_uint = 0x79;
6118/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_122?language=objc)
6119pub const kHIDUsage_Button_122: c_uint = 0x7a;
6120/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_123?language=objc)
6121pub const kHIDUsage_Button_123: c_uint = 0x7b;
6122/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_124?language=objc)
6123pub const kHIDUsage_Button_124: c_uint = 0x7c;
6124/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_125?language=objc)
6125pub const kHIDUsage_Button_125: c_uint = 0x7d;
6126/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_126?language=objc)
6127pub const kHIDUsage_Button_126: c_uint = 0x7e;
6128/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_127?language=objc)
6129pub const kHIDUsage_Button_127: c_uint = 0x7f;
6130/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_128?language=objc)
6131pub const kHIDUsage_Button_128: c_uint = 0x80;
6132/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_129?language=objc)
6133pub const kHIDUsage_Button_129: c_uint = 0x81;
6134/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_130?language=objc)
6135pub const kHIDUsage_Button_130: c_uint = 0x82;
6136/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_131?language=objc)
6137pub const kHIDUsage_Button_131: c_uint = 0x83;
6138/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_132?language=objc)
6139pub const kHIDUsage_Button_132: c_uint = 0x84;
6140/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_133?language=objc)
6141pub const kHIDUsage_Button_133: c_uint = 0x85;
6142/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_134?language=objc)
6143pub const kHIDUsage_Button_134: c_uint = 0x86;
6144/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_135?language=objc)
6145pub const kHIDUsage_Button_135: c_uint = 0x87;
6146/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_136?language=objc)
6147pub const kHIDUsage_Button_136: c_uint = 0x88;
6148/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_137?language=objc)
6149pub const kHIDUsage_Button_137: c_uint = 0x89;
6150/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_138?language=objc)
6151pub const kHIDUsage_Button_138: c_uint = 0x8a;
6152/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_139?language=objc)
6153pub const kHIDUsage_Button_139: c_uint = 0x8b;
6154/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_140?language=objc)
6155pub const kHIDUsage_Button_140: c_uint = 0x8c;
6156/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_141?language=objc)
6157pub const kHIDUsage_Button_141: c_uint = 0x8d;
6158/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_142?language=objc)
6159pub const kHIDUsage_Button_142: c_uint = 0x8e;
6160/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_143?language=objc)
6161pub const kHIDUsage_Button_143: c_uint = 0x8f;
6162/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_144?language=objc)
6163pub const kHIDUsage_Button_144: c_uint = 0x90;
6164/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_145?language=objc)
6165pub const kHIDUsage_Button_145: c_uint = 0x91;
6166/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_146?language=objc)
6167pub const kHIDUsage_Button_146: c_uint = 0x92;
6168/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_147?language=objc)
6169pub const kHIDUsage_Button_147: c_uint = 0x93;
6170/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_148?language=objc)
6171pub const kHIDUsage_Button_148: c_uint = 0x94;
6172/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_149?language=objc)
6173pub const kHIDUsage_Button_149: c_uint = 0x95;
6174/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_150?language=objc)
6175pub const kHIDUsage_Button_150: c_uint = 0x96;
6176/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_151?language=objc)
6177pub const kHIDUsage_Button_151: c_uint = 0x97;
6178/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_152?language=objc)
6179pub const kHIDUsage_Button_152: c_uint = 0x98;
6180/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_153?language=objc)
6181pub const kHIDUsage_Button_153: c_uint = 0x99;
6182/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_154?language=objc)
6183pub const kHIDUsage_Button_154: c_uint = 0x9a;
6184/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_155?language=objc)
6185pub const kHIDUsage_Button_155: c_uint = 0x9b;
6186/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_156?language=objc)
6187pub const kHIDUsage_Button_156: c_uint = 0x9c;
6188/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_157?language=objc)
6189pub const kHIDUsage_Button_157: c_uint = 0x9d;
6190/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_158?language=objc)
6191pub const kHIDUsage_Button_158: c_uint = 0x9e;
6192/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_159?language=objc)
6193pub const kHIDUsage_Button_159: c_uint = 0x9f;
6194/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_160?language=objc)
6195pub const kHIDUsage_Button_160: c_uint = 0xa0;
6196/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_161?language=objc)
6197pub const kHIDUsage_Button_161: c_uint = 0xa1;
6198/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_162?language=objc)
6199pub const kHIDUsage_Button_162: c_uint = 0xa2;
6200/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_163?language=objc)
6201pub const kHIDUsage_Button_163: c_uint = 0xa3;
6202/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_164?language=objc)
6203pub const kHIDUsage_Button_164: c_uint = 0xa4;
6204/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_165?language=objc)
6205pub const kHIDUsage_Button_165: c_uint = 0xa5;
6206/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_166?language=objc)
6207pub const kHIDUsage_Button_166: c_uint = 0xa6;
6208/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_167?language=objc)
6209pub const kHIDUsage_Button_167: c_uint = 0xa7;
6210/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_168?language=objc)
6211pub const kHIDUsage_Button_168: c_uint = 0xa8;
6212/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_169?language=objc)
6213pub const kHIDUsage_Button_169: c_uint = 0xa9;
6214/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_170?language=objc)
6215pub const kHIDUsage_Button_170: c_uint = 0xaa;
6216/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_171?language=objc)
6217pub const kHIDUsage_Button_171: c_uint = 0xab;
6218/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_172?language=objc)
6219pub const kHIDUsage_Button_172: c_uint = 0xac;
6220/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_173?language=objc)
6221pub const kHIDUsage_Button_173: c_uint = 0xad;
6222/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_174?language=objc)
6223pub const kHIDUsage_Button_174: c_uint = 0xae;
6224/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_175?language=objc)
6225pub const kHIDUsage_Button_175: c_uint = 0xaf;
6226/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_176?language=objc)
6227pub const kHIDUsage_Button_176: c_uint = 0xb0;
6228/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_177?language=objc)
6229pub const kHIDUsage_Button_177: c_uint = 0xb1;
6230/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_178?language=objc)
6231pub const kHIDUsage_Button_178: c_uint = 0xb2;
6232/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_179?language=objc)
6233pub const kHIDUsage_Button_179: c_uint = 0xb3;
6234/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_180?language=objc)
6235pub const kHIDUsage_Button_180: c_uint = 0xb4;
6236/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_181?language=objc)
6237pub const kHIDUsage_Button_181: c_uint = 0xb5;
6238/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_182?language=objc)
6239pub const kHIDUsage_Button_182: c_uint = 0xb6;
6240/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_183?language=objc)
6241pub const kHIDUsage_Button_183: c_uint = 0xb7;
6242/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_184?language=objc)
6243pub const kHIDUsage_Button_184: c_uint = 0xb8;
6244/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_185?language=objc)
6245pub const kHIDUsage_Button_185: c_uint = 0xb9;
6246/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_186?language=objc)
6247pub const kHIDUsage_Button_186: c_uint = 0xba;
6248/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_187?language=objc)
6249pub const kHIDUsage_Button_187: c_uint = 0xbb;
6250/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_188?language=objc)
6251pub const kHIDUsage_Button_188: c_uint = 0xbc;
6252/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_189?language=objc)
6253pub const kHIDUsage_Button_189: c_uint = 0xbd;
6254/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_190?language=objc)
6255pub const kHIDUsage_Button_190: c_uint = 0xbe;
6256/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_191?language=objc)
6257pub const kHIDUsage_Button_191: c_uint = 0xbf;
6258/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_192?language=objc)
6259pub const kHIDUsage_Button_192: c_uint = 0xc0;
6260/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_193?language=objc)
6261pub const kHIDUsage_Button_193: c_uint = 0xc1;
6262/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_194?language=objc)
6263pub const kHIDUsage_Button_194: c_uint = 0xc2;
6264/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_195?language=objc)
6265pub const kHIDUsage_Button_195: c_uint = 0xc3;
6266/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_196?language=objc)
6267pub const kHIDUsage_Button_196: c_uint = 0xc4;
6268/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_197?language=objc)
6269pub const kHIDUsage_Button_197: c_uint = 0xc5;
6270/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_198?language=objc)
6271pub const kHIDUsage_Button_198: c_uint = 0xc6;
6272/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_199?language=objc)
6273pub const kHIDUsage_Button_199: c_uint = 0xc7;
6274/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_200?language=objc)
6275pub const kHIDUsage_Button_200: c_uint = 0xc8;
6276/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_201?language=objc)
6277pub const kHIDUsage_Button_201: c_uint = 0xc9;
6278/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_202?language=objc)
6279pub const kHIDUsage_Button_202: c_uint = 0xca;
6280/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_203?language=objc)
6281pub const kHIDUsage_Button_203: c_uint = 0xcb;
6282/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_204?language=objc)
6283pub const kHIDUsage_Button_204: c_uint = 0xcc;
6284/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_205?language=objc)
6285pub const kHIDUsage_Button_205: c_uint = 0xcd;
6286/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_206?language=objc)
6287pub const kHIDUsage_Button_206: c_uint = 0xce;
6288/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_207?language=objc)
6289pub const kHIDUsage_Button_207: c_uint = 0xcf;
6290/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_208?language=objc)
6291pub const kHIDUsage_Button_208: c_uint = 0xd0;
6292/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_209?language=objc)
6293pub const kHIDUsage_Button_209: c_uint = 0xd1;
6294/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_210?language=objc)
6295pub const kHIDUsage_Button_210: c_uint = 0xd2;
6296/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_211?language=objc)
6297pub const kHIDUsage_Button_211: c_uint = 0xd3;
6298/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_212?language=objc)
6299pub const kHIDUsage_Button_212: c_uint = 0xd4;
6300/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_213?language=objc)
6301pub const kHIDUsage_Button_213: c_uint = 0xd5;
6302/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_214?language=objc)
6303pub const kHIDUsage_Button_214: c_uint = 0xd6;
6304/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_215?language=objc)
6305pub const kHIDUsage_Button_215: c_uint = 0xd7;
6306/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_216?language=objc)
6307pub const kHIDUsage_Button_216: c_uint = 0xd8;
6308/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_217?language=objc)
6309pub const kHIDUsage_Button_217: c_uint = 0xd9;
6310/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_218?language=objc)
6311pub const kHIDUsage_Button_218: c_uint = 0xda;
6312/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_219?language=objc)
6313pub const kHIDUsage_Button_219: c_uint = 0xdb;
6314/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_220?language=objc)
6315pub const kHIDUsage_Button_220: c_uint = 0xdc;
6316/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_221?language=objc)
6317pub const kHIDUsage_Button_221: c_uint = 0xdd;
6318/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_222?language=objc)
6319pub const kHIDUsage_Button_222: c_uint = 0xde;
6320/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_223?language=objc)
6321pub const kHIDUsage_Button_223: c_uint = 0xdf;
6322/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_224?language=objc)
6323pub const kHIDUsage_Button_224: c_uint = 0xe0;
6324/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_225?language=objc)
6325pub const kHIDUsage_Button_225: c_uint = 0xe1;
6326/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_226?language=objc)
6327pub const kHIDUsage_Button_226: c_uint = 0xe2;
6328/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_227?language=objc)
6329pub const kHIDUsage_Button_227: c_uint = 0xe3;
6330/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_228?language=objc)
6331pub const kHIDUsage_Button_228: c_uint = 0xe4;
6332/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_229?language=objc)
6333pub const kHIDUsage_Button_229: c_uint = 0xe5;
6334/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_230?language=objc)
6335pub const kHIDUsage_Button_230: c_uint = 0xe6;
6336/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_231?language=objc)
6337pub const kHIDUsage_Button_231: c_uint = 0xe7;
6338/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_232?language=objc)
6339pub const kHIDUsage_Button_232: c_uint = 0xe8;
6340/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_233?language=objc)
6341pub const kHIDUsage_Button_233: c_uint = 0xe9;
6342/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_234?language=objc)
6343pub const kHIDUsage_Button_234: c_uint = 0xea;
6344/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_235?language=objc)
6345pub const kHIDUsage_Button_235: c_uint = 0xeb;
6346/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_236?language=objc)
6347pub const kHIDUsage_Button_236: c_uint = 0xec;
6348/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_237?language=objc)
6349pub const kHIDUsage_Button_237: c_uint = 0xed;
6350/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_238?language=objc)
6351pub const kHIDUsage_Button_238: c_uint = 0xee;
6352/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_239?language=objc)
6353pub const kHIDUsage_Button_239: c_uint = 0xef;
6354/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_240?language=objc)
6355pub const kHIDUsage_Button_240: c_uint = 0xf0;
6356/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_241?language=objc)
6357pub const kHIDUsage_Button_241: c_uint = 0xf1;
6358/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_242?language=objc)
6359pub const kHIDUsage_Button_242: c_uint = 0xf2;
6360/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_243?language=objc)
6361pub const kHIDUsage_Button_243: c_uint = 0xf3;
6362/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_244?language=objc)
6363pub const kHIDUsage_Button_244: c_uint = 0xf4;
6364/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_245?language=objc)
6365pub const kHIDUsage_Button_245: c_uint = 0xf5;
6366/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_246?language=objc)
6367pub const kHIDUsage_Button_246: c_uint = 0xf6;
6368/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_247?language=objc)
6369pub const kHIDUsage_Button_247: c_uint = 0xf7;
6370/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_248?language=objc)
6371pub const kHIDUsage_Button_248: c_uint = 0xf8;
6372/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_249?language=objc)
6373pub const kHIDUsage_Button_249: c_uint = 0xf9;
6374/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_250?language=objc)
6375pub const kHIDUsage_Button_250: c_uint = 0xfa;
6376/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_251?language=objc)
6377pub const kHIDUsage_Button_251: c_uint = 0xfb;
6378/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_252?language=objc)
6379pub const kHIDUsage_Button_252: c_uint = 0xfc;
6380/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_253?language=objc)
6381pub const kHIDUsage_Button_253: c_uint = 0xfd;
6382/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_254?language=objc)
6383pub const kHIDUsage_Button_254: c_uint = 0xfe;
6384/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_255?language=objc)
6385pub const kHIDUsage_Button_255: c_uint = 0xff;
6386/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_button_65535?language=objc)
6387pub const kHIDUsage_Button_65535: c_uint = 0xFFFF;
6388
6389/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ord_instance1?language=objc)
6390pub const kHIDUsage_Ord_Instance1: c_uint = 0x01;
6391/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ord_instance2?language=objc)
6392pub const kHIDUsage_Ord_Instance2: c_uint = 0x02;
6393/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ord_instance3?language=objc)
6394pub const kHIDUsage_Ord_Instance3: c_uint = 0x03;
6395/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ord_instance4?language=objc)
6396pub const kHIDUsage_Ord_Instance4: c_uint = 0x04;
6397/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ord_instance65535?language=objc)
6398pub const kHIDUsage_Ord_Instance65535: c_uint = 0xFFFF;
6399
6400/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phone?language=objc)
6401pub const kHIDUsage_Tfon_Phone: c_uint = 0x01;
6402/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_answeringmachine?language=objc)
6403pub const kHIDUsage_Tfon_AnsweringMachine: c_uint = 0x02;
6404/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_messagecontrols?language=objc)
6405pub const kHIDUsage_Tfon_MessageControls: c_uint = 0x03;
6406/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_handset?language=objc)
6407pub const kHIDUsage_Tfon_Handset: c_uint = 0x04;
6408/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_headset?language=objc)
6409pub const kHIDUsage_Tfon_Headset: c_uint = 0x05;
6410/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_telephonykeypad?language=objc)
6411pub const kHIDUsage_Tfon_TelephonyKeyPad: c_uint = 0x06;
6412/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_programmablebutton?language=objc)
6413pub const kHIDUsage_Tfon_ProgrammableButton: c_uint = 0x07;
6414/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_hookswitch?language=objc)
6415pub const kHIDUsage_Tfon_HookSwitch: c_uint = 0x20;
6416/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_flash?language=objc)
6417pub const kHIDUsage_Tfon_Flash: c_uint = 0x21;
6418/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_feature?language=objc)
6419pub const kHIDUsage_Tfon_Feature: c_uint = 0x22;
6420/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_hold?language=objc)
6421pub const kHIDUsage_Tfon_Hold: c_uint = 0x23;
6422/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_redial?language=objc)
6423pub const kHIDUsage_Tfon_Redial: c_uint = 0x24;
6424/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_transfer?language=objc)
6425pub const kHIDUsage_Tfon_Transfer: c_uint = 0x25;
6426/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_drop?language=objc)
6427pub const kHIDUsage_Tfon_Drop: c_uint = 0x26;
6428/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_park?language=objc)
6429pub const kHIDUsage_Tfon_Park: c_uint = 0x27;
6430/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_forwardcalls?language=objc)
6431pub const kHIDUsage_Tfon_ForwardCalls: c_uint = 0x28;
6432/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_alternatefunction?language=objc)
6433pub const kHIDUsage_Tfon_AlternateFunction: c_uint = 0x29;
6434/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_line?language=objc)
6435pub const kHIDUsage_Tfon_Line: c_uint = 0x2A;
6436/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_speakerphone?language=objc)
6437pub const kHIDUsage_Tfon_SpeakerPhone: c_uint = 0x2B;
6438/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_conference?language=objc)
6439pub const kHIDUsage_Tfon_Conference: c_uint = 0x2C;
6440/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_ringenable?language=objc)
6441pub const kHIDUsage_Tfon_RingEnable: c_uint = 0x2D;
6442/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_ring?language=objc)
6443pub const kHIDUsage_Tfon_Ring: c_uint = 0x2E;
6444/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonemute?language=objc)
6445pub const kHIDUsage_Tfon_PhoneMute: c_uint = 0x2F;
6446/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_callerid?language=objc)
6447pub const kHIDUsage_Tfon_CallerID: c_uint = 0x30;
6448/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_speeddial?language=objc)
6449pub const kHIDUsage_Tfon_SpeedDial: c_uint = 0x50;
6450/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_storenumber?language=objc)
6451pub const kHIDUsage_Tfon_StoreNumber: c_uint = 0x51;
6452/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_recallnumber?language=objc)
6453pub const kHIDUsage_Tfon_RecallNumber: c_uint = 0x52;
6454/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonedirectory?language=objc)
6455pub const kHIDUsage_Tfon_PhoneDirectory: c_uint = 0x53;
6456/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_voicemail?language=objc)
6457pub const kHIDUsage_Tfon_VoiceMail: c_uint = 0x70;
6458/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_screencalls?language=objc)
6459pub const kHIDUsage_Tfon_ScreenCalls: c_uint = 0x71;
6460/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_donotdisturb?language=objc)
6461pub const kHIDUsage_Tfon_DoNotDisturb: c_uint = 0x72;
6462/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_message?language=objc)
6463pub const kHIDUsage_Tfon_Message: c_uint = 0x73;
6464/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_answeronoroff?language=objc)
6465pub const kHIDUsage_Tfon_AnswerOnOrOff: c_uint = 0x74;
6466/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_insidedialtone?language=objc)
6467pub const kHIDUsage_Tfon_InsideDialTone: c_uint = 0x90;
6468/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_outsidedialtone?language=objc)
6469pub const kHIDUsage_Tfon_OutsideDialTone: c_uint = 0x91;
6470/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_insideringtone?language=objc)
6471pub const kHIDUsage_Tfon_InsideRingTone: c_uint = 0x92;
6472/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_outsideringtone?language=objc)
6473pub const kHIDUsage_Tfon_OutsideRingTone: c_uint = 0x93;
6474/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_priorityringtone?language=objc)
6475pub const kHIDUsage_Tfon_PriorityRingTone: c_uint = 0x94;
6476/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_insideringback?language=objc)
6477pub const kHIDUsage_Tfon_InsideRingback: c_uint = 0x95;
6478/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_priorityringback?language=objc)
6479pub const kHIDUsage_Tfon_PriorityRingback: c_uint = 0x96;
6480/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_linebusytone?language=objc)
6481pub const kHIDUsage_Tfon_LineBusyTone: c_uint = 0x97;
6482/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_reordertone?language=objc)
6483pub const kHIDUsage_Tfon_ReorderTone: c_uint = 0x98;
6484/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_callwaitingtone?language=objc)
6485pub const kHIDUsage_Tfon_CallWaitingTone: c_uint = 0x99;
6486/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_confirmationtone1?language=objc)
6487pub const kHIDUsage_Tfon_ConfirmationTone1: c_uint = 0x9A;
6488/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_confirmationtone2?language=objc)
6489pub const kHIDUsage_Tfon_ConfirmationTone2: c_uint = 0x9B;
6490/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_tonesoff?language=objc)
6491pub const kHIDUsage_Tfon_TonesOff: c_uint = 0x9C;
6492/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_outsideringback?language=objc)
6493pub const kHIDUsage_Tfon_OutsideRingback: c_uint = 0x9D;
6494/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekey0?language=objc)
6495pub const kHIDUsage_Tfon_PhoneKey0: c_uint = 0xB0;
6496/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekey1?language=objc)
6497pub const kHIDUsage_Tfon_PhoneKey1: c_uint = 0xB1;
6498/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekey2?language=objc)
6499pub const kHIDUsage_Tfon_PhoneKey2: c_uint = 0xB2;
6500/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekey3?language=objc)
6501pub const kHIDUsage_Tfon_PhoneKey3: c_uint = 0xB3;
6502/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekey4?language=objc)
6503pub const kHIDUsage_Tfon_PhoneKey4: c_uint = 0xB4;
6504/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekey5?language=objc)
6505pub const kHIDUsage_Tfon_PhoneKey5: c_uint = 0xB5;
6506/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekey6?language=objc)
6507pub const kHIDUsage_Tfon_PhoneKey6: c_uint = 0xB6;
6508/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekey7?language=objc)
6509pub const kHIDUsage_Tfon_PhoneKey7: c_uint = 0xB7;
6510/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekey8?language=objc)
6511pub const kHIDUsage_Tfon_PhoneKey8: c_uint = 0xB8;
6512/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekey9?language=objc)
6513pub const kHIDUsage_Tfon_PhoneKey9: c_uint = 0xB9;
6514/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekeystar?language=objc)
6515pub const kHIDUsage_Tfon_PhoneKeyStar: c_uint = 0xBA;
6516/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekeypound?language=objc)
6517pub const kHIDUsage_Tfon_PhoneKeyPound: c_uint = 0xBB;
6518/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekeya?language=objc)
6519pub const kHIDUsage_Tfon_PhoneKeyA: c_uint = 0xBC;
6520/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekeyb?language=objc)
6521pub const kHIDUsage_Tfon_PhoneKeyB: c_uint = 0xBD;
6522/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekeyc?language=objc)
6523pub const kHIDUsage_Tfon_PhoneKeyC: c_uint = 0xBE;
6524/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_phonekeyd?language=objc)
6525pub const kHIDUsage_Tfon_PhoneKeyD: c_uint = 0xBF;
6526/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_tfon_reserved?language=objc)
6527pub const kHIDUsage_TFon_Reserved: c_uint = 0xFFFF;
6528
6529/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_consumercontrol?language=objc)
6530pub const kHIDUsage_Csmr_ConsumerControl: c_uint = 0x01;
6531/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_numerickeypad?language=objc)
6532pub const kHIDUsage_Csmr_NumericKeyPad: c_uint = 0x02;
6533/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_programmablebuttons?language=objc)
6534pub const kHIDUsage_Csmr_ProgrammableButtons: c_uint = 0x03;
6535/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_microphone?language=objc)
6536pub const kHIDUsage_Csmr_Microphone: c_uint = 0x04;
6537/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_headphone?language=objc)
6538pub const kHIDUsage_Csmr_Headphone: c_uint = 0x05;
6539/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_graphicequalizer?language=objc)
6540pub const kHIDUsage_Csmr_GraphicEqualizer: c_uint = 0x06;
6541/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_plus10?language=objc)
6542pub const kHIDUsage_Csmr_Plus10: c_uint = 0x20;
6543/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_plus100?language=objc)
6544pub const kHIDUsage_Csmr_Plus100: c_uint = 0x21;
6545/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_amorpm?language=objc)
6546pub const kHIDUsage_Csmr_AMOrPM: c_uint = 0x22;
6547/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_power?language=objc)
6548pub const kHIDUsage_Csmr_Power: c_uint = 0x30;
6549/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_reset?language=objc)
6550pub const kHIDUsage_Csmr_Reset: c_uint = 0x31;
6551/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_sleep?language=objc)
6552pub const kHIDUsage_Csmr_Sleep: c_uint = 0x32;
6553/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_sleepafter?language=objc)
6554pub const kHIDUsage_Csmr_SleepAfter: c_uint = 0x33;
6555/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_sleepmode?language=objc)
6556pub const kHIDUsage_Csmr_SleepMode: c_uint = 0x34;
6557/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_illumination?language=objc)
6558pub const kHIDUsage_Csmr_Illumination: c_uint = 0x35;
6559/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_functionbuttons?language=objc)
6560pub const kHIDUsage_Csmr_FunctionButtons: c_uint = 0x36;
6561/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_menu?language=objc)
6562pub const kHIDUsage_Csmr_Menu: c_uint = 0x40;
6563/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_menupick?language=objc)
6564pub const kHIDUsage_Csmr_MenuPick: c_uint = 0x41;
6565/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_menuup?language=objc)
6566pub const kHIDUsage_Csmr_MenuUp: c_uint = 0x42;
6567/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_menudown?language=objc)
6568pub const kHIDUsage_Csmr_MenuDown: c_uint = 0x43;
6569/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_menuleft?language=objc)
6570pub const kHIDUsage_Csmr_MenuLeft: c_uint = 0x44;
6571/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_menuright?language=objc)
6572pub const kHIDUsage_Csmr_MenuRight: c_uint = 0x45;
6573/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_menuescape?language=objc)
6574pub const kHIDUsage_Csmr_MenuEscape: c_uint = 0x46;
6575/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_menuvalueincrease?language=objc)
6576pub const kHIDUsage_Csmr_MenuValueIncrease: c_uint = 0x47;
6577/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_menuvaluedecrease?language=objc)
6578pub const kHIDUsage_Csmr_MenuValueDecrease: c_uint = 0x48;
6579/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_dataonscreen?language=objc)
6580pub const kHIDUsage_Csmr_DataOnScreen: c_uint = 0x60;
6581/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_closedcaption?language=objc)
6582pub const kHIDUsage_Csmr_ClosedCaption: c_uint = 0x61;
6583/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_closedcaptionselect?language=objc)
6584pub const kHIDUsage_Csmr_ClosedCaptionSelect: c_uint = 0x62;
6585/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_vcrortv?language=objc)
6586pub const kHIDUsage_Csmr_VCROrTV: c_uint = 0x63;
6587/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_broadcastmode?language=objc)
6588pub const kHIDUsage_Csmr_BroadcastMode: c_uint = 0x64;
6589/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_snapshot?language=objc)
6590pub const kHIDUsage_Csmr_Snapshot: c_uint = 0x65;
6591/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_still?language=objc)
6592pub const kHIDUsage_Csmr_Still: c_uint = 0x66;
6593/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_pictureinpicturetoggle?language=objc)
6594pub const kHIDUsage_Csmr_PictureInPictureToggle: c_uint = 0x67;
6595/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_pictureinpictureswap?language=objc)
6596pub const kHIDUsage_Csmr_PictureInPictureSwap: c_uint = 0x68;
6597/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_redmenubutton?language=objc)
6598pub const kHIDUsage_Csmr_RedMenuButton: c_uint = 0x69;
6599/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_greenmenubutton?language=objc)
6600pub const kHIDUsage_Csmr_GreenMenuButton: c_uint = 0x6A;
6601/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_bluemenubutton?language=objc)
6602pub const kHIDUsage_Csmr_BlueMenuButton: c_uint = 0x6B;
6603/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_yellowmenubutton?language=objc)
6604pub const kHIDUsage_Csmr_YellowMenuButton: c_uint = 0x6C;
6605/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aspect?language=objc)
6606pub const kHIDUsage_Csmr_Aspect: c_uint = 0x6D;
6607/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_3dmodeselect?language=objc)
6608pub const kHIDUsage_Csmr_3DModeSelect: c_uint = 0x6E;
6609/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_displaybrightnessincrement?language=objc)
6610pub const kHIDUsage_Csmr_DisplayBrightnessIncrement: c_uint = 0x6F;
6611/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_displaybrightnessdecrement?language=objc)
6612pub const kHIDUsage_Csmr_DisplayBrightnessDecrement: c_uint = 0x70;
6613/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_displaybrightness?language=objc)
6614pub const kHIDUsage_Csmr_DisplayBrightness: c_uint = 0x71;
6615/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_displaybacklighttoggle?language=objc)
6616pub const kHIDUsage_Csmr_DisplayBacklightToggle: c_uint = 0x72;
6617/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_displaybrightnessminimum?language=objc)
6618pub const kHIDUsage_Csmr_DisplayBrightnessMinimum: c_uint = 0x73;
6619/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_displaybrightnessmaximum?language=objc)
6620pub const kHIDUsage_Csmr_DisplayBrightnessMaximum: c_uint = 0x74;
6621/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_displaybrightnesssetautobrightness?language=objc)
6622pub const kHIDUsage_Csmr_DisplayBrightnessSetAutoBrightness: c_uint = 0x75;
6623/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardbrightnessincrement?language=objc)
6624pub const kHIDUsage_Csmr_KeyboardBrightnessIncrement: c_uint = 0x79;
6625/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardbrightnessdecrement?language=objc)
6626pub const kHIDUsage_Csmr_KeyboardBrightnessDecrement: c_uint = 0x7A;
6627/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_selection?language=objc)
6628pub const kHIDUsage_Csmr_Selection: c_uint = 0x80;
6629/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_assign?language=objc)
6630pub const kHIDUsage_Csmr_Assign: c_uint = 0x81;
6631/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_modestep?language=objc)
6632pub const kHIDUsage_Csmr_ModeStep: c_uint = 0x82;
6633/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_recalllast?language=objc)
6634pub const kHIDUsage_Csmr_RecallLast: c_uint = 0x83;
6635/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_enterchannel?language=objc)
6636pub const kHIDUsage_Csmr_EnterChannel: c_uint = 0x84;
6637/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_ordermovie?language=objc)
6638pub const kHIDUsage_Csmr_OrderMovie: c_uint = 0x85;
6639/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channel?language=objc)
6640pub const kHIDUsage_Csmr_Channel: c_uint = 0x86;
6641/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselection?language=objc)
6642pub const kHIDUsage_Csmr_MediaSelection: c_uint = 0x87;
6643/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectcomputer?language=objc)
6644pub const kHIDUsage_Csmr_MediaSelectComputer: c_uint = 0x88;
6645/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselecttv?language=objc)
6646pub const kHIDUsage_Csmr_MediaSelectTV: c_uint = 0x89;
6647/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectwww?language=objc)
6648pub const kHIDUsage_Csmr_MediaSelectWWW: c_uint = 0x8A;
6649/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectdvd?language=objc)
6650pub const kHIDUsage_Csmr_MediaSelectDVD: c_uint = 0x8B;
6651/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselecttelephone?language=objc)
6652pub const kHIDUsage_Csmr_MediaSelectTelephone: c_uint = 0x8C;
6653/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectprogramguide?language=objc)
6654pub const kHIDUsage_Csmr_MediaSelectProgramGuide: c_uint = 0x8D;
6655/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectvideophone?language=objc)
6656pub const kHIDUsage_Csmr_MediaSelectVideoPhone: c_uint = 0x8E;
6657/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectgames?language=objc)
6658pub const kHIDUsage_Csmr_MediaSelectGames: c_uint = 0x8F;
6659/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectmessages?language=objc)
6660pub const kHIDUsage_Csmr_MediaSelectMessages: c_uint = 0x90;
6661/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectcd?language=objc)
6662pub const kHIDUsage_Csmr_MediaSelectCD: c_uint = 0x91;
6663/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectvcr?language=objc)
6664pub const kHIDUsage_Csmr_MediaSelectVCR: c_uint = 0x92;
6665/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselecttuner?language=objc)
6666pub const kHIDUsage_Csmr_MediaSelectTuner: c_uint = 0x93;
6667/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_quit?language=objc)
6668pub const kHIDUsage_Csmr_Quit: c_uint = 0x94;
6669/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_help?language=objc)
6670pub const kHIDUsage_Csmr_Help: c_uint = 0x95;
6671/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselecttape?language=objc)
6672pub const kHIDUsage_Csmr_MediaSelectTape: c_uint = 0x96;
6673/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectcable?language=objc)
6674pub const kHIDUsage_Csmr_MediaSelectCable: c_uint = 0x97;
6675/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectsatellite?language=objc)
6676pub const kHIDUsage_Csmr_MediaSelectSatellite: c_uint = 0x98;
6677/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectsecurity?language=objc)
6678pub const kHIDUsage_Csmr_MediaSelectSecurity: c_uint = 0x99;
6679/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselecthome?language=objc)
6680pub const kHIDUsage_Csmr_MediaSelectHome: c_uint = 0x9A;
6681/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mediaselectcall?language=objc)
6682pub const kHIDUsage_Csmr_MediaSelectCall: c_uint = 0x9B;
6683/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channelincrement?language=objc)
6684pub const kHIDUsage_Csmr_ChannelIncrement: c_uint = 0x9C;
6685/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channeldecrement?language=objc)
6686pub const kHIDUsage_Csmr_ChannelDecrement: c_uint = 0x9D;
6687/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_media?language=objc)
6688pub const kHIDUsage_Csmr_Media: c_uint = 0x9E;
6689/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_vcrplus?language=objc)
6690pub const kHIDUsage_Csmr_VCRPlus: c_uint = 0xA0;
6691/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_once?language=objc)
6692pub const kHIDUsage_Csmr_Once: c_uint = 0xA1;
6693/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_daily?language=objc)
6694pub const kHIDUsage_Csmr_Daily: c_uint = 0xA2;
6695/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_weekly?language=objc)
6696pub const kHIDUsage_Csmr_Weekly: c_uint = 0xA3;
6697/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_monthly?language=objc)
6698pub const kHIDUsage_Csmr_Monthly: c_uint = 0xA4;
6699/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_play?language=objc)
6700pub const kHIDUsage_Csmr_Play: c_uint = 0xB0;
6701/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_pause?language=objc)
6702pub const kHIDUsage_Csmr_Pause: c_uint = 0xB1;
6703/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_record?language=objc)
6704pub const kHIDUsage_Csmr_Record: c_uint = 0xB2;
6705/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_fastforward?language=objc)
6706pub const kHIDUsage_Csmr_FastForward: c_uint = 0xB3;
6707/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_rewind?language=objc)
6708pub const kHIDUsage_Csmr_Rewind: c_uint = 0xB4;
6709/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_scannexttrack?language=objc)
6710pub const kHIDUsage_Csmr_ScanNextTrack: c_uint = 0xB5;
6711/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_scanprevioustrack?language=objc)
6712pub const kHIDUsage_Csmr_ScanPreviousTrack: c_uint = 0xB6;
6713/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_stop?language=objc)
6714pub const kHIDUsage_Csmr_Stop: c_uint = 0xB7;
6715/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_eject?language=objc)
6716pub const kHIDUsage_Csmr_Eject: c_uint = 0xB8;
6717/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_randomplay?language=objc)
6718pub const kHIDUsage_Csmr_RandomPlay: c_uint = 0xB9;
6719/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_selectdisc?language=objc)
6720pub const kHIDUsage_Csmr_SelectDisc: c_uint = 0xBA;
6721/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_enterdisc?language=objc)
6722pub const kHIDUsage_Csmr_EnterDisc: c_uint = 0xBB;
6723/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_repeat?language=objc)
6724pub const kHIDUsage_Csmr_Repeat: c_uint = 0xBC;
6725/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_tracking?language=objc)
6726pub const kHIDUsage_Csmr_Tracking: c_uint = 0xBD;
6727/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_tracknormal?language=objc)
6728pub const kHIDUsage_Csmr_TrackNormal: c_uint = 0xBE;
6729/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_slowtracking?language=objc)
6730pub const kHIDUsage_Csmr_SlowTracking: c_uint = 0xBF;
6731/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_frameforward?language=objc)
6732pub const kHIDUsage_Csmr_FrameForward: c_uint = 0xC0;
6733/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_frameback?language=objc)
6734pub const kHIDUsage_Csmr_FrameBack: c_uint = 0xC1;
6735/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mark?language=objc)
6736pub const kHIDUsage_Csmr_Mark: c_uint = 0xC2;
6737/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_clearmark?language=objc)
6738pub const kHIDUsage_Csmr_ClearMark: c_uint = 0xC3;
6739/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_repeatfrommark?language=objc)
6740pub const kHIDUsage_Csmr_RepeatFromMark: c_uint = 0xC4;
6741/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_returntomark?language=objc)
6742pub const kHIDUsage_Csmr_ReturnToMark: c_uint = 0xC5;
6743/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_searchmarkforward?language=objc)
6744pub const kHIDUsage_Csmr_SearchMarkForward: c_uint = 0xC6;
6745/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_searchmarkbackwards?language=objc)
6746pub const kHIDUsage_Csmr_SearchMarkBackwards: c_uint = 0xC7;
6747/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_counterreset?language=objc)
6748pub const kHIDUsage_Csmr_CounterReset: c_uint = 0xC8;
6749/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_showcounter?language=objc)
6750pub const kHIDUsage_Csmr_ShowCounter: c_uint = 0xC9;
6751/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_trackingincrement?language=objc)
6752pub const kHIDUsage_Csmr_TrackingIncrement: c_uint = 0xCA;
6753/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_trackingdecrement?language=objc)
6754pub const kHIDUsage_Csmr_TrackingDecrement: c_uint = 0xCB;
6755/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_stoporeject?language=objc)
6756pub const kHIDUsage_Csmr_StopOrEject: c_uint = 0xCC;
6757/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_playorpause?language=objc)
6758pub const kHIDUsage_Csmr_PlayOrPause: c_uint = 0xCD;
6759/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_playorskip?language=objc)
6760pub const kHIDUsage_Csmr_PlayOrSkip: c_uint = 0xCE;
6761/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_voicecommand?language=objc)
6762pub const kHIDUsage_Csmr_VoiceCommand: c_uint = 0xCF;
6763/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_volume?language=objc)
6764pub const kHIDUsage_Csmr_Volume: c_uint = 0xE0;
6765/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_balance?language=objc)
6766pub const kHIDUsage_Csmr_Balance: c_uint = 0xE1;
6767/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mute?language=objc)
6768pub const kHIDUsage_Csmr_Mute: c_uint = 0xE2;
6769/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_bass?language=objc)
6770pub const kHIDUsage_Csmr_Bass: c_uint = 0xE3;
6771/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_treble?language=objc)
6772pub const kHIDUsage_Csmr_Treble: c_uint = 0xE4;
6773/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_bassboost?language=objc)
6774pub const kHIDUsage_Csmr_BassBoost: c_uint = 0xE5;
6775/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_surroundmode?language=objc)
6776pub const kHIDUsage_Csmr_SurroundMode: c_uint = 0xE6;
6777/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_loudness?language=objc)
6778pub const kHIDUsage_Csmr_Loudness: c_uint = 0xE7;
6779/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_mpx?language=objc)
6780pub const kHIDUsage_Csmr_MPX: c_uint = 0xE8;
6781/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_volumeincrement?language=objc)
6782pub const kHIDUsage_Csmr_VolumeIncrement: c_uint = 0xE9;
6783/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_volumedecrement?language=objc)
6784pub const kHIDUsage_Csmr_VolumeDecrement: c_uint = 0xEA;
6785/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_speed?language=objc)
6786pub const kHIDUsage_Csmr_Speed: c_uint = 0xF0;
6787/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_playbackspeed?language=objc)
6788pub const kHIDUsage_Csmr_PlaybackSpeed: c_uint = 0xF1;
6789/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_standardplay?language=objc)
6790pub const kHIDUsage_Csmr_StandardPlay: c_uint = 0xF2;
6791/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_longplay?language=objc)
6792pub const kHIDUsage_Csmr_LongPlay: c_uint = 0xF3;
6793/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_extendedplay?language=objc)
6794pub const kHIDUsage_Csmr_ExtendedPlay: c_uint = 0xF4;
6795/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_slow?language=objc)
6796pub const kHIDUsage_Csmr_Slow: c_uint = 0xF5;
6797/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_fanenable?language=objc)
6798pub const kHIDUsage_Csmr_FanEnable: c_uint = 0x100;
6799/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_fanspeed?language=objc)
6800pub const kHIDUsage_Csmr_FanSpeed: c_uint = 0x101;
6801/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_lightenable?language=objc)
6802pub const kHIDUsage_Csmr_LightEnable: c_uint = 0x102;
6803/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_lightilluminationlevel?language=objc)
6804pub const kHIDUsage_Csmr_LightIlluminationLevel: c_uint = 0x103;
6805/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_climatecontrolenable?language=objc)
6806pub const kHIDUsage_Csmr_ClimateControlEnable: c_uint = 0x104;
6807/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_roomtemperature?language=objc)
6808pub const kHIDUsage_Csmr_RoomTemperature: c_uint = 0x105;
6809/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_securityenable?language=objc)
6810pub const kHIDUsage_Csmr_SecurityEnable: c_uint = 0x106;
6811/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_firealarm?language=objc)
6812pub const kHIDUsage_Csmr_FireAlarm: c_uint = 0x107;
6813/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_policealarm?language=objc)
6814pub const kHIDUsage_Csmr_PoliceAlarm: c_uint = 0x108;
6815/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_proximity?language=objc)
6816pub const kHIDUsage_Csmr_Proximity: c_uint = 0x109;
6817/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_motion?language=objc)
6818pub const kHIDUsage_Csmr_Motion: c_uint = 0x10A;
6819/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_duressalarm?language=objc)
6820pub const kHIDUsage_Csmr_DuressAlarm: c_uint = 0x10B;
6821/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_holdupalarm?language=objc)
6822pub const kHIDUsage_Csmr_HoldupAlarm: c_uint = 0x10C;
6823/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_medicalalarm?language=objc)
6824pub const kHIDUsage_Csmr_MedicalAlarm: c_uint = 0x10D;
6825/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_balanceright?language=objc)
6826pub const kHIDUsage_Csmr_BalanceRight: c_uint = 0x150;
6827/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_balanceleft?language=objc)
6828pub const kHIDUsage_Csmr_BalanceLeft: c_uint = 0x151;
6829/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_bassincrement?language=objc)
6830pub const kHIDUsage_Csmr_BassIncrement: c_uint = 0x152;
6831/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_bassdecrement?language=objc)
6832pub const kHIDUsage_Csmr_BassDecrement: c_uint = 0x153;
6833/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_trebleincrement?language=objc)
6834pub const kHIDUsage_Csmr_TrebleIncrement: c_uint = 0x154;
6835/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_trebledecrement?language=objc)
6836pub const kHIDUsage_Csmr_TrebleDecrement: c_uint = 0x155;
6837/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_speakersystem?language=objc)
6838pub const kHIDUsage_Csmr_SpeakerSystem: c_uint = 0x160;
6839/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channelleft?language=objc)
6840pub const kHIDUsage_Csmr_ChannelLeft: c_uint = 0x161;
6841/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channelright?language=objc)
6842pub const kHIDUsage_Csmr_ChannelRight: c_uint = 0x162;
6843/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channelcenter?language=objc)
6844pub const kHIDUsage_Csmr_ChannelCenter: c_uint = 0x163;
6845/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channelfront?language=objc)
6846pub const kHIDUsage_Csmr_ChannelFront: c_uint = 0x164;
6847/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channelcenterfront?language=objc)
6848pub const kHIDUsage_Csmr_ChannelCenterFront: c_uint = 0x165;
6849/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channelside?language=objc)
6850pub const kHIDUsage_Csmr_ChannelSide: c_uint = 0x166;
6851/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channelsurround?language=objc)
6852pub const kHIDUsage_Csmr_ChannelSurround: c_uint = 0x167;
6853/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channellowfrequencyenhancement?language=objc)
6854pub const kHIDUsage_Csmr_ChannelLowFrequencyEnhancement: c_uint = 0x168;
6855/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channeltop?language=objc)
6856pub const kHIDUsage_Csmr_ChannelTop: c_uint = 0x169;
6857/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_channelunknown?language=objc)
6858pub const kHIDUsage_Csmr_ChannelUnknown: c_uint = 0x16A;
6859/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_subchannel?language=objc)
6860pub const kHIDUsage_Csmr_SubChannel: c_uint = 0x170;
6861/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_subchannelincrement?language=objc)
6862pub const kHIDUsage_Csmr_SubChannelIncrement: c_uint = 0x171;
6863/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_subchanneldecrement?language=objc)
6864pub const kHIDUsage_Csmr_SubChannelDecrement: c_uint = 0x172;
6865/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alternateaudioincrement?language=objc)
6866pub const kHIDUsage_Csmr_AlternateAudioIncrement: c_uint = 0x173;
6867/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alternateaudiodecrement?language=objc)
6868pub const kHIDUsage_Csmr_AlternateAudioDecrement: c_uint = 0x174;
6869/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_applicationlaunchbuttons?language=objc)
6870pub const kHIDUsage_Csmr_ApplicationLaunchButtons: c_uint = 0x180;
6871/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_allaunchbuttonconfigurationtool?language=objc)
6872pub const kHIDUsage_Csmr_ALLaunchButtonConfigurationTool: c_uint = 0x181;
6873/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alprogrammablebuttonconfiguration?language=objc)
6874pub const kHIDUsage_Csmr_ALProgrammableButtonConfiguration: c_uint = 0x182;
6875/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alconsumercontrolconfiguration?language=objc)
6876pub const kHIDUsage_Csmr_ALConsumerControlConfiguration: c_uint = 0x183;
6877/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alwordprocessor?language=objc)
6878pub const kHIDUsage_Csmr_ALWordProcessor: c_uint = 0x184;
6879/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_altexteditor?language=objc)
6880pub const kHIDUsage_Csmr_ALTextEditor: c_uint = 0x185;
6881/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alspreadsheet?language=objc)
6882pub const kHIDUsage_Csmr_ALSpreadsheet: c_uint = 0x186;
6883/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_algraphicseditor?language=objc)
6884pub const kHIDUsage_Csmr_ALGraphicsEditor: c_uint = 0x187;
6885/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alpresentationapp?language=objc)
6886pub const kHIDUsage_Csmr_ALPresentationApp: c_uint = 0x188;
6887/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aldatabaseapp?language=objc)
6888pub const kHIDUsage_Csmr_ALDatabaseApp: c_uint = 0x189;
6889/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alemailreader?language=objc)
6890pub const kHIDUsage_Csmr_ALEmailReader: c_uint = 0x18A;
6891/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alnewsreader?language=objc)
6892pub const kHIDUsage_Csmr_ALNewsreader: c_uint = 0x18B;
6893/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alvoicemail?language=objc)
6894pub const kHIDUsage_Csmr_ALVoicemail: c_uint = 0x18C;
6895/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alcontactsoraddressbook?language=objc)
6896pub const kHIDUsage_Csmr_ALContactsOrAddressBook: c_uint = 0x18D;
6897/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alcalendarorschedule?language=objc)
6898pub const kHIDUsage_Csmr_ALCalendarOrSchedule: c_uint = 0x18E;
6899/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_altaskorprojectmanager?language=objc)
6900pub const kHIDUsage_Csmr_ALTaskOrProjectManager: c_uint = 0x18F;
6901/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_allogorjournalortimecard?language=objc)
6902pub const kHIDUsage_Csmr_ALLogOrJournalOrTimecard: c_uint = 0x190;
6903/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alcheckbookorfinance?language=objc)
6904pub const kHIDUsage_Csmr_ALCheckbookOrFinance: c_uint = 0x191;
6905/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alcalculator?language=objc)
6906pub const kHIDUsage_Csmr_ALCalculator: c_uint = 0x192;
6907/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alaorvcaptureorplayback?language=objc)
6908pub const kHIDUsage_Csmr_ALAOrVCaptureOrPlayback: c_uint = 0x193;
6909/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_allocalmachinebrowser?language=objc)
6910pub const kHIDUsage_Csmr_ALLocalMachineBrowser: c_uint = 0x194;
6911/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_allanorwanbrowser?language=objc)
6912pub const kHIDUsage_Csmr_ALLANOrWANBrowser: c_uint = 0x195;
6913/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alinternetbrowser?language=objc)
6914pub const kHIDUsage_Csmr_ALInternetBrowser: c_uint = 0x196;
6915/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alremotenetworkingorispconnect?language=objc)
6916pub const kHIDUsage_Csmr_ALRemoteNetworkingOrISPConnect: c_uint = 0x197;
6917/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alnetworkconference?language=objc)
6918pub const kHIDUsage_Csmr_ALNetworkConference: c_uint = 0x198;
6919/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alnetworkchat?language=objc)
6920pub const kHIDUsage_Csmr_ALNetworkChat: c_uint = 0x199;
6921/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_altelephonyordialer?language=objc)
6922pub const kHIDUsage_Csmr_ALTelephonyOrDialer: c_uint = 0x19A;
6923/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_allogon?language=objc)
6924pub const kHIDUsage_Csmr_ALLogon: c_uint = 0x19B;
6925/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_allogoff?language=objc)
6926pub const kHIDUsage_Csmr_ALLogoff: c_uint = 0x19C;
6927/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_allogonorlogoff?language=objc)
6928pub const kHIDUsage_Csmr_ALLogonOrLogoff: c_uint = 0x19D;
6929/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alterminallockorscreensaver?language=objc)
6930pub const kHIDUsage_Csmr_ALTerminalLockOrScreensaver: c_uint = 0x19E;
6931/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alcontrolpanel?language=objc)
6932pub const kHIDUsage_Csmr_ALControlPanel: c_uint = 0x19F;
6933/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alcommandlineprocessororrun?language=objc)
6934pub const kHIDUsage_Csmr_ALCommandLineProcessorOrRun: c_uint = 0x1A0;
6935/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alprocessortaskmanager?language=objc)
6936pub const kHIDUsage_Csmr_ALProcessOrTaskManager: c_uint = 0x1A1;
6937/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_al?language=objc)
6938pub const kHIDUsage_Csmr_AL: c_uint = 0x1A2;
6939/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alnexttaskorapplication?language=objc)
6940pub const kHIDUsage_Csmr_ALNextTaskOrApplication: c_uint = 0x1A3;
6941/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alprevioustaskorapplication?language=objc)
6942pub const kHIDUsage_Csmr_ALPreviousTaskOrApplication: c_uint = 0x1A4;
6943/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alpreemptivehalttaskorapplication?language=objc)
6944pub const kHIDUsage_Csmr_ALPreemptiveHaltTaskOrApplication: c_uint = 0x1A5;
6945/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alintegratedhelpcenter?language=objc)
6946pub const kHIDUsage_Csmr_ALIntegratedHelpCenter: c_uint = 0x1A6;
6947/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aldocuments?language=objc)
6948pub const kHIDUsage_Csmr_ALDocuments: c_uint = 0x1A7;
6949/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_althesaurus?language=objc)
6950pub const kHIDUsage_Csmr_ALThesaurus: c_uint = 0x1A8;
6951/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aldictionary?language=objc)
6952pub const kHIDUsage_Csmr_ALDictionary: c_uint = 0x1A9;
6953/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aldesktop?language=objc)
6954pub const kHIDUsage_Csmr_ALDesktop: c_uint = 0x1AA;
6955/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alspellcheck?language=objc)
6956pub const kHIDUsage_Csmr_ALSpellCheck: c_uint = 0x1AB;
6957/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_algrammercheck?language=objc)
6958pub const kHIDUsage_Csmr_ALGrammerCheck: c_uint = 0x1AC;
6959/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alwirelessstatus?language=objc)
6960pub const kHIDUsage_Csmr_ALWirelessStatus: c_uint = 0x1AD;
6961/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alkeyboardlayout?language=objc)
6962pub const kHIDUsage_Csmr_ALKeyboardLayout: c_uint = 0x1AE;
6963/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alvirusprotection?language=objc)
6964pub const kHIDUsage_Csmr_ALVirusProtection: c_uint = 0x1AF;
6965/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alencryption?language=objc)
6966pub const kHIDUsage_Csmr_ALEncryption: c_uint = 0x1B0;
6967/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alscreensaver?language=objc)
6968pub const kHIDUsage_Csmr_ALScreenSaver: c_uint = 0x1B1;
6969/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alalarms?language=objc)
6970pub const kHIDUsage_Csmr_ALAlarms: c_uint = 0x1B2;
6971/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alclock?language=objc)
6972pub const kHIDUsage_Csmr_ALClock: c_uint = 0x1B3;
6973/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alfilebrowser?language=objc)
6974pub const kHIDUsage_Csmr_ALFileBrowser: c_uint = 0x1B4;
6975/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alpowerstatus?language=objc)
6976pub const kHIDUsage_Csmr_ALPowerStatus: c_uint = 0x1B5;
6977/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alimagebrowser?language=objc)
6978pub const kHIDUsage_Csmr_ALImageBrowser: c_uint = 0x1B6;
6979/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alaudiobrowser?language=objc)
6980pub const kHIDUsage_Csmr_ALAudioBrowser: c_uint = 0x1B7;
6981/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_almoviebrowser?language=objc)
6982pub const kHIDUsage_Csmr_ALMovieBrowser: c_uint = 0x1B8;
6983/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aldigitalrightsmanager?language=objc)
6984pub const kHIDUsage_Csmr_ALDigitalRightsManager: c_uint = 0x1B9;
6985/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aldigitalwallet?language=objc)
6986pub const kHIDUsage_Csmr_ALDigitalWallet: c_uint = 0x1BA;
6987/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alinstantmessaging?language=objc)
6988pub const kHIDUsage_Csmr_ALInstantMessaging: c_uint = 0x1BC;
6989/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aloemfeaturebrowser?language=objc)
6990pub const kHIDUsage_Csmr_ALOEMFeatureBrowser: c_uint = 0x1BD;
6991/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aloemhelp?language=objc)
6992pub const kHIDUsage_Csmr_ALOEMHelp: c_uint = 0x1BE;
6993/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alonlinecommunity?language=objc)
6994pub const kHIDUsage_Csmr_ALOnlineCommunity: c_uint = 0x1BF;
6995/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alentertainmentcontentbrowser?language=objc)
6996pub const kHIDUsage_Csmr_ALEntertainmentContentBrowser: c_uint = 0x1C0;
6997/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alonlineshoppingbrowswer?language=objc)
6998pub const kHIDUsage_Csmr_ALOnlineShoppingBrowswer: c_uint = 0x1C1;
6999/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alsmartcardinformationorhelp?language=objc)
7000pub const kHIDUsage_Csmr_ALSmartCardInformationOrHelp: c_uint = 0x1C2;
7001/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_almarketmonitororfinancebrowser?language=objc)
7002pub const kHIDUsage_Csmr_ALMarketMonitorOrFinanceBrowser: c_uint = 0x1C3;
7003/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alcustomizedcorporatenewsbrowser?language=objc)
7004pub const kHIDUsage_Csmr_ALCustomizedCorporateNewsBrowser: c_uint = 0x1C4;
7005/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alonlineactivitybrowswer?language=objc)
7006pub const kHIDUsage_Csmr_ALOnlineActivityBrowswer: c_uint = 0x1C5;
7007/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alresearchorsearchbrowswer?language=objc)
7008pub const kHIDUsage_Csmr_ALResearchOrSearchBrowswer: c_uint = 0x1C6;
7009/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alaudioplayer?language=objc)
7010pub const kHIDUsage_Csmr_ALAudioPlayer: c_uint = 0x1C7;
7011/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_almessagestatus?language=objc)
7012pub const kHIDUsage_Csmr_ALMessageStatus: c_uint = 0x1C8;
7013/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alcontactsync?language=objc)
7014pub const kHIDUsage_Csmr_ALContactSync: c_uint = 0x1C9;
7015/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alnavigation?language=objc)
7016pub const kHIDUsage_Csmr_ALNavigation: c_uint = 0x1CA;
7017/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_alcontextawaredesktopassistant?language=objc)
7018pub const kHIDUsage_Csmr_ALContextawareDesktopAssistant: c_uint = 0x1CB;
7019/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_genericguiapplicationcontrols?language=objc)
7020pub const kHIDUsage_Csmr_GenericGUIApplicationControls: c_uint = 0x200;
7021/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acnew?language=objc)
7022pub const kHIDUsage_Csmr_ACNew: c_uint = 0x201;
7023/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acopen?language=objc)
7024pub const kHIDUsage_Csmr_ACOpen: c_uint = 0x202;
7025/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acclose?language=objc)
7026pub const kHIDUsage_Csmr_ACClose: c_uint = 0x203;
7027/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acexit?language=objc)
7028pub const kHIDUsage_Csmr_ACExit: c_uint = 0x204;
7029/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acmaximize?language=objc)
7030pub const kHIDUsage_Csmr_ACMaximize: c_uint = 0x205;
7031/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acminimize?language=objc)
7032pub const kHIDUsage_Csmr_ACMinimize: c_uint = 0x206;
7033/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsave?language=objc)
7034pub const kHIDUsage_Csmr_ACSave: c_uint = 0x207;
7035/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acprint?language=objc)
7036pub const kHIDUsage_Csmr_ACPrint: c_uint = 0x208;
7037/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acproperties?language=objc)
7038pub const kHIDUsage_Csmr_ACProperties: c_uint = 0x209;
7039/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acundo?language=objc)
7040pub const kHIDUsage_Csmr_ACUndo: c_uint = 0x21A;
7041/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_accopy?language=objc)
7042pub const kHIDUsage_Csmr_ACCopy: c_uint = 0x21B;
7043/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_accut?language=objc)
7044pub const kHIDUsage_Csmr_ACCut: c_uint = 0x21C;
7045/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acpaste?language=objc)
7046pub const kHIDUsage_Csmr_ACPaste: c_uint = 0x21D;
7047/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_ac?language=objc)
7048pub const kHIDUsage_Csmr_AC: c_uint = 0x21E;
7049/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acfind?language=objc)
7050pub const kHIDUsage_Csmr_ACFind: c_uint = 0x21F;
7051/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acfindandreplace?language=objc)
7052pub const kHIDUsage_Csmr_ACFindandReplace: c_uint = 0x220;
7053/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsearch?language=objc)
7054pub const kHIDUsage_Csmr_ACSearch: c_uint = 0x221;
7055/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acgoto?language=objc)
7056pub const kHIDUsage_Csmr_ACGoTo: c_uint = 0x222;
7057/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_achome?language=objc)
7058pub const kHIDUsage_Csmr_ACHome: c_uint = 0x223;
7059/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acback?language=objc)
7060pub const kHIDUsage_Csmr_ACBack: c_uint = 0x224;
7061/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acforward?language=objc)
7062pub const kHIDUsage_Csmr_ACForward: c_uint = 0x225;
7063/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acstop?language=objc)
7064pub const kHIDUsage_Csmr_ACStop: c_uint = 0x226;
7065/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acrefresh?language=objc)
7066pub const kHIDUsage_Csmr_ACRefresh: c_uint = 0x227;
7067/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acpreviouslink?language=objc)
7068pub const kHIDUsage_Csmr_ACPreviousLink: c_uint = 0x228;
7069/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acnextlink?language=objc)
7070pub const kHIDUsage_Csmr_ACNextLink: c_uint = 0x229;
7071/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acbookmarks?language=objc)
7072pub const kHIDUsage_Csmr_ACBookmarks: c_uint = 0x22A;
7073/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_achistory?language=objc)
7074pub const kHIDUsage_Csmr_ACHistory: c_uint = 0x22B;
7075/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsubscriptions?language=objc)
7076pub const kHIDUsage_Csmr_ACSubscriptions: c_uint = 0x22C;
7077/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aczoomin?language=objc)
7078pub const kHIDUsage_Csmr_ACZoomIn: c_uint = 0x22D;
7079/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aczoomout?language=objc)
7080pub const kHIDUsage_Csmr_ACZoomOut: c_uint = 0x22E;
7081/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aczoom?language=objc)
7082pub const kHIDUsage_Csmr_ACZoom: c_uint = 0x22F;
7083/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acfullscreenview?language=objc)
7084pub const kHIDUsage_Csmr_ACFullScreenView: c_uint = 0x230;
7085/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acnormalview?language=objc)
7086pub const kHIDUsage_Csmr_ACNormalView: c_uint = 0x231;
7087/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acviewtoggle?language=objc)
7088pub const kHIDUsage_Csmr_ACViewToggle: c_uint = 0x232;
7089/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acscrollup?language=objc)
7090pub const kHIDUsage_Csmr_ACScrollUp: c_uint = 0x233;
7091/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acscrolldown?language=objc)
7092pub const kHIDUsage_Csmr_ACScrollDown: c_uint = 0x234;
7093/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acscroll?language=objc)
7094pub const kHIDUsage_Csmr_ACScroll: c_uint = 0x235;
7095/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acpanleft?language=objc)
7096pub const kHIDUsage_Csmr_ACPanLeft: c_uint = 0x236;
7097/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acpanright?language=objc)
7098pub const kHIDUsage_Csmr_ACPanRight: c_uint = 0x237;
7099/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acpan?language=objc)
7100pub const kHIDUsage_Csmr_ACPan: c_uint = 0x238;
7101/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acnewwindow?language=objc)
7102pub const kHIDUsage_Csmr_ACNewWindow: c_uint = 0x239;
7103/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_actilehorizontally?language=objc)
7104pub const kHIDUsage_Csmr_ACTileHorizontally: c_uint = 0x23A;
7105/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_actilevertically?language=objc)
7106pub const kHIDUsage_Csmr_ACTileVertically: c_uint = 0x23B;
7107/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acformat?language=objc)
7108pub const kHIDUsage_Csmr_ACFormat: c_uint = 0x23C;
7109/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acedit?language=objc)
7110pub const kHIDUsage_Csmr_ACEdit: c_uint = 0x23D;
7111/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acbold?language=objc)
7112pub const kHIDUsage_Csmr_ACBold: c_uint = 0x23E;
7113/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acitalics?language=objc)
7114pub const kHIDUsage_Csmr_ACItalics: c_uint = 0x23F;
7115/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acunderline?language=objc)
7116pub const kHIDUsage_Csmr_ACUnderline: c_uint = 0x240;
7117/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acstrikethrough?language=objc)
7118pub const kHIDUsage_Csmr_ACStrikethrough: c_uint = 0x241;
7119/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsubscript?language=objc)
7120pub const kHIDUsage_Csmr_ACSubscript: c_uint = 0x242;
7121/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsuperscript?language=objc)
7122pub const kHIDUsage_Csmr_ACSuperscript: c_uint = 0x243;
7123/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acallcaps?language=objc)
7124pub const kHIDUsage_Csmr_ACAllCaps: c_uint = 0x244;
7125/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acrotate?language=objc)
7126pub const kHIDUsage_Csmr_ACRotate: c_uint = 0x245;
7127/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acresize?language=objc)
7128pub const kHIDUsage_Csmr_ACResize: c_uint = 0x246;
7129/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acfliphorizontal?language=objc)
7130pub const kHIDUsage_Csmr_ACFlipHorizontal: c_uint = 0x247;
7131/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acflipvertical?language=objc)
7132pub const kHIDUsage_Csmr_ACFlipVertical: c_uint = 0x248;
7133/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acmirrorhorizontal?language=objc)
7134pub const kHIDUsage_Csmr_ACMirrorHorizontal: c_uint = 0x249;
7135/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acmirrorvertical?language=objc)
7136pub const kHIDUsage_Csmr_ACMirrorVertical: c_uint = 0x24A;
7137/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acfontselect?language=objc)
7138pub const kHIDUsage_Csmr_ACFontSelect: c_uint = 0x24B;
7139/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acfontcolor?language=objc)
7140pub const kHIDUsage_Csmr_ACFontColor: c_uint = 0x24C;
7141/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acfontsize?language=objc)
7142pub const kHIDUsage_Csmr_ACFontSize: c_uint = 0x24D;
7143/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acjustifyleft?language=objc)
7144pub const kHIDUsage_Csmr_ACJustifyLeft: c_uint = 0x24E;
7145/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acjustifycenterh?language=objc)
7146pub const kHIDUsage_Csmr_ACJustifyCenterH: c_uint = 0x24F;
7147/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acjustifyright?language=objc)
7148pub const kHIDUsage_Csmr_ACJustifyRight: c_uint = 0x250;
7149/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acjustifyblockh?language=objc)
7150pub const kHIDUsage_Csmr_ACJustifyBlockH: c_uint = 0x251;
7151/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acjustifytop?language=objc)
7152pub const kHIDUsage_Csmr_ACJustifyTop: c_uint = 0x252;
7153/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acjustifycenterv?language=objc)
7154pub const kHIDUsage_Csmr_ACJustifyCenterV: c_uint = 0x253;
7155/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acjustifybottom?language=objc)
7156pub const kHIDUsage_Csmr_ACJustifyBottom: c_uint = 0x254;
7157/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acjustifyblockv?language=objc)
7158pub const kHIDUsage_Csmr_ACJustifyBlockV: c_uint = 0x255;
7159/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acindentydecrease?language=objc)
7160pub const kHIDUsage_Csmr_ACIndentyDecrease: c_uint = 0x256;
7161/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acindentyincrease?language=objc)
7162pub const kHIDUsage_Csmr_ACIndentyIncrease: c_uint = 0x257;
7163/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acnumberedlist?language=objc)
7164pub const kHIDUsage_Csmr_ACNumberedList: c_uint = 0x258;
7165/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acrestartnumbering?language=objc)
7166pub const kHIDUsage_Csmr_ACRestartNumbering: c_uint = 0x259;
7167/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acbulletedlist?language=objc)
7168pub const kHIDUsage_Csmr_ACBulletedList: c_uint = 0x25A;
7169/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acpromote?language=objc)
7170pub const kHIDUsage_Csmr_ACPromote: c_uint = 0x25B;
7171/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acdemote?language=objc)
7172pub const kHIDUsage_Csmr_ACDemote: c_uint = 0x25C;
7173/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acyes?language=objc)
7174pub const kHIDUsage_Csmr_ACYes: c_uint = 0x25D;
7175/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acno?language=objc)
7176pub const kHIDUsage_Csmr_ACNo: c_uint = 0x25E;
7177/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_accancel?language=objc)
7178pub const kHIDUsage_Csmr_ACCancel: c_uint = 0x25F;
7179/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_accatalog?language=objc)
7180pub const kHIDUsage_Csmr_ACCatalog: c_uint = 0x260;
7181/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acbuyorcheckout?language=objc)
7182pub const kHIDUsage_Csmr_ACBuyOrCheckout: c_uint = 0x261;
7183/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acaddtocart?language=objc)
7184pub const kHIDUsage_Csmr_ACAddToCart: c_uint = 0x262;
7185/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acexpand?language=objc)
7186pub const kHIDUsage_Csmr_ACExpand: c_uint = 0x263;
7187/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acexpandall?language=objc)
7188pub const kHIDUsage_Csmr_ACExpandAll: c_uint = 0x264;
7189/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_accollapse?language=objc)
7190pub const kHIDUsage_Csmr_ACCollapse: c_uint = 0x265;
7191/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_accollapseall?language=objc)
7192pub const kHIDUsage_Csmr_ACCollapseAll: c_uint = 0x266;
7193/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acprintpreview?language=objc)
7194pub const kHIDUsage_Csmr_ACPrintPreview: c_uint = 0x267;
7195/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acpastespecial?language=objc)
7196pub const kHIDUsage_Csmr_ACPasteSpecial: c_uint = 0x268;
7197/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acinsertmode?language=objc)
7198pub const kHIDUsage_Csmr_ACInsertMode: c_uint = 0x269;
7199/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acdelete?language=objc)
7200pub const kHIDUsage_Csmr_ACDelete: c_uint = 0x26A;
7201/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_aclock?language=objc)
7202pub const kHIDUsage_Csmr_ACLock: c_uint = 0x26B;
7203/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acunlock?language=objc)
7204pub const kHIDUsage_Csmr_ACUnlock: c_uint = 0x26C;
7205/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acprotect?language=objc)
7206pub const kHIDUsage_Csmr_ACProtect: c_uint = 0x26D;
7207/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acunprotect?language=objc)
7208pub const kHIDUsage_Csmr_ACUnprotect: c_uint = 0x26E;
7209/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acattachcomment?language=objc)
7210pub const kHIDUsage_Csmr_ACAttachComment: c_uint = 0x26F;
7211/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acdetachcomment?language=objc)
7212pub const kHIDUsage_Csmr_ACDetachComment: c_uint = 0x270;
7213/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acviewcomment?language=objc)
7214pub const kHIDUsage_Csmr_ACViewComment: c_uint = 0x271;
7215/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acselectword?language=objc)
7216pub const kHIDUsage_Csmr_ACSelectWord: c_uint = 0x272;
7217/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acselectsentence?language=objc)
7218pub const kHIDUsage_Csmr_ACSelectSentence: c_uint = 0x273;
7219/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acselectparagraph?language=objc)
7220pub const kHIDUsage_Csmr_ACSelectParagraph: c_uint = 0x274;
7221/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acselectcolumn?language=objc)
7222pub const kHIDUsage_Csmr_ACSelectColumn: c_uint = 0x275;
7223/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acselectrow?language=objc)
7224pub const kHIDUsage_Csmr_ACSelectRow: c_uint = 0x276;
7225/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acselecttable?language=objc)
7226pub const kHIDUsage_Csmr_ACSelectTable: c_uint = 0x277;
7227/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acselectobject?language=objc)
7228pub const kHIDUsage_Csmr_ACSelectObject: c_uint = 0x278;
7229/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acredoorrepeat?language=objc)
7230pub const kHIDUsage_Csmr_ACRedoOrRepeat: c_uint = 0x279;
7231/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsort?language=objc)
7232pub const kHIDUsage_Csmr_ACSort: c_uint = 0x27A;
7233/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsortascending?language=objc)
7234pub const kHIDUsage_Csmr_ACSortAscending: c_uint = 0x27B;
7235/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsortdescending?language=objc)
7236pub const kHIDUsage_Csmr_ACSortDescending: c_uint = 0x27C;
7237/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acfilter?language=objc)
7238pub const kHIDUsage_Csmr_ACFilter: c_uint = 0x27D;
7239/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsetclock?language=objc)
7240pub const kHIDUsage_Csmr_ACSetClock: c_uint = 0x27E;
7241/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acviewclock?language=objc)
7242pub const kHIDUsage_Csmr_ACViewClock: c_uint = 0x27F;
7243/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acselecttimezone?language=objc)
7244pub const kHIDUsage_Csmr_ACSelectTimeZone: c_uint = 0x280;
7245/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acedittimezones?language=objc)
7246pub const kHIDUsage_Csmr_ACEditTimeZones: c_uint = 0x281;
7247/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsetalarm?language=objc)
7248pub const kHIDUsage_Csmr_ACSetAlarm: c_uint = 0x282;
7249/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acclearalarm?language=objc)
7250pub const kHIDUsage_Csmr_ACClearAlarm: c_uint = 0x283;
7251/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsnoozealarm?language=objc)
7252pub const kHIDUsage_Csmr_ACSnoozeAlarm: c_uint = 0x284;
7253/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acresetalarm?language=objc)
7254pub const kHIDUsage_Csmr_ACResetAlarm: c_uint = 0x285;
7255/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsynchronize?language=objc)
7256pub const kHIDUsage_Csmr_ACSynchronize: c_uint = 0x286;
7257/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsendorreceive?language=objc)
7258pub const kHIDUsage_Csmr_ACSendOrReceive: c_uint = 0x287;
7259/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsendto?language=objc)
7260pub const kHIDUsage_Csmr_ACSendTo: c_uint = 0x288;
7261/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acreply?language=objc)
7262pub const kHIDUsage_Csmr_ACReply: c_uint = 0x289;
7263/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acreplyall?language=objc)
7264pub const kHIDUsage_Csmr_ACReplyAll: c_uint = 0x28A;
7265/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acforwardmessage?language=objc)
7266pub const kHIDUsage_Csmr_ACForwardMessage: c_uint = 0x28B;
7267/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsend?language=objc)
7268pub const kHIDUsage_Csmr_ACSend: c_uint = 0x28C;
7269/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acattachfile?language=objc)
7270pub const kHIDUsage_Csmr_ACAttachFile: c_uint = 0x28D;
7271/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acupload?language=objc)
7272pub const kHIDUsage_Csmr_ACUpload: c_uint = 0x28E;
7273/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acdownload?language=objc)
7274pub const kHIDUsage_Csmr_ACDownload: c_uint = 0x28F;
7275/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsetborders?language=objc)
7276pub const kHIDUsage_Csmr_ACSetBorders: c_uint = 0x290;
7277/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acinsertrow?language=objc)
7278pub const kHIDUsage_Csmr_ACInsertRow: c_uint = 0x291;
7279/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acinsertcolumn?language=objc)
7280pub const kHIDUsage_Csmr_ACInsertColumn: c_uint = 0x292;
7281/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acinsertfile?language=objc)
7282pub const kHIDUsage_Csmr_ACInsertFile: c_uint = 0x293;
7283/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acinsertpicture?language=objc)
7284pub const kHIDUsage_Csmr_ACInsertPicture: c_uint = 0x294;
7285/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acinsertobject?language=objc)
7286pub const kHIDUsage_Csmr_ACInsertObject: c_uint = 0x295;
7287/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acinsertsymbol?language=objc)
7288pub const kHIDUsage_Csmr_ACInsertSymbol: c_uint = 0x296;
7289/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsaveandclose?language=objc)
7290pub const kHIDUsage_Csmr_ACSaveAndClose: c_uint = 0x297;
7291/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acrename?language=objc)
7292pub const kHIDUsage_Csmr_ACRename: c_uint = 0x298;
7293/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acmerge?language=objc)
7294pub const kHIDUsage_Csmr_ACMerge: c_uint = 0x299;
7295/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsplit?language=objc)
7296pub const kHIDUsage_Csmr_ACSplit: c_uint = 0x29A;
7297/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acdistributeh?language=objc)
7298pub const kHIDUsage_Csmr_ACDistributeH: c_uint = 0x29B;
7299/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acdistributev?language=objc)
7300pub const kHIDUsage_Csmr_ACDistributeV: c_uint = 0x29C;
7301/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_ackeyboardlayoutselect?language=objc)
7302pub const kHIDUsage_Csmr_ACKeyboardLayoutSelect: c_uint = 0x29D;
7303/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acnavigationguidance?language=objc)
7304pub const kHIDUsage_Csmr_ACNavigationGuidance: c_uint = 0x29E;
7305/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acdesktopshowallwindows?language=objc)
7306pub const kHIDUsage_Csmr_ACDesktopShowAllWindows: c_uint = 0x29F;
7307/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsoftkeyleft?language=objc)
7308pub const kHIDUsage_Csmr_ACSoftKeyLeft: c_uint = 0x2A0;
7309/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acsoftkeyright?language=objc)
7310pub const kHIDUsage_Csmr_ACSoftKeyRight: c_uint = 0x2A1;
7311/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acdesktopshowallapplications?language=objc)
7312pub const kHIDUsage_Csmr_ACDesktopShowAllApplications: c_uint = 0x2A2;
7313/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_acidlekeepalive?language=objc)
7314pub const kHIDUsage_Csmr_ACIdleKeepAlive: c_uint = 0x2B0;
7315/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_extendedkeyboardattributescollection?language=objc)
7316pub const kHIDUsage_Csmr_ExtendedKeyboardAttributesCollection: c_uint = 0x2C0;
7317/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardformfactor?language=objc)
7318pub const kHIDUsage_Csmr_KeyboardFormFactor: c_uint = 0x2C1;
7319/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardkeytype?language=objc)
7320pub const kHIDUsage_Csmr_KeyboardKeyType: c_uint = 0x2C2;
7321/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardphysicallayout?language=objc)
7322pub const kHIDUsage_Csmr_KeyboardPhysicalLayout: c_uint = 0x2C3;
7323/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_vendorspecifickeyboardphysicallayout?language=objc)
7324pub const kHIDUsage_Csmr_VendorSpecificKeyboardPhysicalLayout: c_uint = 0x2C4;
7325/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardietflanguagetagindex?language=objc)
7326pub const kHIDUsage_Csmr_KeyboardIETFLanguageTagIndex: c_uint = 0x2C5;
7327/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_implementedkeyboardinputassistcontrols?language=objc)
7328pub const kHIDUsage_Csmr_ImplementedKeyboardInputAssistControls: c_uint = 0x2C6;
7329/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardinputassistprevious?language=objc)
7330pub const kHIDUsage_Csmr_KeyboardInputAssistPrevious: c_uint = 0x2C7;
7331/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardinputassistnext?language=objc)
7332pub const kHIDUsage_Csmr_KeyboardInputAssistNext: c_uint = 0x2C8;
7333/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardinputassistpreviousgroup?language=objc)
7334pub const kHIDUsage_Csmr_KeyboardInputAssistPreviousGroup: c_uint = 0x2C9;
7335/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardinputassistnextgroup?language=objc)
7336pub const kHIDUsage_Csmr_KeyboardInputAssistNextGroup: c_uint = 0x2CA;
7337/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardinputassistaccept?language=objc)
7338pub const kHIDUsage_Csmr_KeyboardInputAssistAccept: c_uint = 0x2CB;
7339/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_keyboardinputassistcancel?language=objc)
7340pub const kHIDUsage_Csmr_KeyboardInputAssistCancel: c_uint = 0x2CC;
7341/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactedited?language=objc)
7342pub const kHIDUsage_Csmr_ContactEdited: c_uint = 0x500;
7343/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactadded?language=objc)
7344pub const kHIDUsage_Csmr_ContactAdded: c_uint = 0x501;
7345/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactrecordactive?language=objc)
7346pub const kHIDUsage_Csmr_ContactRecordActive: c_uint = 0x502;
7347/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactindex?language=objc)
7348pub const kHIDUsage_Csmr_ContactIndex: c_uint = 0x503;
7349/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactnickname?language=objc)
7350pub const kHIDUsage_Csmr_ContactNickname: c_uint = 0x504;
7351/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactfirstname?language=objc)
7352pub const kHIDUsage_Csmr_ContactFirstName: c_uint = 0x505;
7353/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactlastname?language=objc)
7354pub const kHIDUsage_Csmr_ContactLastName: c_uint = 0x506;
7355/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactfullname?language=objc)
7356pub const kHIDUsage_Csmr_ContactFullName: c_uint = 0x507;
7357/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactphonenumberpersonal?language=objc)
7358pub const kHIDUsage_Csmr_ContactPhoneNumberPersonal: c_uint = 0x508;
7359/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactphonenumberbusiness?language=objc)
7360pub const kHIDUsage_Csmr_ContactPhoneNumberBusiness: c_uint = 0x509;
7361/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactphonenumbermobile?language=objc)
7362pub const kHIDUsage_Csmr_ContactPhoneNumberMobile: c_uint = 0x50A;
7363/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactphonenumberpager?language=objc)
7364pub const kHIDUsage_Csmr_ContactPhoneNumberPager: c_uint = 0x50B;
7365/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactphonenumberfax?language=objc)
7366pub const kHIDUsage_Csmr_ContactPhoneNumberFax: c_uint = 0x50C;
7367/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactphonenumberother?language=objc)
7368pub const kHIDUsage_Csmr_ContactPhoneNumberOther: c_uint = 0x50D;
7369/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactemailpersonal?language=objc)
7370pub const kHIDUsage_Csmr_ContactEmailPersonal: c_uint = 0x50E;
7371/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactemailbusiness?language=objc)
7372pub const kHIDUsage_Csmr_ContactEmailBusiness: c_uint = 0x50F;
7373/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactemailother?language=objc)
7374pub const kHIDUsage_Csmr_ContactEmailOther: c_uint = 0x510;
7375/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactemailmain?language=objc)
7376pub const kHIDUsage_Csmr_ContactEmailMain: c_uint = 0x511;
7377/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactspeeddialnumber?language=objc)
7378pub const kHIDUsage_Csmr_ContactSpeedDialNumber: c_uint = 0x512;
7379/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactstatusflag?language=objc)
7380pub const kHIDUsage_Csmr_ContactStatusFlag: c_uint = 0x513;
7381/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_contactmisc?language=objc)
7382pub const kHIDUsage_Csmr_ContactMisc: c_uint = 0x514;
7383/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_csmr_reserved?language=objc)
7384pub const kHIDUsage_Csmr_Reserved: c_uint = 0xFFFF;
7385
7386/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_digitizer?language=objc)
7387pub const kHIDUsage_Dig_Digitizer: c_uint = 0x01;
7388/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_pen?language=objc)
7389pub const kHIDUsage_Dig_Pen: c_uint = 0x02;
7390/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_lightpen?language=objc)
7391pub const kHIDUsage_Dig_LightPen: c_uint = 0x03;
7392/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_touchscreen?language=objc)
7393pub const kHIDUsage_Dig_TouchScreen: c_uint = 0x04;
7394/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_touchpad?language=objc)
7395pub const kHIDUsage_Dig_TouchPad: c_uint = 0x05;
7396/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_whiteboard?language=objc)
7397pub const kHIDUsage_Dig_WhiteBoard: c_uint = 0x06;
7398/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_coordinatemeasuringmachine?language=objc)
7399pub const kHIDUsage_Dig_CoordinateMeasuringMachine: c_uint = 0x07;
7400/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_3ddigitizer?language=objc)
7401pub const kHIDUsage_Dig_3DDigitizer: c_uint = 0x08;
7402/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_stereoplotter?language=objc)
7403pub const kHIDUsage_Dig_StereoPlotter: c_uint = 0x09;
7404/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_articulatedarm?language=objc)
7405pub const kHIDUsage_Dig_ArticulatedArm: c_uint = 0x0A;
7406/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_armature?language=objc)
7407pub const kHIDUsage_Dig_Armature: c_uint = 0x0B;
7408/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_multiplepointdigitizer?language=objc)
7409pub const kHIDUsage_Dig_MultiplePointDigitizer: c_uint = 0x0C;
7410/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_freespacewand?language=objc)
7411pub const kHIDUsage_Dig_FreeSpaceWand: c_uint = 0x0D;
7412/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_deviceconfiguration?language=objc)
7413pub const kHIDUsage_Dig_DeviceConfiguration: c_uint = 0x0E;
7414/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_capacitiveheatmapdigitizer?language=objc)
7415pub const kHIDUsage_Dig_CapacitiveHeatMapDigitizer: c_uint = 0x0F;
7416/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_stylus?language=objc)
7417pub const kHIDUsage_Dig_Stylus: c_uint = 0x20;
7418/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_puck?language=objc)
7419pub const kHIDUsage_Dig_Puck: c_uint = 0x21;
7420/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_finger?language=objc)
7421pub const kHIDUsage_Dig_Finger: c_uint = 0x22;
7422/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_devicesettings?language=objc)
7423pub const kHIDUsage_Dig_DeviceSettings: c_uint = 0x23;
7424/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_gesturecharacter?language=objc)
7425pub const kHIDUsage_Dig_GestureCharacter: c_uint = 0x24;
7426/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_tippressure?language=objc)
7427pub const kHIDUsage_Dig_TipPressure: c_uint = 0x30;
7428/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_barrelpressure?language=objc)
7429pub const kHIDUsage_Dig_BarrelPressure: c_uint = 0x31;
7430/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_inrange?language=objc)
7431pub const kHIDUsage_Dig_InRange: c_uint = 0x32;
7432/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_touch?language=objc)
7433pub const kHIDUsage_Dig_Touch: c_uint = 0x33;
7434/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_untouch?language=objc)
7435pub const kHIDUsage_Dig_Untouch: c_uint = 0x34;
7436/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_tap?language=objc)
7437pub const kHIDUsage_Dig_Tap: c_uint = 0x35;
7438/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_quality?language=objc)
7439pub const kHIDUsage_Dig_Quality: c_uint = 0x36;
7440/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_datavalid?language=objc)
7441pub const kHIDUsage_Dig_DataValid: c_uint = 0x37;
7442/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_transducerindex?language=objc)
7443pub const kHIDUsage_Dig_TransducerIndex: c_uint = 0x38;
7444/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_tabletfunctionkeys?language=objc)
7445pub const kHIDUsage_Dig_TabletFunctionKeys: c_uint = 0x39;
7446/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_programchangekeys?language=objc)
7447pub const kHIDUsage_Dig_ProgramChangeKeys: c_uint = 0x3A;
7448/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_batterystrength?language=objc)
7449pub const kHIDUsage_Dig_BatteryStrength: c_uint = 0x3B;
7450/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_invert?language=objc)
7451pub const kHIDUsage_Dig_Invert: c_uint = 0x3C;
7452/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_xtilt?language=objc)
7453pub const kHIDUsage_Dig_XTilt: c_uint = 0x3D;
7454/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_ytilt?language=objc)
7455pub const kHIDUsage_Dig_YTilt: c_uint = 0x3E;
7456/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_azimuth?language=objc)
7457pub const kHIDUsage_Dig_Azimuth: c_uint = 0x3F;
7458/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_altitude?language=objc)
7459pub const kHIDUsage_Dig_Altitude: c_uint = 0x40;
7460/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_twist?language=objc)
7461pub const kHIDUsage_Dig_Twist: c_uint = 0x41;
7462/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_tipswitch?language=objc)
7463pub const kHIDUsage_Dig_TipSwitch: c_uint = 0x42;
7464/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_secondarytipswitch?language=objc)
7465pub const kHIDUsage_Dig_SecondaryTipSwitch: c_uint = 0x43;
7466/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_barrelswitch?language=objc)
7467pub const kHIDUsage_Dig_BarrelSwitch: c_uint = 0x44;
7468/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_eraser?language=objc)
7469pub const kHIDUsage_Dig_Eraser: c_uint = 0x45;
7470/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_tabletpick?language=objc)
7471pub const kHIDUsage_Dig_TabletPick: c_uint = 0x46;
7472/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_touchvalid?language=objc)
7473pub const kHIDUsage_Dig_TouchValid: c_uint = 0x47;
7474/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_width?language=objc)
7475pub const kHIDUsage_Dig_Width: c_uint = 0x48;
7476/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_height?language=objc)
7477pub const kHIDUsage_Dig_Height: c_uint = 0x49;
7478/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_contactidentifier?language=objc)
7479pub const kHIDUsage_Dig_ContactIdentifier: c_uint = 0x51;
7480/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_devicemode?language=objc)
7481pub const kHIDUsage_Dig_DeviceMode: c_uint = 0x52;
7482/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_deviceidentifier?language=objc)
7483pub const kHIDUsage_Dig_DeviceIdentifier: c_uint = 0x53;
7484/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_contactcount?language=objc)
7485pub const kHIDUsage_Dig_ContactCount: c_uint = 0x54;
7486/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_contactcountmaximum?language=objc)
7487pub const kHIDUsage_Dig_ContactCountMaximum: c_uint = 0x55;
7488/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_relativescantime?language=objc)
7489pub const kHIDUsage_Dig_RelativeScanTime: c_uint = 0x56;
7490/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_surfaceswitch?language=objc)
7491pub const kHIDUsage_Dig_SurfaceSwitch: c_uint = 0x57;
7492/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_gesturecharacterenable?language=objc)
7493pub const kHIDUsage_Dig_GestureCharacterEnable: c_uint = 0x60;
7494/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_gesturecharacterquality?language=objc)
7495pub const kHIDUsage_Dig_GestureCharacterQuality: c_uint = 0x61;
7496/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_gesturecharacterdatalength?language=objc)
7497pub const kHIDUsage_Dig_GestureCharacterDataLength: c_uint = 0x62;
7498/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_gesturecharacterdata?language=objc)
7499pub const kHIDUsage_Dig_GestureCharacterData: c_uint = 0x63;
7500/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_gesturecharacterencoding?language=objc)
7501pub const kHIDUsage_Dig_GestureCharacterEncoding: c_uint = 0x64;
7502/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_gesturecharacterencodingutf8?language=objc)
7503pub const kHIDUsage_Dig_GestureCharacterEncodingUTF8: c_uint = 0x65;
7504/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_gesturecharacterencodingutf16le?language=objc)
7505pub const kHIDUsage_Dig_GestureCharacterEncodingUTF16LE: c_uint = 0x66;
7506/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_gesturecharacterencodingutf16be?language=objc)
7507pub const kHIDUsage_Dig_GestureCharacterEncodingUTF16BE: c_uint = 0x67;
7508/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_gesturecharacterencodingutf32le?language=objc)
7509pub const kHIDUsage_Dig_GestureCharacterEncodingUTF32LE: c_uint = 0x68;
7510/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_gesturecharacterencodingutf32be?language=objc)
7511pub const kHIDUsage_Dig_GestureCharacterEncodingUTF32BE: c_uint = 0x69;
7512/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_capacitiveheatmapprotocolvendorid?language=objc)
7513pub const kHIDUsage_Dig_CapacitiveHeatMapProtocolVendorID: c_uint = 0x6A;
7514/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_capacitiveheatmapprotocolversion?language=objc)
7515pub const kHIDUsage_Dig_CapacitiveHeatMapProtocolVersion: c_uint = 0x6B;
7516/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_capacitiveheatmapframedata?language=objc)
7517pub const kHIDUsage_Dig_CapacitiveHeatMapFrameData: c_uint = 0x6C;
7518/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_reportrate?language=objc)
7519pub const kHIDUsage_Dig_ReportRate: c_uint = 0xA1;
7520/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_dig_reserved?language=objc)
7521pub const kHIDUsage_Dig_Reserved: c_uint = 0xFFFF;
7522
7523/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_simplehapticcontroller?language=objc)
7524pub const kHIDUsage_Haptics_SimpleHapticController: c_uint = 0x0001;
7525/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_waveformlist?language=objc)
7526pub const kHIDUsage_Haptics_WaveformList: c_uint = 0x0010;
7527/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_durationlist?language=objc)
7528pub const kHIDUsage_Haptics_DurationList: c_uint = 0x0011;
7529/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_autotrigger?language=objc)
7530pub const kHIDUsage_Haptics_AutoTrigger: c_uint = 0x0020;
7531/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_manualtrigger?language=objc)
7532pub const kHIDUsage_Haptics_ManualTrigger: c_uint = 0x0021;
7533/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_autotriggerassociatedcontrol?language=objc)
7534pub const kHIDUsage_Haptics_AutoTriggerAssociatedControl: c_uint = 0x0022;
7535/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_intensity?language=objc)
7536pub const kHIDUsage_Haptics_Intensity: c_uint = 0x0023;
7537/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_repeatcount?language=objc)
7538pub const kHIDUsage_Haptics_RepeatCount: c_uint = 0x0024;
7539/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_retriggerperiod?language=objc)
7540pub const kHIDUsage_Haptics_RetriggerPeriod: c_uint = 0x0025;
7541/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_waveformvendorpage?language=objc)
7542pub const kHIDUsage_Haptics_WaveformVendorPage: c_uint = 0x0026;
7543/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_waveformvendorid?language=objc)
7544pub const kHIDUsage_Haptics_WaveformVendorID: c_uint = 0x0027;
7545/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_waveformcutofftime?language=objc)
7546pub const kHIDUsage_Haptics_WaveformCutoffTime: c_uint = 0x0028;
7547/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_waveformnone?language=objc)
7548pub const kHIDUsage_Haptics_WaveformNone: c_uint = 0x1001;
7549/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_waveformstop?language=objc)
7550pub const kHIDUsage_Haptics_WaveformStop: c_uint = 0x1002;
7551/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_waveformclick?language=objc)
7552pub const kHIDUsage_Haptics_WaveformClick: c_uint = 0x1003;
7553/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_waveformbuzzcontinuous?language=objc)
7554pub const kHIDUsage_Haptics_WaveformBuzzContinuous: c_uint = 0x1004;
7555/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_waveformrumblecontinuous?language=objc)
7556pub const kHIDUsage_Haptics_WaveformRumbleContinuous: c_uint = 0x1005;
7557/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_waveformpress?language=objc)
7558pub const kHIDUsage_Haptics_WaveformPress: c_uint = 0x1006;
7559/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_waveformrelease?language=objc)
7560pub const kHIDUsage_Haptics_WaveformRelease: c_uint = 0x1007;
7561/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_vendorwaveformfirst?language=objc)
7562pub const kHIDUsage_Haptics_VendorWaveformFirst: c_uint = 0x2001;
7563/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_haptics_vendorwaveformlast?language=objc)
7564pub const kHIDUsage_Haptics_VendorWaveformLast: c_uint = 0x2FFF;
7565
7566/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_physicalinterfacedevice?language=objc)
7567pub const kHIDUsage_PID_PhysicalInterfaceDevice: c_uint = 0x01;
7568/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_normal?language=objc)
7569pub const kHIDUsage_PID_Normal: c_uint = 0x20;
7570/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_seteffectreport?language=objc)
7571pub const kHIDUsage_PID_SetEffectReport: c_uint = 0x21;
7572/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_effectblockindex?language=objc)
7573pub const kHIDUsage_PID_EffectBlockIndex: c_uint = 0x22;
7574/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_paramblockoffset?language=objc)
7575pub const kHIDUsage_PID_ParamBlockOffset: c_uint = 0x23;
7576/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_rom_flag?language=objc)
7577pub const kHIDUsage_PID_ROM_Flag: c_uint = 0x24;
7578/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_effecttype?language=objc)
7579pub const kHIDUsage_PID_EffectType: c_uint = 0x25;
7580/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_constantforce?language=objc)
7581pub const kHIDUsage_PID_ET_ConstantForce: c_uint = 0x26;
7582/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_ramp?language=objc)
7583pub const kHIDUsage_PID_ET_Ramp: c_uint = 0x27;
7584/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_customforcedata?language=objc)
7585pub const kHIDUsage_PID_ET_CustomForceData: c_uint = 0x28;
7586/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_square?language=objc)
7587pub const kHIDUsage_PID_ET_Square: c_uint = 0x30;
7588/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_sine?language=objc)
7589pub const kHIDUsage_PID_ET_Sine: c_uint = 0x31;
7590/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_triangle?language=objc)
7591pub const kHIDUsage_PID_ET_Triangle: c_uint = 0x32;
7592/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_sawtoothup?language=objc)
7593pub const kHIDUsage_PID_ET_SawtoothUp: c_uint = 0x33;
7594/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_sawtoothdown?language=objc)
7595pub const kHIDUsage_PID_ET_SawtoothDown: c_uint = 0x34;
7596/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_spring?language=objc)
7597pub const kHIDUsage_PID_ET_Spring: c_uint = 0x40;
7598/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_damper?language=objc)
7599pub const kHIDUsage_PID_ET_Damper: c_uint = 0x41;
7600/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_inertia?language=objc)
7601pub const kHIDUsage_PID_ET_Inertia: c_uint = 0x42;
7602/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_et_friction?language=objc)
7603pub const kHIDUsage_PID_ET_Friction: c_uint = 0x43;
7604/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_duration?language=objc)
7605pub const kHIDUsage_PID_Duration: c_uint = 0x50;
7606/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_sampleperiod?language=objc)
7607pub const kHIDUsage_PID_SamplePeriod: c_uint = 0x51;
7608/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_gain?language=objc)
7609pub const kHIDUsage_PID_Gain: c_uint = 0x52;
7610/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_triggerbutton?language=objc)
7611pub const kHIDUsage_PID_TriggerButton: c_uint = 0x53;
7612/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_triggerrepeatinterval?language=objc)
7613pub const kHIDUsage_PID_TriggerRepeatInterval: c_uint = 0x54;
7614/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_axesenable?language=objc)
7615pub const kHIDUsage_PID_AxesEnable: c_uint = 0x55;
7616/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_directionenable?language=objc)
7617pub const kHIDUsage_PID_DirectionEnable: c_uint = 0x56;
7618/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_direction?language=objc)
7619pub const kHIDUsage_PID_Direction: c_uint = 0x57;
7620/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_typespecificblockoffset?language=objc)
7621pub const kHIDUsage_PID_TypeSpecificBlockOffset: c_uint = 0x58;
7622/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_blocktype?language=objc)
7623pub const kHIDUsage_PID_BlockType: c_uint = 0x59;
7624/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_setenvelopereport?language=objc)
7625pub const kHIDUsage_PID_SetEnvelopeReport: c_uint = 0x5A;
7626/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_attacklevel?language=objc)
7627pub const kHIDUsage_PID_AttackLevel: c_uint = 0x5B;
7628/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_attacktime?language=objc)
7629pub const kHIDUsage_PID_AttackTime: c_uint = 0x5C;
7630/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_fadelevel?language=objc)
7631pub const kHIDUsage_PID_FadeLevel: c_uint = 0x5D;
7632/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_fadetime?language=objc)
7633pub const kHIDUsage_PID_FadeTime: c_uint = 0x5E;
7634/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_setconditionreport?language=objc)
7635pub const kHIDUsage_PID_SetConditionReport: c_uint = 0x5F;
7636/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_cp_offset?language=objc)
7637pub const kHIDUsage_PID_CP_Offset: c_uint = 0x60;
7638/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_positivecoefficient?language=objc)
7639pub const kHIDUsage_PID_PositiveCoefficient: c_uint = 0x61;
7640/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_negativecoefficient?language=objc)
7641pub const kHIDUsage_PID_NegativeCoefficient: c_uint = 0x62;
7642/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_positivesaturation?language=objc)
7643pub const kHIDUsage_PID_PositiveSaturation: c_uint = 0x63;
7644/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_negativesaturation?language=objc)
7645pub const kHIDUsage_PID_NegativeSaturation: c_uint = 0x64;
7646/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_deadband?language=objc)
7647pub const kHIDUsage_PID_DeadBand: c_uint = 0x65;
7648/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_downloadforcesample?language=objc)
7649pub const kHIDUsage_PID_DownloadForceSample: c_uint = 0x66;
7650/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_isochcustomforceenable?language=objc)
7651pub const kHIDUsage_PID_IsochCustomForceEnable: c_uint = 0x67;
7652/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_customforcedatareport?language=objc)
7653pub const kHIDUsage_PID_CustomForceDataReport: c_uint = 0x68;
7654/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_customforcedata?language=objc)
7655pub const kHIDUsage_PID_CustomForceData: c_uint = 0x69;
7656/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_customforcevendordefineddata?language=objc)
7657pub const kHIDUsage_PID_CustomForceVendorDefinedData: c_uint = 0x6A;
7658/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_setcustomforcereport?language=objc)
7659pub const kHIDUsage_PID_SetCustomForceReport: c_uint = 0x6B;
7660/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_customforcedataoffset?language=objc)
7661pub const kHIDUsage_PID_CustomForceDataOffset: c_uint = 0x6C;
7662/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_samplecount?language=objc)
7663pub const kHIDUsage_PID_SampleCount: c_uint = 0x6D;
7664/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_setperiodicreport?language=objc)
7665pub const kHIDUsage_PID_SetPeriodicReport: c_uint = 0x6E;
7666/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_offset?language=objc)
7667pub const kHIDUsage_PID_Offset: c_uint = 0x6F;
7668/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_magnitude?language=objc)
7669pub const kHIDUsage_PID_Magnitude: c_uint = 0x70;
7670/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_phase?language=objc)
7671pub const kHIDUsage_PID_Phase: c_uint = 0x71;
7672/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_period?language=objc)
7673pub const kHIDUsage_PID_Period: c_uint = 0x72;
7674/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_setconstantforcereport?language=objc)
7675pub const kHIDUsage_PID_SetConstantForceReport: c_uint = 0x73;
7676/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_setrampforcereport?language=objc)
7677pub const kHIDUsage_PID_SetRampForceReport: c_uint = 0x74;
7678/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_rampstart?language=objc)
7679pub const kHIDUsage_PID_RampStart: c_uint = 0x75;
7680/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_rampend?language=objc)
7681pub const kHIDUsage_PID_RampEnd: c_uint = 0x76;
7682/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_effectoperationreport?language=objc)
7683pub const kHIDUsage_PID_EffectOperationReport: c_uint = 0x77;
7684/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_effectoperation?language=objc)
7685pub const kHIDUsage_PID_EffectOperation: c_uint = 0x78;
7686/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_opeffectstart?language=objc)
7687pub const kHIDUsage_PID_OpEffectStart: c_uint = 0x79;
7688/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_opeffectstartsolo?language=objc)
7689pub const kHIDUsage_PID_OpEffectStartSolo: c_uint = 0x7A;
7690/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_opeffectstop?language=objc)
7691pub const kHIDUsage_PID_OpEffectStop: c_uint = 0x7B;
7692/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_loopcount?language=objc)
7693pub const kHIDUsage_PID_LoopCount: c_uint = 0x7C;
7694/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_devicegainreport?language=objc)
7695pub const kHIDUsage_PID_DeviceGainReport: c_uint = 0x7D;
7696/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_devicegain?language=objc)
7697pub const kHIDUsage_PID_DeviceGain: c_uint = 0x7E;
7698/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_poolreport?language=objc)
7699pub const kHIDUsage_PID_PoolReport: c_uint = 0x7F;
7700/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_ram_poolsize?language=objc)
7701pub const kHIDUsage_PID_RAM_PoolSize: c_uint = 0x80;
7702/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_rom_poolsize?language=objc)
7703pub const kHIDUsage_PID_ROM_PoolSize: c_uint = 0x81;
7704/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_rom_effectblockcount?language=objc)
7705pub const kHIDUsage_PID_ROM_EffectBlockCount: c_uint = 0x82;
7706/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_simultaneouseffectsmax?language=objc)
7707pub const kHIDUsage_PID_SimultaneousEffectsMax: c_uint = 0x83;
7708/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_poolalignment?language=objc)
7709pub const kHIDUsage_PID_PoolAlignment: c_uint = 0x84;
7710/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_poolmovereport?language=objc)
7711pub const kHIDUsage_PID_PoolMoveReport: c_uint = 0x85;
7712/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_movesource?language=objc)
7713pub const kHIDUsage_PID_MoveSource: c_uint = 0x86;
7714/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_movedestination?language=objc)
7715pub const kHIDUsage_PID_MoveDestination: c_uint = 0x87;
7716/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_movelength?language=objc)
7717pub const kHIDUsage_PID_MoveLength: c_uint = 0x88;
7718/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_blockloadreport?language=objc)
7719pub const kHIDUsage_PID_BlockLoadReport: c_uint = 0x89;
7720/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_blockloadstatus?language=objc)
7721pub const kHIDUsage_PID_BlockLoadStatus: c_uint = 0x8B;
7722/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_blockloadsuccess?language=objc)
7723pub const kHIDUsage_PID_BlockLoadSuccess: c_uint = 0x8C;
7724/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_blockloadfull?language=objc)
7725pub const kHIDUsage_PID_BlockLoadFull: c_uint = 0x8D;
7726/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_blockloaderror?language=objc)
7727pub const kHIDUsage_PID_BlockLoadError: c_uint = 0x8E;
7728/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_blockhandle?language=objc)
7729pub const kHIDUsage_PID_BlockHandle: c_uint = 0x8F;
7730/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_blockfreereport?language=objc)
7731pub const kHIDUsage_PID_BlockFreeReport: c_uint = 0x90;
7732/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_typespecificblockhandle?language=objc)
7733pub const kHIDUsage_PID_TypeSpecificBlockHandle: c_uint = 0x91;
7734/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_statereport?language=objc)
7735pub const kHIDUsage_PID_StateReport: c_uint = 0x92;
7736/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_effectplaying?language=objc)
7737pub const kHIDUsage_PID_EffectPlaying: c_uint = 0x94;
7738/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_devicecontrolreport?language=objc)
7739pub const kHIDUsage_PID_DeviceControlReport: c_uint = 0x95;
7740/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_devicecontrol?language=objc)
7741pub const kHIDUsage_PID_DeviceControl: c_uint = 0x96;
7742/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_dc_enableactuators?language=objc)
7743pub const kHIDUsage_PID_DC_EnableActuators: c_uint = 0x97;
7744/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_dc_disableactuators?language=objc)
7745pub const kHIDUsage_PID_DC_DisableActuators: c_uint = 0x98;
7746/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_dc_stopalleffects?language=objc)
7747pub const kHIDUsage_PID_DC_StopAllEffects: c_uint = 0x99;
7748/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_dc_devicereset?language=objc)
7749pub const kHIDUsage_PID_DC_DeviceReset: c_uint = 0x9A;
7750/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_dc_devicepause?language=objc)
7751pub const kHIDUsage_PID_DC_DevicePause: c_uint = 0x9B;
7752/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_dc_devicecontinue?language=objc)
7753pub const kHIDUsage_PID_DC_DeviceContinue: c_uint = 0x9C;
7754/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_devicepaused?language=objc)
7755pub const kHIDUsage_PID_DevicePaused: c_uint = 0x9F;
7756/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_actuatorsenabled?language=objc)
7757pub const kHIDUsage_PID_ActuatorsEnabled: c_uint = 0xA0;
7758/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_safetyswitch?language=objc)
7759pub const kHIDUsage_PID_SafetySwitch: c_uint = 0xA4;
7760/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_actuatoroverrideswitch?language=objc)
7761pub const kHIDUsage_PID_ActuatorOverrideSwitch: c_uint = 0xA5;
7762/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_actuatorpower?language=objc)
7763pub const kHIDUsage_PID_ActuatorPower: c_uint = 0xA6;
7764/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_startdelay?language=objc)
7765pub const kHIDUsage_PID_StartDelay: c_uint = 0xA7;
7766/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_parameterblocksize?language=objc)
7767pub const kHIDUsage_PID_ParameterBlockSize: c_uint = 0xA8;
7768/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_devicemanagedpool?language=objc)
7769pub const kHIDUsage_PID_DeviceManagedPool: c_uint = 0xA9;
7770/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_sharedparameterblocks?language=objc)
7771pub const kHIDUsage_PID_SharedParameterBlocks: c_uint = 0xAA;
7772/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_createneweffectreport?language=objc)
7773pub const kHIDUsage_PID_CreateNewEffectReport: c_uint = 0xAB;
7774/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_ram_poolavailable?language=objc)
7775pub const kHIDUsage_PID_RAM_PoolAvailable: c_uint = 0xAC;
7776/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pid_reserved?language=objc)
7777pub const kHIDUsage_PID_Reserved: c_uint = 0xFFFF;
7778
7779/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_alphanumericdisplay?language=objc)
7780pub const kHIDUsage_AD_AlphanumericDisplay: c_uint = 0x01;
7781/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_displayattributesreport?language=objc)
7782pub const kHIDUsage_AD_DisplayAttributesReport: c_uint = 0x20;
7783/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_asciicharacterset?language=objc)
7784pub const kHIDUsage_AD_ASCIICharacterSet: c_uint = 0x21;
7785/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_datareadback?language=objc)
7786pub const kHIDUsage_AD_DataReadBack: c_uint = 0x22;
7787/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_fontreadback?language=objc)
7788pub const kHIDUsage_AD_FontReadBack: c_uint = 0x23;
7789/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_displaycontrolreport?language=objc)
7790pub const kHIDUsage_AD_DisplayControlReport: c_uint = 0x24;
7791/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_cleardisplay?language=objc)
7792pub const kHIDUsage_AD_ClearDisplay: c_uint = 0x25;
7793/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_displayenable?language=objc)
7794pub const kHIDUsage_AD_DisplayEnable: c_uint = 0x26;
7795/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_screensaverdelay?language=objc)
7796pub const kHIDUsage_AD_ScreenSaverDelay: c_uint = 0x27;
7797/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_screensaverenable?language=objc)
7798pub const kHIDUsage_AD_ScreenSaverEnable: c_uint = 0x28;
7799/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_verticalscroll?language=objc)
7800pub const kHIDUsage_AD_VerticalScroll: c_uint = 0x29;
7801/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_horizontalscroll?language=objc)
7802pub const kHIDUsage_AD_HorizontalScroll: c_uint = 0x2A;
7803/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_characterreport?language=objc)
7804pub const kHIDUsage_AD_CharacterReport: c_uint = 0x2B;
7805/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_displaydata?language=objc)
7806pub const kHIDUsage_AD_DisplayData: c_uint = 0x2C;
7807/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_displaystatus?language=objc)
7808pub const kHIDUsage_AD_DisplayStatus: c_uint = 0x2D;
7809/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_statnotready?language=objc)
7810pub const kHIDUsage_AD_StatNotReady: c_uint = 0x2E;
7811/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_statready?language=objc)
7812pub const kHIDUsage_AD_StatReady: c_uint = 0x2F;
7813/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_errnotaloadablecharacter?language=objc)
7814pub const kHIDUsage_AD_ErrNotaloadablecharacter: c_uint = 0x30;
7815/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_errfontdatacannotberead?language=objc)
7816pub const kHIDUsage_AD_ErrFontdatacannotberead: c_uint = 0x31;
7817/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_cursorpositionreport?language=objc)
7818pub const kHIDUsage_AD_CursorPositionReport: c_uint = 0x32;
7819/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_row?language=objc)
7820pub const kHIDUsage_AD_Row: c_uint = 0x33;
7821/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_column?language=objc)
7822pub const kHIDUsage_AD_Column: c_uint = 0x34;
7823/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_rows?language=objc)
7824pub const kHIDUsage_AD_Rows: c_uint = 0x35;
7825/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_columns?language=objc)
7826pub const kHIDUsage_AD_Columns: c_uint = 0x36;
7827/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_cursorpixelpositioning?language=objc)
7828pub const kHIDUsage_AD_CursorPixelPositioning: c_uint = 0x37;
7829/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_cursormode?language=objc)
7830pub const kHIDUsage_AD_CursorMode: c_uint = 0x38;
7831/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_cursorenable?language=objc)
7832pub const kHIDUsage_AD_CursorEnable: c_uint = 0x39;
7833/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_cursorblink?language=objc)
7834pub const kHIDUsage_AD_CursorBlink: c_uint = 0x3A;
7835/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_fontreport?language=objc)
7836pub const kHIDUsage_AD_FontReport: c_uint = 0x3B;
7837/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_fontdata?language=objc)
7838pub const kHIDUsage_AD_FontData: c_uint = 0x3C;
7839/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_characterwidth?language=objc)
7840pub const kHIDUsage_AD_CharacterWidth: c_uint = 0x3D;
7841/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_characterheight?language=objc)
7842pub const kHIDUsage_AD_CharacterHeight: c_uint = 0x3E;
7843/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_characterspacinghorizontal?language=objc)
7844pub const kHIDUsage_AD_CharacterSpacingHorizontal: c_uint = 0x3F;
7845/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_characterspacingvertical?language=objc)
7846pub const kHIDUsage_AD_CharacterSpacingVertical: c_uint = 0x40;
7847/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_unicodecharacterset?language=objc)
7848pub const kHIDUsage_AD_UnicodeCharacterSet: c_uint = 0x41;
7849/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_ad_reserved?language=objc)
7850pub const kHIDUsage_AD_Reserved: c_uint = 0xFFFF;
7851
7852/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_undefined?language=objc)
7853pub const kHIDUsage_Snsr_Undefined: c_uint = 0x00;
7854/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_sensor?language=objc)
7855pub const kHIDUsage_Snsr_Sensor: c_uint = 0x01;
7856/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_biometric?language=objc)
7857pub const kHIDUsage_Snsr_Biometric: c_uint = 0x10;
7858/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_biometric_humanpresence?language=objc)
7859pub const kHIDUsage_Snsr_Biometric_HumanPresence: c_uint = 0x11;
7860/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_biometric_humanproximity?language=objc)
7861pub const kHIDUsage_Snsr_Biometric_HumanProximity: c_uint = 0x12;
7862/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_biometric_humantouch?language=objc)
7863pub const kHIDUsage_Snsr_Biometric_HumanTouch: c_uint = 0x13;
7864/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_biometric_heartrate?language=objc)
7865pub const kHIDUsage_Snsr_Biometric_HeartRate: c_uint = 0x16;
7866/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_electrical?language=objc)
7867pub const kHIDUsage_Snsr_Electrical: c_uint = 0x20;
7868/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_electrical_capacitance?language=objc)
7869pub const kHIDUsage_Snsr_Electrical_Capacitance: c_uint = 0x21;
7870/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_electrical_current?language=objc)
7871pub const kHIDUsage_Snsr_Electrical_Current: c_uint = 0x22;
7872/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_electrical_power?language=objc)
7873pub const kHIDUsage_Snsr_Electrical_Power: c_uint = 0x23;
7874/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_electrical_inductance?language=objc)
7875pub const kHIDUsage_Snsr_Electrical_Inductance: c_uint = 0x24;
7876/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_electrical_resistance?language=objc)
7877pub const kHIDUsage_Snsr_Electrical_Resistance: c_uint = 0x25;
7878/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_electrical_voltage?language=objc)
7879pub const kHIDUsage_Snsr_Electrical_Voltage: c_uint = 0x26;
7880/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_electrical_potentiometer?language=objc)
7881pub const kHIDUsage_Snsr_Electrical_Potentiometer: c_uint = 0x27;
7882/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_electrical_frequency?language=objc)
7883pub const kHIDUsage_Snsr_Electrical_Frequency: c_uint = 0x28;
7884/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_electrical_period?language=objc)
7885pub const kHIDUsage_Snsr_Electrical_Period: c_uint = 0x29;
7886/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_environmental?language=objc)
7887pub const kHIDUsage_Snsr_Environmental: c_uint = 0x30;
7888/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_environmental_atmosphericpressure?language=objc)
7889pub const kHIDUsage_Snsr_Environmental_AtmosphericPressure: c_uint = 0x31;
7890/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_environmental_humidity?language=objc)
7891pub const kHIDUsage_Snsr_Environmental_Humidity: c_uint = 0x32;
7892/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_environmental_temperature?language=objc)
7893pub const kHIDUsage_Snsr_Environmental_Temperature: c_uint = 0x33;
7894/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_environmental_winddirection?language=objc)
7895pub const kHIDUsage_Snsr_Environmental_WindDirection: c_uint = 0x34;
7896/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_environmental_windspeed?language=objc)
7897pub const kHIDUsage_Snsr_Environmental_WindSpeed: c_uint = 0x35;
7898/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_light?language=objc)
7899pub const kHIDUsage_Snsr_Light: c_uint = 0x40;
7900/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_light_ambientlight?language=objc)
7901pub const kHIDUsage_Snsr_Light_AmbientLight: c_uint = 0x41;
7902/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_light_consumerinfrared?language=objc)
7903pub const kHIDUsage_Snsr_Light_ConsumerInfrared: c_uint = 0x42;
7904/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_location?language=objc)
7905pub const kHIDUsage_Snsr_Location: c_uint = 0x50;
7906/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_location_broadcast?language=objc)
7907pub const kHIDUsage_Snsr_Location_Broadcast: c_uint = 0x51;
7908/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_location_deadreckoning?language=objc)
7909pub const kHIDUsage_Snsr_Location_DeadReckoning: c_uint = 0x52;
7910/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_location_gps?language=objc)
7911pub const kHIDUsage_Snsr_Location_GPS: c_uint = 0x53;
7912/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_location_lookup?language=objc)
7913pub const kHIDUsage_Snsr_Location_Lookup: c_uint = 0x54;
7914/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_location_other?language=objc)
7915pub const kHIDUsage_Snsr_Location_Other: c_uint = 0x55;
7916/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_location_static?language=objc)
7917pub const kHIDUsage_Snsr_Location_Static: c_uint = 0x56;
7918/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_location_triangulation?language=objc)
7919pub const kHIDUsage_Snsr_Location_Triangulation: c_uint = 0x57;
7920/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_mechanical?language=objc)
7921pub const kHIDUsage_Snsr_Mechanical: c_uint = 0x60;
7922/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_mechanical_booleanswitch?language=objc)
7923pub const kHIDUsage_Snsr_Mechanical_BooleanSwitch: c_uint = 0x61;
7924/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_mechanical_booleanswitcharray?language=objc)
7925pub const kHIDUsage_Snsr_Mechanical_BooleanSwitchArray: c_uint = 0x62;
7926/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_mechanical_multivalueswitch?language=objc)
7927pub const kHIDUsage_Snsr_Mechanical_MultivalueSwitch: c_uint = 0x63;
7928/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_mechanical_force?language=objc)
7929pub const kHIDUsage_Snsr_Mechanical_Force: c_uint = 0x64;
7930/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_mechanical_pressure?language=objc)
7931pub const kHIDUsage_Snsr_Mechanical_Pressure: c_uint = 0x65;
7932/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_mechanical_strain?language=objc)
7933pub const kHIDUsage_Snsr_Mechanical_Strain: c_uint = 0x66;
7934/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_mechanical_weight?language=objc)
7935pub const kHIDUsage_Snsr_Mechanical_Weight: c_uint = 0x67;
7936/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_mechanical_hapticvibrator?language=objc)
7937pub const kHIDUsage_Snsr_Mechanical_HapticVibrator: c_uint = 0x68;
7938/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_mechanical_halleffectswitch?language=objc)
7939pub const kHIDUsage_Snsr_Mechanical_HallEffectSwitch: c_uint = 0x69;
7940/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion?language=objc)
7941pub const kHIDUsage_Snsr_Motion: c_uint = 0x70;
7942/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_accelerometer1d?language=objc)
7943pub const kHIDUsage_Snsr_Motion_Accelerometer1D: c_uint = 0x71;
7944/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_accelerometer2d?language=objc)
7945pub const kHIDUsage_Snsr_Motion_Accelerometer2D: c_uint = 0x72;
7946/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_accelerometer3d?language=objc)
7947pub const kHIDUsage_Snsr_Motion_Accelerometer3D: c_uint = 0x73;
7948/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_gyrometer1d?language=objc)
7949pub const kHIDUsage_Snsr_Motion_Gyrometer1D: c_uint = 0x74;
7950/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_gyrometer2d?language=objc)
7951pub const kHIDUsage_Snsr_Motion_Gyrometer2D: c_uint = 0x75;
7952/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_gyrometer3d?language=objc)
7953pub const kHIDUsage_Snsr_Motion_Gyrometer3D: c_uint = 0x76;
7954/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_motiondetector?language=objc)
7955pub const kHIDUsage_Snsr_Motion_MotionDetector: c_uint = 0x77;
7956/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_speedometer?language=objc)
7957pub const kHIDUsage_Snsr_Motion_Speedometer: c_uint = 0x78;
7958/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_accelerometer?language=objc)
7959pub const kHIDUsage_Snsr_Motion_Accelerometer: c_uint = 0x79;
7960/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_gyrometer?language=objc)
7961pub const kHIDUsage_Snsr_Motion_Gyrometer: c_uint = 0x7A;
7962/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_gravityvector?language=objc)
7963pub const kHIDUsage_Snsr_Motion_GravityVector: c_uint = 0x7B;
7964/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_motion_linearaccelerometer?language=objc)
7965pub const kHIDUsage_Snsr_Motion_LinearAccelerometer: c_uint = 0x7C;
7966/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation?language=objc)
7967pub const kHIDUsage_Snsr_Orientation: c_uint = 0x80;
7968/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_compass1d?language=objc)
7969pub const kHIDUsage_Snsr_Orientation_Compass1D: c_uint = 0x81;
7970/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_compass2d?language=objc)
7971pub const kHIDUsage_Snsr_Orientation_Compass2D: c_uint = 0x82;
7972/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_compass3d?language=objc)
7973pub const kHIDUsage_Snsr_Orientation_Compass3D: c_uint = 0x83;
7974/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_inclinometer1d?language=objc)
7975pub const kHIDUsage_Snsr_Orientation_Inclinometer1D: c_uint = 0x84;
7976/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_inclinometer2d?language=objc)
7977pub const kHIDUsage_Snsr_Orientation_Inclinometer2D: c_uint = 0x85;
7978/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_inclinometer3d?language=objc)
7979pub const kHIDUsage_Snsr_Orientation_Inclinometer3D: c_uint = 0x86;
7980/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_distance1d?language=objc)
7981pub const kHIDUsage_Snsr_Orientation_Distance1D: c_uint = 0x87;
7982/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_distance2d?language=objc)
7983pub const kHIDUsage_Snsr_Orientation_Distance2D: c_uint = 0x88;
7984/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_distance3d?language=objc)
7985pub const kHIDUsage_Snsr_Orientation_Distance3D: c_uint = 0x89;
7986/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_deviceorientation?language=objc)
7987pub const kHIDUsage_Snsr_Orientation_DeviceOrientation: c_uint = 0x8A;
7988/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_compassd?language=objc)
7989pub const kHIDUsage_Snsr_Orientation_CompassD: c_uint = 0x8B;
7990/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_inclinometerd?language=objc)
7991pub const kHIDUsage_Snsr_Orientation_InclinometerD: c_uint = 0x8C;
7992/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_orientation_distanced?language=objc)
7993pub const kHIDUsage_Snsr_Orientation_DistanceD: c_uint = 0x8D;
7994/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_scanner?language=objc)
7995pub const kHIDUsage_Snsr_Scanner: c_uint = 0x90;
7996/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_scanner_barcode?language=objc)
7997pub const kHIDUsage_Snsr_Scanner_Barcode: c_uint = 0x91;
7998/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_scanner_rfid?language=objc)
7999pub const kHIDUsage_Snsr_Scanner_RFID: c_uint = 0x92;
8000/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_scanner_nfc?language=objc)
8001pub const kHIDUsage_Snsr_Scanner_NFC: c_uint = 0x93;
8002/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_time?language=objc)
8003pub const kHIDUsage_Snsr_Time: c_uint = 0xA0;
8004/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_time_alarmtimer?language=objc)
8005pub const kHIDUsage_Snsr_Time_AlarmTimer: c_uint = 0xA1;
8006/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_time_realtimeclock?language=objc)
8007pub const kHIDUsage_Snsr_Time_RealTimeClock: c_uint = 0xA2;
8008/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_other?language=objc)
8009pub const kHIDUsage_Snsr_Other: c_uint = 0xE0;
8010/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_other_custom?language=objc)
8011pub const kHIDUsage_Snsr_Other_Custom: c_uint = 0xE1;
8012/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_other_generic?language=objc)
8013pub const kHIDUsage_Snsr_Other_Generic: c_uint = 0xE2;
8014/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_other_genericenumerator?language=objc)
8015pub const kHIDUsage_Snsr_Other_GenericEnumerator: c_uint = 0xE3;
8016/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_none?language=objc)
8017pub const kHIDUsage_Snsr_Modifier_None: c_uint = 0x0;
8018/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_changesensitivityabsolute?language=objc)
8019pub const kHIDUsage_Snsr_Modifier_ChangeSensitivityAbsolute: c_uint = 0x1;
8020/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_max?language=objc)
8021pub const kHIDUsage_Snsr_Modifier_Max: c_uint = 0x2;
8022/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_min?language=objc)
8023pub const kHIDUsage_Snsr_Modifier_Min: c_uint = 0x3;
8024/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_accuracy?language=objc)
8025pub const kHIDUsage_Snsr_Modifier_Accuracy: c_uint = 0x4;
8026/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_resolution?language=objc)
8027pub const kHIDUsage_Snsr_Modifier_Resolution: c_uint = 0x5;
8028/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_thresholdhigh?language=objc)
8029pub const kHIDUsage_Snsr_Modifier_ThresholdHigh: c_uint = 0x6;
8030/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_thresholdlow?language=objc)
8031pub const kHIDUsage_Snsr_Modifier_ThresholdLow: c_uint = 0x7;
8032/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_calibrationoffset?language=objc)
8033pub const kHIDUsage_Snsr_Modifier_CalibrationOffset: c_uint = 0x8;
8034/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_calibrationmultiplier?language=objc)
8035pub const kHIDUsage_Snsr_Modifier_CalibrationMultiplier: c_uint = 0x9;
8036/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_reportinterval?language=objc)
8037pub const kHIDUsage_Snsr_Modifier_ReportInterval: c_uint = 0xA;
8038/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_frequencymax?language=objc)
8039pub const kHIDUsage_Snsr_Modifier_FrequencyMax: c_uint = 0xB;
8040/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_periodmax?language=objc)
8041pub const kHIDUsage_Snsr_Modifier_PeriodMax: c_uint = 0xC;
8042/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_changesensitivitypercentrange?language=objc)
8043pub const kHIDUsage_Snsr_Modifier_ChangeSensitivityPercentRange: c_uint = 0xD;
8044/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_changesensitivitypercentrelative?language=objc)
8045pub const kHIDUsage_Snsr_Modifier_ChangeSensitivityPercentRelative: c_uint = 0xE;
8046/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_modifier_vendordefined?language=objc)
8047pub const kHIDUsage_Snsr_Modifier_VendorDefined: c_uint = 0xF;
8048/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event?language=objc)
8049pub const kHIDUsage_Snsr_Event: c_uint = 0x0200;
8050/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorstate?language=objc)
8051pub const kHIDUsage_Snsr_Event_SensorState: c_uint = 0x0201;
8052/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent?language=objc)
8053pub const kHIDUsage_Snsr_Event_SensorEvent: c_uint = 0x0202;
8054/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorstate_undefined?language=objc)
8055pub const kHIDUsage_Snsr_Event_SensorState_Undefined: c_uint = 0x0800;
8056/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorstate_ready?language=objc)
8057pub const kHIDUsage_Snsr_Event_SensorState_Ready: c_uint = 0x0801;
8058/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorstate_notavailable?language=objc)
8059pub const kHIDUsage_Snsr_Event_SensorState_NotAvailable: c_uint = 0x0802;
8060/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorstate_nodata?language=objc)
8061pub const kHIDUsage_Snsr_Event_SensorState_NoData: c_uint = 0x0803;
8062/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorstate_initializing?language=objc)
8063pub const kHIDUsage_Snsr_Event_SensorState_Initializing: c_uint = 0x0804;
8064/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorstate_accessdenied?language=objc)
8065pub const kHIDUsage_Snsr_Event_SensorState_AccessDenied: c_uint = 0x0805;
8066/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorstate_error?language=objc)
8067pub const kHIDUsage_Snsr_Event_SensorState_Error: c_uint = 0x0806;
8068/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_unknown?language=objc)
8069pub const kHIDUsage_Snsr_Event_SensorEvent_Unknown: c_uint = 0x0810;
8070/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_statechanged?language=objc)
8071pub const kHIDUsage_Snsr_Event_SensorEvent_StateChanged: c_uint = 0x0811;
8072/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_propertychanged?language=objc)
8073pub const kHIDUsage_Snsr_Event_SensorEvent_PropertyChanged: c_uint = 0x0812;
8074/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_dataupdated?language=objc)
8075pub const kHIDUsage_Snsr_Event_SensorEvent_DataUpdated: c_uint = 0x0813;
8076/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_pollresponse?language=objc)
8077pub const kHIDUsage_Snsr_Event_SensorEvent_PollResponse: c_uint = 0x0814;
8078/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_changesensitivity?language=objc)
8079pub const kHIDUsage_Snsr_Event_SensorEvent_ChangeSensitivity: c_uint = 0x0815;
8080/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_rangemaxreached?language=objc)
8081pub const kHIDUsage_Snsr_Event_SensorEvent_RangeMaxReached: c_uint = 0x0816;
8082/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_rangeminreached?language=objc)
8083pub const kHIDUsage_Snsr_Event_SensorEvent_RangeMinReached: c_uint = 0x0817;
8084/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_highthresholdcrossup?language=objc)
8085pub const kHIDUsage_Snsr_Event_SensorEvent_HighThresholdCrossUp: c_uint = 0x0818;
8086/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_highthresholdcrossdown?language=objc)
8087pub const kHIDUsage_Snsr_Event_SensorEvent_HighThresholdCrossDown: c_uint = 0x0819;
8088/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_lowthresholdcrossup?language=objc)
8089pub const kHIDUsage_Snsr_Event_SensorEvent_LowThresholdCrossUp: c_uint = 0x081A;
8090/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_lowthresholdcrossdown?language=objc)
8091pub const kHIDUsage_Snsr_Event_SensorEvent_LowThresholdCrossDown: c_uint = 0x081B;
8092/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_zerothresholdcrossup?language=objc)
8093pub const kHIDUsage_Snsr_Event_SensorEvent_ZeroThresholdCrossUp: c_uint = 0x081C;
8094/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_zerothresholdcrossdown?language=objc)
8095pub const kHIDUsage_Snsr_Event_SensorEvent_ZeroThresholdCrossDown: c_uint = 0x081D;
8096/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_periodexceeded?language=objc)
8097pub const kHIDUsage_Snsr_Event_SensorEvent_PeriodExceeded: c_uint = 0x081E;
8098/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_frequencyexceeded?language=objc)
8099pub const kHIDUsage_Snsr_Event_SensorEvent_FrequencyExceeded: c_uint = 0x081F;
8100/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_event_sensorevent_complextrigger?language=objc)
8101pub const kHIDUsage_Snsr_Event_SensorEvent_ComplexTrigger: c_uint = 0x0820;
8102/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property?language=objc)
8103pub const kHIDUsage_Snsr_Property: c_uint = 0x0300;
8104/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_friendlyname?language=objc)
8105pub const kHIDUsage_Snsr_Property_FriendlyName: c_uint = 0x0301;
8106/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_persistentuniqueid?language=objc)
8107pub const kHIDUsage_Snsr_Property_PersistentUniqueID: c_uint = 0x0302;
8108/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_sensorstatus?language=objc)
8109pub const kHIDUsage_Snsr_Property_SensorStatus: c_uint = 0x0303;
8110/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_minimumreportinterval?language=objc)
8111pub const kHIDUsage_Snsr_Property_MinimumReportInterval: c_uint = 0x0304;
8112/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_manufacturer?language=objc)
8113pub const kHIDUsage_Snsr_Property_Manufacturer: c_uint = 0x0305;
8114/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_model?language=objc)
8115pub const kHIDUsage_Snsr_Property_Model: c_uint = 0x0306;
8116/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_serialnumber?language=objc)
8117pub const kHIDUsage_Snsr_Property_SerialNumber: c_uint = 0x0307;
8118/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_description?language=objc)
8119pub const kHIDUsage_Snsr_Property_Description: c_uint = 0x0308;
8120/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_connectiontype?language=objc)
8121pub const kHIDUsage_Snsr_Property_ConnectionType: c_uint = 0x0309;
8122/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_devicepath?language=objc)
8123pub const kHIDUsage_Snsr_Property_DevicePath: c_uint = 0x030A;
8124/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_hardwarerevision?language=objc)
8125pub const kHIDUsage_Snsr_Property_HardwareRevision: c_uint = 0x030B;
8126/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_firmwareversion?language=objc)
8127pub const kHIDUsage_Snsr_Property_FirmwareVersion: c_uint = 0x030C;
8128/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_releasedata?language=objc)
8129pub const kHIDUsage_Snsr_Property_ReleaseData: c_uint = 0x030D;
8130/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_reportinterval?language=objc)
8131pub const kHIDUsage_Snsr_Property_ReportInterval: c_uint = 0x030E;
8132/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_changesensitivityabsolute?language=objc)
8133pub const kHIDUsage_Snsr_Property_ChangeSensitivityAbsolute: c_uint = 0x030F;
8134/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_changesensitivitypercentrange?language=objc)
8135pub const kHIDUsage_Snsr_Property_ChangeSensitivityPercentRange: c_uint = 0x0310;
8136/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_changesensitivitypercentrelative?language=objc)
8137pub const kHIDUsage_Snsr_Property_ChangeSensitivityPercentRelative: c_uint = 0x0311;
8138/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_accuracy?language=objc)
8139pub const kHIDUsage_Snsr_Property_Accuracy: c_uint = 0x0312;
8140/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_resolution?language=objc)
8141pub const kHIDUsage_Snsr_Property_Resolution: c_uint = 0x0313;
8142/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_maximum?language=objc)
8143pub const kHIDUsage_Snsr_Property_Maximum: c_uint = 0x0314;
8144/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_minimum?language=objc)
8145pub const kHIDUsage_Snsr_Property_Minimum: c_uint = 0x0315;
8146/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_reportingstate?language=objc)
8147pub const kHIDUsage_Snsr_Property_ReportingState: c_uint = 0x0316;
8148/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_samplingrate?language=objc)
8149pub const kHIDUsage_Snsr_Property_SamplingRate: c_uint = 0x0317;
8150/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_responsecurve?language=objc)
8151pub const kHIDUsage_Snsr_Property_ResponseCurve: c_uint = 0x0318;
8152/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_powerstate?language=objc)
8153pub const kHIDUsage_Snsr_Property_PowerState: c_uint = 0x0319;
8154/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_maxfifoevents?language=objc)
8155pub const kHIDUsage_Snsr_Property_MaxFIFOEvents: c_uint = 0x031A;
8156/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_reportlatency?language=objc)
8157pub const kHIDUsage_Snsr_Property_ReportLatency: c_uint = 0x031B;
8158/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_connectiontype_integrated?language=objc)
8159pub const kHIDUsage_Snsr_Property_ConnectionType_Integrated: c_uint = 0x0830;
8160/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_connectiontype_attached?language=objc)
8161pub const kHIDUsage_Snsr_Property_ConnectionType_Attached: c_uint = 0x0831;
8162/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_connectiontype_external?language=objc)
8163pub const kHIDUsage_Snsr_Property_ConnectionType_External: c_uint = 0x0832;
8164/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_reportingstate_noevents?language=objc)
8165pub const kHIDUsage_Snsr_Property_ReportingState_NoEvents: c_uint = 0x0840;
8166/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_reportingstate_allevents?language=objc)
8167pub const kHIDUsage_Snsr_Property_ReportingState_AllEvents: c_uint = 0x0841;
8168/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_reportingstate_thresholdevents?language=objc)
8169pub const kHIDUsage_Snsr_Property_ReportingState_ThresholdEvents: c_uint = 0x0842;
8170/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_reportingstate_wakenoevents?language=objc)
8171pub const kHIDUsage_Snsr_Property_ReportingState_WakeNoEvents: c_uint = 0x0843;
8172/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_reportingstate_wakeallevents?language=objc)
8173pub const kHIDUsage_Snsr_Property_ReportingState_WakeAllEvents: c_uint = 0x0844;
8174/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_reportingstate_wakethresholdevents?language=objc)
8175pub const kHIDUsage_Snsr_Property_ReportingState_WakeThresholdEvents: c_uint = 0x0845;
8176/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_powerstate_undefined?language=objc)
8177pub const kHIDUsage_Snsr_Property_PowerState_Undefined: c_uint = 0x0850;
8178/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_powerstate_d0_fullpower?language=objc)
8179pub const kHIDUsage_Snsr_Property_PowerState_D0_FullPower: c_uint = 0x0851;
8180/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_powerstate_d1_lowpower?language=objc)
8181pub const kHIDUsage_Snsr_Property_PowerState_D1_LowPower: c_uint = 0x0852;
8182/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_powerstate_d2_standby?language=objc)
8183pub const kHIDUsage_Snsr_Property_PowerState_D2_Standby: c_uint = 0x0853;
8184/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_powerstate_d3_sleep?language=objc)
8185pub const kHIDUsage_Snsr_Property_PowerState_D3_Sleep: c_uint = 0x0854;
8186/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_powerstate_d4_poweroff?language=objc)
8187pub const kHIDUsage_Snsr_Property_PowerState_D4_PowerOff: c_uint = 0x0855;
8188/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_light_illuminance?language=objc)
8189pub const kHIDUsage_Snsr_Light_Illuminance: c_uint = 0x04D1;
8190/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location?language=objc)
8191pub const kHIDUsage_Snsr_Data_Location: c_uint = 0x0400;
8192/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_reserved?language=objc)
8193pub const kHIDUsage_Snsr_Data_Location_Reserved: c_uint = 0x0401;
8194/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_altitudeantennasealevel?language=objc)
8195pub const kHIDUsage_Snsr_Data_Location_AltitudeAntennaSeaLevel: c_uint = 0x0402;
8196/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_differentialreferencestationid?language=objc)
8197pub const kHIDUsage_Snsr_Data_Location_DifferentialReferenceStationID: c_uint = 0x0403;
8198/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_altitudeellipsoiderror?language=objc)
8199pub const kHIDUsage_Snsr_Data_Location_AltitudeEllipsoidError: c_uint = 0x0404;
8200/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_altitudeellipsoid?language=objc)
8201pub const kHIDUsage_Snsr_Data_Location_AltitudeEllipsoid: c_uint = 0x0405;
8202/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_altitudesealevelerror?language=objc)
8203pub const kHIDUsage_Snsr_Data_Location_AltitudeSeaLevelError: c_uint = 0x0406;
8204/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_altitudesealevel?language=objc)
8205pub const kHIDUsage_Snsr_Data_Location_AltitudeSeaLevel: c_uint = 0x0407;
8206/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_differentialgpsdataage?language=objc)
8207pub const kHIDUsage_Snsr_Data_Location_DifferentialGPSDataAge: c_uint = 0x0408;
8208/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_errorradius?language=objc)
8209pub const kHIDUsage_Snsr_Data_Location_ErrorRadius: c_uint = 0x0409;
8210/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixquality?language=objc)
8211pub const kHIDUsage_Snsr_Data_Location_FixQuality: c_uint = 0x040A;
8212/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixqualitynofix?language=objc)
8213pub const kHIDUsage_Snsr_Data_Location_FixQualityNoFix: c_uint = 0x0870;
8214/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixqualitygps?language=objc)
8215pub const kHIDUsage_Snsr_Data_Location_FixQualityGPS: c_uint = 0x0871;
8216/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixqualitydgps?language=objc)
8217pub const kHIDUsage_Snsr_Data_Location_FixQualityDGPS: c_uint = 0x0872;
8218/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixtype?language=objc)
8219pub const kHIDUsage_Snsr_Data_Location_FixType: c_uint = 0x040B;
8220/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixtypenofix?language=objc)
8221pub const kHIDUsage_Snsr_Data_Location_FixTypeNoFix: c_uint = 0x0880;
8222/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixtypegpsspsmode?language=objc)
8223pub const kHIDUsage_Snsr_Data_Location_FixTypeGPSSPSMode: c_uint = 0x0881;
8224/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixtypedgpsspsmode?language=objc)
8225pub const kHIDUsage_Snsr_Data_Location_FixTypeDGPSSPSMode: c_uint = 0x0882;
8226/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixtypegpsppsmode?language=objc)
8227pub const kHIDUsage_Snsr_Data_Location_FixTypeGPSPPSMode: c_uint = 0x0883;
8228/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixtyperealtimekinematic?language=objc)
8229pub const kHIDUsage_Snsr_Data_Location_FixTypeRealTimeKinematic: c_uint = 0x0884;
8230/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixtypefloatrtk?language=objc)
8231pub const kHIDUsage_Snsr_Data_Location_FixTypeFloatRTK: c_uint = 0x0885;
8232/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixtypeestimated?language=objc)
8233pub const kHIDUsage_Snsr_Data_Location_FixTypeEstimated: c_uint = 0x0886;
8234/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixtypemanualinputmode?language=objc)
8235pub const kHIDUsage_Snsr_Data_Location_FixTypeManualInputMode: c_uint = 0x0887;
8236/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_fixtypesimulatormode?language=objc)
8237pub const kHIDUsage_Snsr_Data_Location_FixTypeSimulatorMode: c_uint = 0x0888;
8238/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_geoidalseparation?language=objc)
8239pub const kHIDUsage_Snsr_Data_Location_GeoidalSeparation: c_uint = 0x040C;
8240/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsoperationmode?language=objc)
8241pub const kHIDUsage_Snsr_Data_Location_GPSOperationMode: c_uint = 0x040D;
8242/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsoperationmodemanual?language=objc)
8243pub const kHIDUsage_Snsr_Data_Location_GPSOperationModeManual: c_uint = 0x0890;
8244/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsoperationmodeautomatic?language=objc)
8245pub const kHIDUsage_Snsr_Data_Location_GPSOperationModeAutomatic: c_uint = 0x0891;
8246/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsselectionmode?language=objc)
8247pub const kHIDUsage_Snsr_Data_Location_GPSSelectionMode: c_uint = 0x040E;
8248/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsselectionmodeautonomous?language=objc)
8249pub const kHIDUsage_Snsr_Data_Location_GPSSelectionModeAutonomous: c_uint = 0x08A0;
8250/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsselectionmodedgps?language=objc)
8251pub const kHIDUsage_Snsr_Data_Location_GPSSelectionModeDGPS: c_uint = 0x08A1;
8252/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsselectionmodeestimated?language=objc)
8253pub const kHIDUsage_Snsr_Data_Location_GPSSelectionModeEstimated: c_uint = 0x08A2;
8254/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsselectionmodemanualinput?language=objc)
8255pub const kHIDUsage_Snsr_Data_Location_GPSSelectionModeManualInput: c_uint = 0x08A3;
8256/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsselectionmodesimulator?language=objc)
8257pub const kHIDUsage_Snsr_Data_Location_GPSSelectionModeSimulator: c_uint = 0x08A4;
8258/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsselectionmodedatanotvalid?language=objc)
8259pub const kHIDUsage_Snsr_Data_Location_GPSSelectionModeDataNotValid: c_uint = 0x08A5;
8260/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsstatus?language=objc)
8261pub const kHIDUsage_Snsr_Data_Location_GPSStatus: c_uint = 0x040F;
8262/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsstatusdatavalid?language=objc)
8263pub const kHIDUsage_Snsr_Data_Location_GPSStatusDataValid: c_uint = 0x08B0;
8264/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_gpsstatusdatanotvalid?language=objc)
8265pub const kHIDUsage_Snsr_Data_Location_GPSStatusDataNotValid: c_uint = 0x08B1;
8266/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_positiondilutionofprecision?language=objc)
8267pub const kHIDUsage_Snsr_Data_Location_PositionDilutionOfPrecision: c_uint = 0x0410;
8268/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_horizontaldilutionofprecision?language=objc)
8269pub const kHIDUsage_Snsr_Data_Location_HorizontalDilutionOfPrecision: c_uint = 0x0411;
8270/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_verticaldilutionofprecision?language=objc)
8271pub const kHIDUsage_Snsr_Data_Location_VerticalDilutionOfPrecision: c_uint = 0x0412;
8272/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_latitude?language=objc)
8273pub const kHIDUsage_Snsr_Data_Location_Latitude: c_uint = 0x0413;
8274/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_longitude?language=objc)
8275pub const kHIDUsage_Snsr_Data_Location_Longitude: c_uint = 0x0414;
8276/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_trueheading?language=objc)
8277pub const kHIDUsage_Snsr_Data_Location_TrueHeading: c_uint = 0x0415;
8278/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_magneticheading?language=objc)
8279pub const kHIDUsage_Snsr_Data_Location_MagneticHeading: c_uint = 0x0416;
8280/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_magneticvariation?language=objc)
8281pub const kHIDUsage_Snsr_Data_Location_MagneticVariation: c_uint = 0x0417;
8282/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_speed?language=objc)
8283pub const kHIDUsage_Snsr_Data_Location_Speed: c_uint = 0x0418;
8284/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_satellitesinview?language=objc)
8285pub const kHIDUsage_Snsr_Data_Location_SatellitesInView: c_uint = 0x0419;
8286/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_satellitesinviewazimuth?language=objc)
8287pub const kHIDUsage_Snsr_Data_Location_SatellitesInViewAzimuth: c_uint = 0x041A;
8288/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_satellitesinviewelevation?language=objc)
8289pub const kHIDUsage_Snsr_Data_Location_SatellitesInViewElevation: c_uint = 0x041B;
8290/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_satellitesinviewids?language=objc)
8291pub const kHIDUsage_Snsr_Data_Location_SatellitesInViewIDs: c_uint = 0x041C;
8292/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_satellitesinviewprns?language=objc)
8293pub const kHIDUsage_Snsr_Data_Location_SatellitesInViewPRNs: c_uint = 0x041D;
8294/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_satellitesinviewsnratios?language=objc)
8295pub const kHIDUsage_Snsr_Data_Location_SatellitesInViewSNRatios: c_uint = 0x041E;
8296/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_satellitesusedcount?language=objc)
8297pub const kHIDUsage_Snsr_Data_Location_SatellitesUsedCount: c_uint = 0x041F;
8298/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_satellitesusedprns?language=objc)
8299pub const kHIDUsage_Snsr_Data_Location_SatellitesUsedPRNs: c_uint = 0x0420;
8300/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_nmeasentence?language=objc)
8301pub const kHIDUsage_Snsr_Data_Location_NMEASentence: c_uint = 0x0421;
8302/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_addressline1?language=objc)
8303pub const kHIDUsage_Snsr_Data_Location_AddressLine1: c_uint = 0x0422;
8304/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_addressline2?language=objc)
8305pub const kHIDUsage_Snsr_Data_Location_AddressLine2: c_uint = 0x0423;
8306/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_city?language=objc)
8307pub const kHIDUsage_Snsr_Data_Location_City: c_uint = 0x0424;
8308/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_stateorprovince?language=objc)
8309pub const kHIDUsage_Snsr_Data_Location_StateOrProvince: c_uint = 0x0425;
8310/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_countryorregion?language=objc)
8311pub const kHIDUsage_Snsr_Data_Location_CountryOrRegion: c_uint = 0x0426;
8312/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_location_postalcode?language=objc)
8313pub const kHIDUsage_Snsr_Data_Location_PostalCode: c_uint = 0x0427;
8314/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_location?language=objc)
8315pub const kHIDUsage_Snsr_Property_Location: c_uint = 0x042A;
8316/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_location_desiredaccuracy?language=objc)
8317pub const kHIDUsage_Snsr_Property_Location_DesiredAccuracy: c_uint = 0x042B;
8318/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_location_accuracydefault?language=objc)
8319pub const kHIDUsage_Snsr_Property_Location_AccuracyDefault: c_uint = 0x0860;
8320/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_location_accuracyhigh?language=objc)
8321pub const kHIDUsage_Snsr_Property_Location_AccuracyHigh: c_uint = 0x0861;
8322/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_location_accuracymedium?language=objc)
8323pub const kHIDUsage_Snsr_Property_Location_AccuracyMedium: c_uint = 0x0862;
8324/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_location_accuracylow?language=objc)
8325pub const kHIDUsage_Snsr_Property_Location_AccuracyLow: c_uint = 0x0863;
8326/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_environmental?language=objc)
8327pub const kHIDUsage_Snsr_Data_Environmental: c_uint = 0x0430;
8328/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_environmental_atmosphericpressure?language=objc)
8329pub const kHIDUsage_Snsr_Data_Environmental_AtmosphericPressure: c_uint = 0x0431;
8330/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_environmental_reserved?language=objc)
8331pub const kHIDUsage_Snsr_Data_Environmental_Reserved: c_uint = 0x0432;
8332/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_environmental_relativehumidity?language=objc)
8333pub const kHIDUsage_Snsr_Data_Environmental_RelativeHumidity: c_uint = 0x0433;
8334/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_environmental_temperature?language=objc)
8335pub const kHIDUsage_Snsr_Data_Environmental_Temperature: c_uint = 0x0434;
8336/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_environmental_winddirection?language=objc)
8337pub const kHIDUsage_Snsr_Data_Environmental_WindDirection: c_uint = 0x0435;
8338/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_environmental_windspeed?language=objc)
8339pub const kHIDUsage_Snsr_Data_Environmental_WindSpeed: c_uint = 0x0436;
8340/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_environmental?language=objc)
8341pub const kHIDUsage_Snsr_Property_Environmental: c_uint = 0x0440;
8342/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_environmental_referencepressure?language=objc)
8343pub const kHIDUsage_Snsr_Property_Environmental_ReferencePressure: c_uint = 0x0441;
8344/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion?language=objc)
8345pub const kHIDUsage_Snsr_Data_Motion: c_uint = 0x0450;
8346/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_state?language=objc)
8347pub const kHIDUsage_Snsr_Data_Motion_State: c_uint = 0x0451;
8348/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_acceleration?language=objc)
8349pub const kHIDUsage_Snsr_Data_Motion_Acceleration: c_uint = 0x0452;
8350/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_accelerationaxisx?language=objc)
8351pub const kHIDUsage_Snsr_Data_Motion_AccelerationAxisX: c_uint = 0x0453;
8352/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_accelerationaxisy?language=objc)
8353pub const kHIDUsage_Snsr_Data_Motion_AccelerationAxisY: c_uint = 0x0454;
8354/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_accelerationaxisz?language=objc)
8355pub const kHIDUsage_Snsr_Data_Motion_AccelerationAxisZ: c_uint = 0x0455;
8356/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_angularvelocity?language=objc)
8357pub const kHIDUsage_Snsr_Data_Motion_AngularVelocity: c_uint = 0x0456;
8358/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_angularvelocityxaxis?language=objc)
8359pub const kHIDUsage_Snsr_Data_Motion_AngularVelocityXAxis: c_uint = 0x0457;
8360/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_angularvelocityyaxis?language=objc)
8361pub const kHIDUsage_Snsr_Data_Motion_AngularVelocityYAxis: c_uint = 0x0458;
8362/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_angularvelocityzaxis?language=objc)
8363pub const kHIDUsage_Snsr_Data_Motion_AngularVelocityZAxis: c_uint = 0x0459;
8364/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_angularposition?language=objc)
8365pub const kHIDUsage_Snsr_Data_Motion_AngularPosition: c_uint = 0x045A;
8366/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_angularpositionxaxis?language=objc)
8367pub const kHIDUsage_Snsr_Data_Motion_AngularPositionXAxis: c_uint = 0x045B;
8368/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_angularpositionyaxis?language=objc)
8369pub const kHIDUsage_Snsr_Data_Motion_AngularPositionYAxis: c_uint = 0x045C;
8370/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_angularpositionzaxis?language=objc)
8371pub const kHIDUsage_Snsr_Data_Motion_AngularPositionZAxis: c_uint = 0x045D;
8372/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_speed?language=objc)
8373pub const kHIDUsage_Snsr_Data_Motion_Speed: c_uint = 0x045E;
8374/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_motion_intensity?language=objc)
8375pub const kHIDUsage_Snsr_Data_Motion_Intensity: c_uint = 0x045F;
8376/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation?language=objc)
8377pub const kHIDUsage_Snsr_Data_Orientation: c_uint = 0x0470;
8378/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_heading?language=objc)
8379pub const kHIDUsage_Snsr_Data_Orientation_Heading: c_uint = 0x0471;
8380/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_headingxaxis?language=objc)
8381pub const kHIDUsage_Snsr_Data_Orientation_HeadingXAxis: c_uint = 0x0472;
8382/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_headingyaxis?language=objc)
8383pub const kHIDUsage_Snsr_Data_Orientation_HeadingYAxis: c_uint = 0x0473;
8384/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_headingzaxis?language=objc)
8385pub const kHIDUsage_Snsr_Data_Orientation_HeadingZAxis: c_uint = 0x0474;
8386/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_headingcompensatedmagneticnorth?language=objc)
8387pub const kHIDUsage_Snsr_Data_Orientation_HeadingCompensatedMagneticNorth: c_uint = 0x0475;
8388/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_headingcompensatedtruenorth?language=objc)
8389pub const kHIDUsage_Snsr_Data_Orientation_HeadingCompensatedTrueNorth: c_uint = 0x0476;
8390/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_headingmagneticnorth?language=objc)
8391pub const kHIDUsage_Snsr_Data_Orientation_HeadingMagneticNorth: c_uint = 0x0477;
8392/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_headingtruenorth?language=objc)
8393pub const kHIDUsage_Snsr_Data_Orientation_HeadingTrueNorth: c_uint = 0x0478;
8394/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_distance?language=objc)
8395pub const kHIDUsage_Snsr_Data_Orientation_Distance: c_uint = 0x0479;
8396/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_distancexaxis?language=objc)
8397pub const kHIDUsage_Snsr_Data_Orientation_DistanceXAxis: c_uint = 0x047A;
8398/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_distanceyaxis?language=objc)
8399pub const kHIDUsage_Snsr_Data_Orientation_DistanceYAxis: c_uint = 0x047B;
8400/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_distancezaxis?language=objc)
8401pub const kHIDUsage_Snsr_Data_Orientation_DistanceZAxis: c_uint = 0x047C;
8402/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_distanceoutofrange?language=objc)
8403pub const kHIDUsage_Snsr_Data_Orientation_DistanceOutOfRange: c_uint = 0x047D;
8404/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_tilt?language=objc)
8405pub const kHIDUsage_Snsr_Data_Orientation_Tilt: c_uint = 0x047E;
8406/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_tiltxaxis?language=objc)
8407pub const kHIDUsage_Snsr_Data_Orientation_TiltXAxis: c_uint = 0x047F;
8408/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_tiltyaxis?language=objc)
8409pub const kHIDUsage_Snsr_Data_Orientation_TiltYAxis: c_uint = 0x0480;
8410/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_tiltzaxis?language=objc)
8411pub const kHIDUsage_Snsr_Data_Orientation_TiltZAxis: c_uint = 0x0481;
8412/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_rotationmatrix?language=objc)
8413pub const kHIDUsage_Snsr_Data_Orientation_RotationMatrix: c_uint = 0x0482;
8414/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_quaternion?language=objc)
8415pub const kHIDUsage_Snsr_Data_Orientation_Quaternion: c_uint = 0x0483;
8416/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_magneticflux?language=objc)
8417pub const kHIDUsage_Snsr_Data_Orientation_MagneticFlux: c_uint = 0x0484;
8418/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_magneticfluxxaxis?language=objc)
8419pub const kHIDUsage_Snsr_Data_Orientation_MagneticFluxXAxis: c_uint = 0x0485;
8420/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_magneticfluxyaxis?language=objc)
8421pub const kHIDUsage_Snsr_Data_Orientation_MagneticFluxYAxis: c_uint = 0x0486;
8422/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_orientation_magneticfluxzaxis?language=objc)
8423pub const kHIDUsage_Snsr_Data_Orientation_MagneticFluxZAxis: c_uint = 0x0487;
8424/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_mechanical?language=objc)
8425pub const kHIDUsage_Snsr_Data_Mechanical: c_uint = 0x0490;
8426/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_mechanical_booleanswitchstate?language=objc)
8427pub const kHIDUsage_Snsr_Data_Mechanical_BooleanSwitchState: c_uint = 0x0491;
8428/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_mechanical_booleanswitcharraystates?language=objc)
8429pub const kHIDUsage_Snsr_Data_Mechanical_BooleanSwitchArrayStates: c_uint = 0x0492;
8430/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_mechanical_multivalueswitchvalue?language=objc)
8431pub const kHIDUsage_Snsr_Data_Mechanical_MultivalueSwitchValue: c_uint = 0x0493;
8432/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_mechanical_force?language=objc)
8433pub const kHIDUsage_Snsr_Data_Mechanical_Force: c_uint = 0x0494;
8434/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_mechanical_absolutepressure?language=objc)
8435pub const kHIDUsage_Snsr_Data_Mechanical_AbsolutePressure: c_uint = 0x0495;
8436/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_mechanical_gaugepressure?language=objc)
8437pub const kHIDUsage_Snsr_Data_Mechanical_GaugePressure: c_uint = 0x0496;
8438/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_mechanical_strain?language=objc)
8439pub const kHIDUsage_Snsr_Data_Mechanical_Strain: c_uint = 0x0497;
8440/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_mechanical_weight?language=objc)
8441pub const kHIDUsage_Snsr_Data_Mechanical_Weight: c_uint = 0x0498;
8442/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_mechanical?language=objc)
8443pub const kHIDUsage_Snsr_Property_Mechanical: c_uint = 0x04A0;
8444/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_mechanical_vibrationstate?language=objc)
8445pub const kHIDUsage_Snsr_Property_Mechanical_VibrationState: c_uint = 0x04A1;
8446/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_mechanical_forwardvibrationspeed?language=objc)
8447pub const kHIDUsage_Snsr_Property_Mechanical_ForwardVibrationSpeed: c_uint = 0x04A2;
8448/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_mechanical_backwardvibrationspeed?language=objc)
8449pub const kHIDUsage_Snsr_Property_Mechanical_BackwardVibrationSpeed: c_uint = 0x04A3;
8450/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_biometric?language=objc)
8451pub const kHIDUsage_Snsr_Data_Biometric: c_uint = 0x04B0;
8452/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_biometric_humanpresence?language=objc)
8453pub const kHIDUsage_Snsr_Data_Biometric_HumanPresence: c_uint = 0x04B1;
8454/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_biometric_humanproximityrange?language=objc)
8455pub const kHIDUsage_Snsr_Data_Biometric_HumanProximityRange: c_uint = 0x04B2;
8456/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_biometric_humanproximityoutofrange?language=objc)
8457pub const kHIDUsage_Snsr_Data_Biometric_HumanProximityOutOfRange: c_uint = 0x04B3;
8458/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_biometric_humantouchstate?language=objc)
8459pub const kHIDUsage_Snsr_Data_Biometric_HumanTouchState: c_uint = 0x04B4;
8460/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_biometric_heartrate?language=objc)
8461pub const kHIDUsage_Snsr_Data_Biometric_HeartRate: c_uint = 0x04B8;
8462/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_light?language=objc)
8463pub const kHIDUsage_Snsr_Data_Light: c_uint = 0x04D0;
8464/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_light_illuminance?language=objc)
8465pub const kHIDUsage_Snsr_Data_Light_Illuminance: c_uint = 0x04D1;
8466/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_light_colortemperature?language=objc)
8467pub const kHIDUsage_Snsr_Data_Light_ColorTemperature: c_uint = 0x04D2;
8468/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_light_chromaticity?language=objc)
8469pub const kHIDUsage_Snsr_Data_Light_Chromaticity: c_uint = 0x04D3;
8470/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_light_chromaticityx?language=objc)
8471pub const kHIDUsage_Snsr_Data_Light_ChromaticityX: c_uint = 0x04D4;
8472/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_light_chromaticityy?language=objc)
8473pub const kHIDUsage_Snsr_Data_Light_ChromaticityY: c_uint = 0x04D5;
8474/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_light_consumerirsentencereceive?language=objc)
8475pub const kHIDUsage_Snsr_Data_Light_ConsumerIRSentenceReceive: c_uint = 0x04D6;
8476/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_light?language=objc)
8477pub const kHIDUsage_Snsr_Property_Light: c_uint = 0x04E0;
8478/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_light_consumerirsentencesend?language=objc)
8479pub const kHIDUsage_Snsr_Property_Light_ConsumerIRSentenceSend: c_uint = 0x04E1;
8480/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_scanner?language=objc)
8481pub const kHIDUsage_Snsr_Data_Scanner: c_uint = 0x04F0;
8482/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_scanner_rfidtag40bit?language=objc)
8483pub const kHIDUsage_Snsr_Data_Scanner_RFIDTag40Bit: c_uint = 0x04F1;
8484/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_scanner_nfcsentencereceive?language=objc)
8485pub const kHIDUsage_Snsr_Data_Scanner_NFCSentenceReceive: c_uint = 0x04F2;
8486/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_scanner?language=objc)
8487pub const kHIDUsage_Snsr_Property_Scanner: c_uint = 0x04F8;
8488/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_scanner_nfcsentencesend?language=objc)
8489pub const kHIDUsage_Snsr_Property_Scanner_NFCSentenceSend: c_uint = 0x0F49;
8490/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_electrical?language=objc)
8491pub const kHIDUsage_Snsr_Data_Electrical: c_uint = 0x0500;
8492/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_electrical_capacitance?language=objc)
8493pub const kHIDUsage_Snsr_Data_Electrical_Capacitance: c_uint = 0x0501;
8494/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_electrical_current?language=objc)
8495pub const kHIDUsage_Snsr_Data_Electrical_Current: c_uint = 0x0502;
8496/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_electrical_electricalpower?language=objc)
8497pub const kHIDUsage_Snsr_Data_Electrical_ElectricalPower: c_uint = 0x0503;
8498/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_electrical_inductance?language=objc)
8499pub const kHIDUsage_Snsr_Data_Electrical_Inductance: c_uint = 0x0504;
8500/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_electrical_resistance?language=objc)
8501pub const kHIDUsage_Snsr_Data_Electrical_Resistance: c_uint = 0x0505;
8502/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_electrical_voltage?language=objc)
8503pub const kHIDUsage_Snsr_Data_Electrical_Voltage: c_uint = 0x0506;
8504/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_electrical_frequency?language=objc)
8505pub const kHIDUsage_Snsr_Data_Electrical_Frequency: c_uint = 0x0507;
8506/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_electrical_period?language=objc)
8507pub const kHIDUsage_Snsr_Data_Electrical_Period: c_uint = 0x0508;
8508/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_electrical_percentofrange?language=objc)
8509pub const kHIDUsage_Snsr_Data_Electrical_PercentOfRange: c_uint = 0x0509;
8510/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time?language=objc)
8511pub const kHIDUsage_Snsr_Data_Time: c_uint = 0x0520;
8512/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_year?language=objc)
8513pub const kHIDUsage_Snsr_Data_Time_Year: c_uint = 0x0521;
8514/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_month?language=objc)
8515pub const kHIDUsage_Snsr_Data_Time_Month: c_uint = 0x0522;
8516/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_day?language=objc)
8517pub const kHIDUsage_Snsr_Data_Time_Day: c_uint = 0x0523;
8518/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_dayofweek?language=objc)
8519pub const kHIDUsage_Snsr_Data_Time_DayOfWeek: c_uint = 0x0524;
8520/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_dayofweeksunday?language=objc)
8521pub const kHIDUsage_Snsr_Data_Time_DayOfWeekSunday: c_uint = 0x08C0;
8522/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_dayofweekmonday?language=objc)
8523pub const kHIDUsage_Snsr_Data_Time_DayOfWeekMonday: c_uint = 0x08C1;
8524/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_dayofweektuesday?language=objc)
8525pub const kHIDUsage_Snsr_Data_Time_DayOfWeekTuesday: c_uint = 0x08C2;
8526/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_dayofweekwednesday?language=objc)
8527pub const kHIDUsage_Snsr_Data_Time_DayOfWeekWednesday: c_uint = 0x08C3;
8528/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_dayofweekthursday?language=objc)
8529pub const kHIDUsage_Snsr_Data_Time_DayOfWeekThursday: c_uint = 0x08C4;
8530/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_dayofweekfriday?language=objc)
8531pub const kHIDUsage_Snsr_Data_Time_DayOfWeekFriday: c_uint = 0x08C5;
8532/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_dayofweeksaturday?language=objc)
8533pub const kHIDUsage_Snsr_Data_Time_DayOfWeekSaturday: c_uint = 0x08C6;
8534/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_hour?language=objc)
8535pub const kHIDUsage_Snsr_Data_Time_Hour: c_uint = 0x0525;
8536/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_minute?language=objc)
8537pub const kHIDUsage_Snsr_Data_Time_Minute: c_uint = 0x0526;
8538/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_second?language=objc)
8539pub const kHIDUsage_Snsr_Data_Time_Second: c_uint = 0x0527;
8540/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_millisecond?language=objc)
8541pub const kHIDUsage_Snsr_Data_Time_Millisecond: c_uint = 0x0528;
8542/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_timestamp?language=objc)
8543pub const kHIDUsage_Snsr_Data_Time_Timestamp: c_uint = 0x0529;
8544/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_time_juliandayofyear?language=objc)
8545pub const kHIDUsage_Snsr_Data_Time_JulianDayOfYear: c_uint = 0x052A;
8546/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_time?language=objc)
8547pub const kHIDUsage_Snsr_Property_Time: c_uint = 0x0530;
8548/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_time_timezoneoffsetfromutc?language=objc)
8549pub const kHIDUsage_Snsr_Property_Time_TimeZoneOffsetFromUTC: c_uint = 0x0531;
8550/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_time_timezonename?language=objc)
8551pub const kHIDUsage_Snsr_Property_Time_TimeZoneName: c_uint = 0x0532;
8552/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_time_daylightsavingstimeobserved?language=objc)
8553pub const kHIDUsage_Snsr_Property_Time_DaylightSavingsTimeObserved: c_uint = 0x0533;
8554/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_time_timetrimadjustment?language=objc)
8555pub const kHIDUsage_Snsr_Property_Time_TimeTrimAdjustment: c_uint = 0x0534;
8556/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_property_time_armalarm?language=objc)
8557pub const kHIDUsage_Snsr_Property_Time_ArmAlarm: c_uint = 0x0535;
8558/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_custom?language=objc)
8559pub const kHIDUsage_Snsr_Data_Custom: c_uint = 0x0540;
8560/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_custom_usage?language=objc)
8561pub const kHIDUsage_Snsr_Data_Custom_Usage: c_uint = 0x0541;
8562/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_custom_booleanarray?language=objc)
8563pub const kHIDUsage_Snsr_Data_Custom_BooleanArray: c_uint = 0x0542;
8564/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_custom_value?language=objc)
8565pub const kHIDUsage_Snsr_Data_Custom_Value: c_uint = 0x0543;
8566/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_custom_value1?language=objc)
8567pub const kHIDUsage_Snsr_Data_Custom_Value1: c_uint = 0x0544;
8568/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_custom_value2?language=objc)
8569pub const kHIDUsage_Snsr_Data_Custom_Value2: c_uint = 0x0545;
8570/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_custom_value3?language=objc)
8571pub const kHIDUsage_Snsr_Data_Custom_Value3: c_uint = 0x0546;
8572/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_custom_value4?language=objc)
8573pub const kHIDUsage_Snsr_Data_Custom_Value4: c_uint = 0x0547;
8574/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_custom_value5?language=objc)
8575pub const kHIDUsage_Snsr_Data_Custom_Value5: c_uint = 0x0548;
8576/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_snsr_data_custom_value6?language=objc)
8577pub const kHIDUsage_Snsr_Data_Custom_Value6: c_uint = 0x0549;
8578
8579/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_undefined?language=objc)
8580pub const kHIDUsage_BD_Undefined: c_uint = 0x00;
8581/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_brailledisplay?language=objc)
8582pub const kHIDUsage_BD_BrailleDisplay: c_uint = 0x01;
8583/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillerow?language=objc)
8584pub const kHIDUsage_BD_BrailleRow: c_uint = 0x02;
8585/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_8dotbraillecell?language=objc)
8586pub const kHIDUsage_BD_8DotBrailleCell: c_uint = 0x03;
8587/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_6dotbraillecell?language=objc)
8588pub const kHIDUsage_BD_6DotBrailleCell: c_uint = 0x04;
8589/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_numberofbraillecells?language=objc)
8590pub const kHIDUsage_BD_NumberOfBrailleCells: c_uint = 0x05;
8591/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_screenreadercontrol?language=objc)
8592pub const kHIDUsage_BD_ScreenReaderControl: c_uint = 0x06;
8593/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_screenreaderidentifier?language=objc)
8594pub const kHIDUsage_BD_ScreenReaderIdentifier: c_uint = 0x07;
8595/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_routerset1?language=objc)
8596pub const kHIDUsage_BD_RouterSet1: c_uint = 0xFA;
8597/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_routerset2?language=objc)
8598pub const kHIDUsage_BD_RouterSet2: c_uint = 0xFB;
8599/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_routerset3?language=objc)
8600pub const kHIDUsage_BD_RouterSet3: c_uint = 0xFC;
8601/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_routerkey?language=objc)
8602pub const kHIDUsage_BD_RouterKey: c_uint = 0x100;
8603/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_rowrouterkey?language=objc)
8604pub const kHIDUsage_BD_RowRouterKey: c_uint = 0x101;
8605/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillebuttons?language=objc)
8606pub const kHIDUsage_BD_BrailleButtons: c_uint = 0x200;
8607/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillekeyboarddot1?language=objc)
8608pub const kHIDUsage_BD_BrailleKeyboardDot1: c_uint = 0x201;
8609/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillekeyboarddot2?language=objc)
8610pub const kHIDUsage_BD_BrailleKeyboardDot2: c_uint = 0x202;
8611/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillekeyboarddot3?language=objc)
8612pub const kHIDUsage_BD_BrailleKeyboardDot3: c_uint = 0x203;
8613/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillekeyboarddot4?language=objc)
8614pub const kHIDUsage_BD_BrailleKeyboardDot4: c_uint = 0x204;
8615/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillekeyboarddot5?language=objc)
8616pub const kHIDUsage_BD_BrailleKeyboardDot5: c_uint = 0x205;
8617/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillekeyboarddot6?language=objc)
8618pub const kHIDUsage_BD_BrailleKeyboardDot6: c_uint = 0x206;
8619/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillekeyboarddot7?language=objc)
8620pub const kHIDUsage_BD_BrailleKeyboardDot7: c_uint = 0x207;
8621/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillekeyboarddot8?language=objc)
8622pub const kHIDUsage_BD_BrailleKeyboardDot8: c_uint = 0x208;
8623/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillekeyboardspace?language=objc)
8624pub const kHIDUsage_BD_BrailleKeyboardSpace: c_uint = 0x209;
8625/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillekeyboardleftspace?language=objc)
8626pub const kHIDUsage_BD_BrailleKeyboardLeftSpace: c_uint = 0x20A;
8627/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillekeyboardrightspace?language=objc)
8628pub const kHIDUsage_BD_BrailleKeyboardRightSpace: c_uint = 0x20B;
8629/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillefacecontrols?language=objc)
8630pub const kHIDUsage_BD_BrailleFaceControls: c_uint = 0x20C;
8631/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_brailleleftcontrols?language=objc)
8632pub const kHIDUsage_BD_BrailleLeftControls: c_uint = 0x20D;
8633/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillerightcontrols?language=objc)
8634pub const kHIDUsage_BD_BrailleRightControls: c_uint = 0x20E;
8635/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_brailletopcontrols?language=objc)
8636pub const kHIDUsage_BD_BrailleTopControls: c_uint = 0x20F;
8637/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillejoystickcenter?language=objc)
8638pub const kHIDUsage_BD_BrailleJoystickCenter: c_uint = 0x210;
8639/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillejoystickup?language=objc)
8640pub const kHIDUsage_BD_BrailleJoystickUp: c_uint = 0x211;
8641/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillejoystickdown?language=objc)
8642pub const kHIDUsage_BD_BrailleJoystickDown: c_uint = 0x212;
8643/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillejoystickleft?language=objc)
8644pub const kHIDUsage_BD_BrailleJoystickLeft: c_uint = 0x213;
8645/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillejoystickright?language=objc)
8646pub const kHIDUsage_BD_BrailleJoystickRight: c_uint = 0x214;
8647/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_brailledpadcenter?language=objc)
8648pub const kHIDUsage_BD_BrailleDPadCenter: c_uint = 0x215;
8649/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_brailledpadup?language=objc)
8650pub const kHIDUsage_BD_BrailleDPadUp: c_uint = 0x216;
8651/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_brailledpaddown?language=objc)
8652pub const kHIDUsage_BD_BrailleDPadDown: c_uint = 0x217;
8653/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_brailledpadleft?language=objc)
8654pub const kHIDUsage_BD_BrailleDPadLeft: c_uint = 0x218;
8655/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_brailledpadright?language=objc)
8656pub const kHIDUsage_BD_BrailleDPadRight: c_uint = 0x219;
8657/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillepanleft?language=objc)
8658pub const kHIDUsage_BD_BraillePanLeft: c_uint = 0x21A;
8659/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillepanright?language=objc)
8660pub const kHIDUsage_BD_BraillePanRight: c_uint = 0x21B;
8661/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillerockerup?language=objc)
8662pub const kHIDUsage_BD_BrailleRockerUp: c_uint = 0x21C;
8663/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillerockerdown?language=objc)
8664pub const kHIDUsage_BD_BrailleRockerDown: c_uint = 0x21D;
8665/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bd_braillerockerpress?language=objc)
8666pub const kHIDUsage_BD_BrailleRockerPress: c_uint = 0x21E;
8667
8668/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_undefined?language=objc)
8669pub const kHIDUsage_PD_Undefined: c_uint = 0x00;
8670/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_iname?language=objc)
8671pub const kHIDUsage_PD_iName: c_uint = 0x01;
8672/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_presentstatus?language=objc)
8673pub const kHIDUsage_PD_PresentStatus: c_uint = 0x02;
8674/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_changedstatus?language=objc)
8675pub const kHIDUsage_PD_ChangedStatus: c_uint = 0x03;
8676/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_ups?language=objc)
8677pub const kHIDUsage_PD_UPS: c_uint = 0x04;
8678/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_powersupply?language=objc)
8679pub const kHIDUsage_PD_PowerSupply: c_uint = 0x05;
8680/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_peripheraldevice?language=objc)
8681pub const kHIDUsage_PD_PeripheralDevice: c_uint = 0x06;
8682/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_batterysystem?language=objc)
8683pub const kHIDUsage_PD_BatterySystem: c_uint = 0x10;
8684/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_batterysystemid?language=objc)
8685pub const kHIDUsage_PD_BatterySystemID: c_uint = 0x11;
8686/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_battery?language=objc)
8687pub const kHIDUsage_PD_Battery: c_uint = 0x12;
8688/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_batteryid?language=objc)
8689pub const kHIDUsage_PD_BatteryID: c_uint = 0x13;
8690/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_charger?language=objc)
8691pub const kHIDUsage_PD_Charger: c_uint = 0x14;
8692/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_chargerid?language=objc)
8693pub const kHIDUsage_PD_ChargerID: c_uint = 0x15;
8694/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_powerconverter?language=objc)
8695pub const kHIDUsage_PD_PowerConverter: c_uint = 0x16;
8696/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_powerconverterid?language=objc)
8697pub const kHIDUsage_PD_PowerConverterID: c_uint = 0x17;
8698/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_outletsystem?language=objc)
8699pub const kHIDUsage_PD_OutletSystem: c_uint = 0x18;
8700/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_outletsystemid?language=objc)
8701pub const kHIDUsage_PD_OutletSystemID: c_uint = 0x19;
8702/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_input?language=objc)
8703pub const kHIDUsage_PD_Input: c_uint = 0x1A;
8704/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_inputid?language=objc)
8705pub const kHIDUsage_PD_InputID: c_uint = 0x1B;
8706/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_output?language=objc)
8707pub const kHIDUsage_PD_Output: c_uint = 0x1C;
8708/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_outputid?language=objc)
8709pub const kHIDUsage_PD_OutputID: c_uint = 0x1D;
8710/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_flow?language=objc)
8711pub const kHIDUsage_PD_Flow: c_uint = 0x1E;
8712/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_flowid?language=objc)
8713pub const kHIDUsage_PD_FlowID: c_uint = 0x1F;
8714/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_outlet?language=objc)
8715pub const kHIDUsage_PD_Outlet: c_uint = 0x20;
8716/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_outletid?language=objc)
8717pub const kHIDUsage_PD_OutletID: c_uint = 0x21;
8718/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_gang?language=objc)
8719pub const kHIDUsage_PD_Gang: c_uint = 0x22;
8720/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_gangid?language=objc)
8721pub const kHIDUsage_PD_GangID: c_uint = 0x23;
8722/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_powersummary?language=objc)
8723pub const kHIDUsage_PD_PowerSummary: c_uint = 0x24;
8724/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_powersummaryid?language=objc)
8725pub const kHIDUsage_PD_PowerSummaryID: c_uint = 0x25;
8726/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_voltage?language=objc)
8727pub const kHIDUsage_PD_Voltage: c_uint = 0x30;
8728/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_current?language=objc)
8729pub const kHIDUsage_PD_Current: c_uint = 0x31;
8730/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_frequency?language=objc)
8731pub const kHIDUsage_PD_Frequency: c_uint = 0x32;
8732/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_apparentpower?language=objc)
8733pub const kHIDUsage_PD_ApparentPower: c_uint = 0x33;
8734/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_activepower?language=objc)
8735pub const kHIDUsage_PD_ActivePower: c_uint = 0x34;
8736/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_percentload?language=objc)
8737pub const kHIDUsage_PD_PercentLoad: c_uint = 0x35;
8738/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_temperature?language=objc)
8739pub const kHIDUsage_PD_Temperature: c_uint = 0x36;
8740/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_humidity?language=objc)
8741pub const kHIDUsage_PD_Humidity: c_uint = 0x37;
8742/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_badcount?language=objc)
8743pub const kHIDUsage_PD_BadCount: c_uint = 0x38;
8744/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_configvoltage?language=objc)
8745pub const kHIDUsage_PD_ConfigVoltage: c_uint = 0x40;
8746/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_configcurrent?language=objc)
8747pub const kHIDUsage_PD_ConfigCurrent: c_uint = 0x41;
8748/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_configfrequency?language=objc)
8749pub const kHIDUsage_PD_ConfigFrequency: c_uint = 0x42;
8750/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_configapparentpower?language=objc)
8751pub const kHIDUsage_PD_ConfigApparentPower: c_uint = 0x43;
8752/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_configactivepower?language=objc)
8753pub const kHIDUsage_PD_ConfigActivePower: c_uint = 0x44;
8754/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_configpercentload?language=objc)
8755pub const kHIDUsage_PD_ConfigPercentLoad: c_uint = 0x45;
8756/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_configtemperature?language=objc)
8757pub const kHIDUsage_PD_ConfigTemperature: c_uint = 0x46;
8758/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_confighumidity?language=objc)
8759pub const kHIDUsage_PD_ConfigHumidity: c_uint = 0x47;
8760/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_switchoncontrol?language=objc)
8761pub const kHIDUsage_PD_SwitchOnControl: c_uint = 0x50;
8762/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_switchoffcontrol?language=objc)
8763pub const kHIDUsage_PD_SwitchOffControl: c_uint = 0x51;
8764/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_togglecontrol?language=objc)
8765pub const kHIDUsage_PD_ToggleControl: c_uint = 0x52;
8766/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_lowvoltagetransfer?language=objc)
8767pub const kHIDUsage_PD_LowVoltageTransfer: c_uint = 0x53;
8768/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_highvoltagetransfer?language=objc)
8769pub const kHIDUsage_PD_HighVoltageTransfer: c_uint = 0x54;
8770/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_delaybeforereboot?language=objc)
8771pub const kHIDUsage_PD_DelayBeforeReboot: c_uint = 0x55;
8772/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_delaybeforestartup?language=objc)
8773pub const kHIDUsage_PD_DelayBeforeStartup: c_uint = 0x56;
8774/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_delaybeforeshutdown?language=objc)
8775pub const kHIDUsage_PD_DelayBeforeShutdown: c_uint = 0x57;
8776/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_test?language=objc)
8777pub const kHIDUsage_PD_Test: c_uint = 0x58;
8778/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_modulereset?language=objc)
8779pub const kHIDUsage_PD_ModuleReset: c_uint = 0x59;
8780/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_audiblealarmcontrol?language=objc)
8781pub const kHIDUsage_PD_AudibleAlarmControl: c_uint = 0x5A;
8782/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_present?language=objc)
8783pub const kHIDUsage_PD_Present: c_uint = 0x60;
8784/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_good?language=objc)
8785pub const kHIDUsage_PD_Good: c_uint = 0x61;
8786/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_internalfailure?language=objc)
8787pub const kHIDUsage_PD_InternalFailure: c_uint = 0x62;
8788/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_voltageoutofrange?language=objc)
8789pub const kHIDUsage_PD_VoltageOutOfRange: c_uint = 0x63;
8790/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_frequencyoutofrange?language=objc)
8791pub const kHIDUsage_PD_FrequencyOutOfRange: c_uint = 0x64;
8792/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_overload?language=objc)
8793pub const kHIDUsage_PD_Overload: c_uint = 0x65;
8794/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_overcharged?language=objc)
8795pub const kHIDUsage_PD_OverCharged: c_uint = 0x66;
8796/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_overtemperature?language=objc)
8797pub const kHIDUsage_PD_OverTemperature: c_uint = 0x67;
8798/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_shutdownrequested?language=objc)
8799pub const kHIDUsage_PD_ShutdownRequested: c_uint = 0x68;
8800/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_shutdownimminent?language=objc)
8801pub const kHIDUsage_PD_ShutdownImminent: c_uint = 0x69;
8802/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_switchonoff?language=objc)
8803pub const kHIDUsage_PD_SwitchOnOff: c_uint = 0x6B;
8804/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_switchable?language=objc)
8805pub const kHIDUsage_PD_Switchable: c_uint = 0x6C;
8806/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_used?language=objc)
8807pub const kHIDUsage_PD_Used: c_uint = 0x6D;
8808/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_boost?language=objc)
8809pub const kHIDUsage_PD_Boost: c_uint = 0x6E;
8810/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_buck?language=objc)
8811pub const kHIDUsage_PD_Buck: c_uint = 0x6F;
8812/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_initialized?language=objc)
8813pub const kHIDUsage_PD_Initialized: c_uint = 0x70;
8814/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_tested?language=objc)
8815pub const kHIDUsage_PD_Tested: c_uint = 0x71;
8816/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_awaitingpower?language=objc)
8817pub const kHIDUsage_PD_AwaitingPower: c_uint = 0x72;
8818/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_communicationlost?language=objc)
8819pub const kHIDUsage_PD_CommunicationLost: c_uint = 0x73;
8820/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_imanufacturer?language=objc)
8821pub const kHIDUsage_PD_iManufacturer: c_uint = 0xFD;
8822/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_iproduct?language=objc)
8823pub const kHIDUsage_PD_iProduct: c_uint = 0xFE;
8824/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_pd_iserialnumber?language=objc)
8825pub const kHIDUsage_PD_iserialNumber: c_uint = 0xFF;
8826
8827/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_undefined?language=objc)
8828pub const kHIDUsage_BS_Undefined: c_uint = 0x00;
8829/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_smbbatterymode?language=objc)
8830pub const kHIDUsage_BS_SMBBatteryMode: c_uint = 0x01;
8831/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_smbbatterystatus?language=objc)
8832pub const kHIDUsage_BS_SMBBatteryStatus: c_uint = 0x02;
8833/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_smbalarmwarning?language=objc)
8834pub const kHIDUsage_BS_SMBAlarmWarning: c_uint = 0x03;
8835/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_smbchargermode?language=objc)
8836pub const kHIDUsage_BS_SMBChargerMode: c_uint = 0x04;
8837/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_smbchargerstatus?language=objc)
8838pub const kHIDUsage_BS_SMBChargerStatus: c_uint = 0x05;
8839/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_smbchargerspecinfo?language=objc)
8840pub const kHIDUsage_BS_SMBChargerSpecInfo: c_uint = 0x06;
8841/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_smbselectorstate?language=objc)
8842pub const kHIDUsage_BS_SMBSelectorState: c_uint = 0x07;
8843/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_smbselectorpresets?language=objc)
8844pub const kHIDUsage_BS_SMBSelectorPresets: c_uint = 0x08;
8845/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_smbselectorinfo?language=objc)
8846pub const kHIDUsage_BS_SMBSelectorInfo: c_uint = 0x09;
8847/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_optionalmfgfunction1?language=objc)
8848pub const kHIDUsage_BS_OptionalMfgFunction1: c_uint = 0x10;
8849/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_optionalmfgfunction2?language=objc)
8850pub const kHIDUsage_BS_OptionalMfgFunction2: c_uint = 0x11;
8851/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_optionalmfgfunction3?language=objc)
8852pub const kHIDUsage_BS_OptionalMfgFunction3: c_uint = 0x12;
8853/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_optionalmfgfunction4?language=objc)
8854pub const kHIDUsage_BS_OptionalMfgFunction4: c_uint = 0x13;
8855/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_optionalmfgfunction5?language=objc)
8856pub const kHIDUsage_BS_OptionalMfgFunction5: c_uint = 0x14;
8857/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_connectiontosmbus?language=objc)
8858pub const kHIDUsage_BS_ConnectionToSMBus: c_uint = 0x15;
8859/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_outputconnection?language=objc)
8860pub const kHIDUsage_BS_OutputConnection: c_uint = 0x16;
8861/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_chargerconnection?language=objc)
8862pub const kHIDUsage_BS_ChargerConnection: c_uint = 0x17;
8863/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_batteryinsertion?language=objc)
8864pub const kHIDUsage_BS_BatteryInsertion: c_uint = 0x18;
8865/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_usenext?language=objc)
8866pub const kHIDUsage_BS_Usenext: c_uint = 0x19;
8867/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_oktouse?language=objc)
8868pub const kHIDUsage_BS_OKToUse: c_uint = 0x1A;
8869/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_batterysupported?language=objc)
8870pub const kHIDUsage_BS_BatterySupported: c_uint = 0x1B;
8871/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_selectorrevision?language=objc)
8872pub const kHIDUsage_BS_SelectorRevision: c_uint = 0x1C;
8873/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_chargingindicator?language=objc)
8874pub const kHIDUsage_BS_ChargingIndicator: c_uint = 0x1D;
8875/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_manufactureraccess?language=objc)
8876pub const kHIDUsage_BS_ManufacturerAccess: c_uint = 0x28;
8877/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_remainingcapacitylimit?language=objc)
8878pub const kHIDUsage_BS_RemainingCapacityLimit: c_uint = 0x29;
8879/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_remainingtimelimit?language=objc)
8880pub const kHIDUsage_BS_RemainingTimeLimit: c_uint = 0x2A;
8881/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_atrate?language=objc)
8882pub const kHIDUsage_BS_AtRate: c_uint = 0x2B;
8883/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_capacitymode?language=objc)
8884pub const kHIDUsage_BS_CapacityMode: c_uint = 0x2C;
8885/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_broadcasttocharger?language=objc)
8886pub const kHIDUsage_BS_BroadcastToCharger: c_uint = 0x2D;
8887/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_primarybattery?language=objc)
8888pub const kHIDUsage_BS_PrimaryBattery: c_uint = 0x2E;
8889/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_chargecontroller?language=objc)
8890pub const kHIDUsage_BS_ChargeController: c_uint = 0x2F;
8891/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_terminatecharge?language=objc)
8892pub const kHIDUsage_BS_TerminateCharge: c_uint = 0x40;
8893/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_terminatedischarge?language=objc)
8894pub const kHIDUsage_BS_TerminateDischarge: c_uint = 0x41;
8895/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_belowremainingcapacitylimit?language=objc)
8896pub const kHIDUsage_BS_BelowRemainingCapacityLimit: c_uint = 0x42;
8897/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_remainingtimelimitexpired?language=objc)
8898pub const kHIDUsage_BS_RemainingTimeLimitExpired: c_uint = 0x43;
8899/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_charging?language=objc)
8900pub const kHIDUsage_BS_Charging: c_uint = 0x44;
8901/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_discharging?language=objc)
8902pub const kHIDUsage_BS_Discharging: c_uint = 0x45;
8903/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_fullycharged?language=objc)
8904pub const kHIDUsage_BS_FullyCharged: c_uint = 0x46;
8905/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_fullydischarged?language=objc)
8906pub const kHIDUsage_BS_FullyDischarged: c_uint = 0x47;
8907/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_conditioningflag?language=objc)
8908pub const kHIDUsage_BS_ConditioningFlag: c_uint = 0x48;
8909/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_atrateok?language=objc)
8910pub const kHIDUsage_BS_AtRateOK: c_uint = 0x49;
8911/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_smberrorcode?language=objc)
8912pub const kHIDUsage_BS_SMBErrorCode: c_uint = 0x4A;
8913/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_needreplacement?language=objc)
8914pub const kHIDUsage_BS_NeedReplacement: c_uint = 0x4B;
8915/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_atratetimetofull?language=objc)
8916pub const kHIDUsage_BS_AtRateTimeToFull: c_uint = 0x60;
8917/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_atratetimetoempty?language=objc)
8918pub const kHIDUsage_BS_AtRateTimeToEmpty: c_uint = 0x61;
8919/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_averagecurrent?language=objc)
8920pub const kHIDUsage_BS_AverageCurrent: c_uint = 0x62;
8921/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_maxerror?language=objc)
8922pub const kHIDUsage_BS_Maxerror: c_uint = 0x63;
8923/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_relativestateofcharge?language=objc)
8924pub const kHIDUsage_BS_RelativeStateOfCharge: c_uint = 0x64;
8925/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_absolutestateofcharge?language=objc)
8926pub const kHIDUsage_BS_AbsoluteStateOfCharge: c_uint = 0x65;
8927/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_remainingcapacity?language=objc)
8928pub const kHIDUsage_BS_RemainingCapacity: c_uint = 0x66;
8929/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_fullchargecapacity?language=objc)
8930pub const kHIDUsage_BS_FullChargeCapacity: c_uint = 0x67;
8931/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_runtimetoempty?language=objc)
8932pub const kHIDUsage_BS_RunTimeToEmpty: c_uint = 0x68;
8933/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_averagetimetoempty?language=objc)
8934pub const kHIDUsage_BS_AverageTimeToEmpty: c_uint = 0x69;
8935/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_averagetimetofull?language=objc)
8936pub const kHIDUsage_BS_AverageTimeToFull: c_uint = 0x6A;
8937/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_cyclecount?language=objc)
8938pub const kHIDUsage_BS_CycleCount: c_uint = 0x6B;
8939/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_battpackmodellevel?language=objc)
8940pub const kHIDUsage_BS_BattPackModelLevel: c_uint = 0x80;
8941/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_internalchargecontroller?language=objc)
8942pub const kHIDUsage_BS_InternalChargeController: c_uint = 0x81;
8943/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_primarybatterysupport?language=objc)
8944pub const kHIDUsage_BS_PrimaryBatterySupport: c_uint = 0x82;
8945/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_designcapacity?language=objc)
8946pub const kHIDUsage_BS_DesignCapacity: c_uint = 0x83;
8947/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_specificationinfo?language=objc)
8948pub const kHIDUsage_BS_SpecificationInfo: c_uint = 0x84;
8949/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_manufacturerdate?language=objc)
8950pub const kHIDUsage_BS_ManufacturerDate: c_uint = 0x85;
8951/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_serialnumber?language=objc)
8952pub const kHIDUsage_BS_SerialNumber: c_uint = 0x86;
8953/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_imanufacturername?language=objc)
8954pub const kHIDUsage_BS_iManufacturerName: c_uint = 0x87;
8955/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_idevicename?language=objc)
8956pub const kHIDUsage_BS_iDevicename: c_uint = 0x88;
8957/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_idevicechemistry?language=objc)
8958pub const kHIDUsage_BS_iDeviceChemistry: c_uint = 0x89;
8959/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_manufacturerdata?language=objc)
8960pub const kHIDUsage_BS_ManufacturerData: c_uint = 0x8A;
8961/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_rechargable?language=objc)
8962pub const kHIDUsage_BS_Rechargable: c_uint = 0x8B;
8963/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_warningcapacitylimit?language=objc)
8964pub const kHIDUsage_BS_WarningCapacityLimit: c_uint = 0x8C;
8965/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_capacitygranularity1?language=objc)
8966pub const kHIDUsage_BS_CapacityGranularity1: c_uint = 0x8D;
8967/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_capacitygranularity2?language=objc)
8968pub const kHIDUsage_BS_CapacityGranularity2: c_uint = 0x8E;
8969/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_ioeminformation?language=objc)
8970pub const kHIDUsage_BS_iOEMInformation: c_uint = 0x8F;
8971/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_inhibitcharge?language=objc)
8972pub const kHIDUsage_BS_InhibitCharge: c_uint = 0xC0;
8973/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_enablepolling?language=objc)
8974pub const kHIDUsage_BS_EnablePolling: c_uint = 0xC1;
8975/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_resettozero?language=objc)
8976pub const kHIDUsage_BS_ResetToZero: c_uint = 0xC2;
8977/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_acpresent?language=objc)
8978pub const kHIDUsage_BS_ACPresent: c_uint = 0xD0;
8979/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_batterypresent?language=objc)
8980pub const kHIDUsage_BS_BatteryPresent: c_uint = 0xD1;
8981/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_powerfail?language=objc)
8982pub const kHIDUsage_BS_PowerFail: c_uint = 0xD2;
8983/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_alarminhibited?language=objc)
8984pub const kHIDUsage_BS_AlarmInhibited: c_uint = 0xD3;
8985/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_thermistorunderrange?language=objc)
8986pub const kHIDUsage_BS_ThermistorUnderRange: c_uint = 0xD4;
8987/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_thermistorhot?language=objc)
8988pub const kHIDUsage_BS_ThermistorHot: c_uint = 0xD5;
8989/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_thermistorcold?language=objc)
8990pub const kHIDUsage_BS_ThermistorCold: c_uint = 0xD6;
8991/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_thermistoroverrange?language=objc)
8992pub const kHIDUsage_BS_ThermistorOverRange: c_uint = 0xD7;
8993/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_voltageoutofrange?language=objc)
8994pub const kHIDUsage_BS_VoltageOutOfRange: c_uint = 0xD8;
8995/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_currentoutofrange?language=objc)
8996pub const kHIDUsage_BS_CurrentOutOfRange: c_uint = 0xD9;
8997/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_currentnotregulated?language=objc)
8998pub const kHIDUsage_BS_CurrentNotRegulated: c_uint = 0xDA;
8999/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_voltagenotregulated?language=objc)
9000pub const kHIDUsage_BS_VoltageNotRegulated: c_uint = 0xDB;
9001/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_mastermode?language=objc)
9002pub const kHIDUsage_BS_MasterMode: c_uint = 0xDC;
9003/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_chargerselectorsupport?language=objc)
9004pub const kHIDUsage_BS_ChargerSelectorSupport: c_uint = 0xF0;
9005/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_chargerspec?language=objc)
9006pub const kHIDUsage_BS_ChargerSpec: c_uint = 0xF1;
9007/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_level2?language=objc)
9008pub const kHIDUsage_BS_Level2: c_uint = 0xF2;
9009/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bs_level3?language=objc)
9010pub const kHIDUsage_BS_Level3: c_uint = 0xF3;
9011
9012/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_undefined?language=objc)
9013pub const kHIDUsage_BCS_Undefined: c_uint = 0x00;
9014/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_badgereader?language=objc)
9015pub const kHIDUsage_BCS_BadgeReader: c_uint = 0x01;
9016/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_barcodescanner?language=objc)
9017pub const kHIDUsage_BCS_BarCodeScanner: c_uint = 0x02;
9018/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_dumbbarcodescanner?language=objc)
9019pub const kHIDUsage_BCS_DumbBarCodeScanner: c_uint = 0x03;
9020/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_cordlessscannerbase?language=objc)
9021pub const kHIDUsage_BCS_CordlessScannerBase: c_uint = 0x04;
9022/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_barcodescannercradle?language=objc)
9023pub const kHIDUsage_BCS_BarCodeScannerCradle: c_uint = 0x05;
9024/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_attributereport?language=objc)
9025pub const kHIDUsage_BCS_AttributeReport: c_uint = 0x10;
9026/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_settingsreport?language=objc)
9027pub const kHIDUsage_BCS_SettingsReport: c_uint = 0x11;
9028/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_scanneddatareport?language=objc)
9029pub const kHIDUsage_BCS_ScannedDataReport: c_uint = 0x12;
9030/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_rawscanneddatareport?language=objc)
9031pub const kHIDUsage_BCS_RawScannedDataReport: c_uint = 0x13;
9032/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_triggerreport?language=objc)
9033pub const kHIDUsage_BCS_TriggerReport: c_uint = 0x14;
9034/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_statusreport?language=objc)
9035pub const kHIDUsage_BCS_StatusReport: c_uint = 0x15;
9036/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_upc_eancontrolreport?language=objc)
9037pub const kHIDUsage_BCS_UPC_EANControlReport: c_uint = 0x16;
9038/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ean2_3labelcontrolreport?language=objc)
9039pub const kHIDUsage_BCS_EAN2_3LabelControlReport: c_uint = 0x17;
9040/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_code39controlreport?language=objc)
9041pub const kHIDUsage_BCS_Code39ControlReport: c_uint = 0x18;
9042/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_interleaved2of5controlreport?language=objc)
9043pub const kHIDUsage_BCS_Interleaved2of5ControlReport: c_uint = 0x19;
9044/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_standard2of5controlreport?language=objc)
9045pub const kHIDUsage_BCS_Standard2of5ControlReport: c_uint = 0x1A;
9046/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_msiplesseycontrolreport?language=objc)
9047pub const kHIDUsage_BCS_MSIPlesseyControlReport: c_uint = 0x1B;
9048/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_codabarcontrolreport?language=objc)
9049pub const kHIDUsage_BCS_CodabarControlReport: c_uint = 0x1C;
9050/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_code128controlreport?language=objc)
9051pub const kHIDUsage_BCS_Code128ControlReport: c_uint = 0x1D;
9052/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_misc1dcontrolreport?language=objc)
9053pub const kHIDUsage_BCS_Misc1DControlReport: c_uint = 0x1E;
9054/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_2dcontrolreport?language=objc)
9055pub const kHIDUsage_BCS_2DControlReport: c_uint = 0x1F;
9056/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_aiming_pointermide?language=objc)
9057pub const kHIDUsage_BCS_Aiming_PointerMide: c_uint = 0x30;
9058/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_barcodepresentsensor?language=objc)
9059pub const kHIDUsage_BCS_BarCodePresentSensor: c_uint = 0x31;
9060/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_class1alaser?language=objc)
9061pub const kHIDUsage_BCS_Class1ALaser: c_uint = 0x32;
9062/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_class2laser?language=objc)
9063pub const kHIDUsage_BCS_Class2Laser: c_uint = 0x33;
9064/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_heaterpresent?language=objc)
9065pub const kHIDUsage_BCS_HeaterPresent: c_uint = 0x34;
9066/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_contactscanner?language=objc)
9067pub const kHIDUsage_BCS_ContactScanner: c_uint = 0x35;
9068/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_electronicarticlesurveillancenotification?language=objc)
9069pub const kHIDUsage_BCS_ElectronicArticleSurveillanceNotification: c_uint = 0x36;
9070/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_constantelectronicarticlesurveillance?language=objc)
9071pub const kHIDUsage_BCS_ConstantElectronicArticleSurveillance: c_uint = 0x37;
9072/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_errorindication?language=objc)
9073pub const kHIDUsage_BCS_ErrorIndication: c_uint = 0x38;
9074/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_fixedbeeper?language=objc)
9075pub const kHIDUsage_BCS_FixedBeeper: c_uint = 0x39;
9076/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_gooddecodeindication?language=objc)
9077pub const kHIDUsage_BCS_GoodDecodeIndication: c_uint = 0x3A;
9078/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_handsfreescanning?language=objc)
9079pub const kHIDUsage_BCS_HandsFreeScanning: c_uint = 0x3B;
9080/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_intrinsicallysafe?language=objc)
9081pub const kHIDUsage_BCS_IntrinsicallySafe: c_uint = 0x3C;
9082/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_klasseeinslaser?language=objc)
9083pub const kHIDUsage_BCS_KlasseEinsLaser: c_uint = 0x3D;
9084/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_longrangescanner?language=objc)
9085pub const kHIDUsage_BCS_LongRangeScanner: c_uint = 0x3E;
9086/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_mirrorspeedcontrol?language=objc)
9087pub const kHIDUsage_BCS_MirrorSpeedControl: c_uint = 0x3F;
9088/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_notonfileindication?language=objc)
9089pub const kHIDUsage_BCS_NotOnFileIndication: c_uint = 0x40;
9090/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_programmablebeeper?language=objc)
9091pub const kHIDUsage_BCS_ProgrammableBeeper: c_uint = 0x41;
9092/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_triggerless?language=objc)
9093pub const kHIDUsage_BCS_Triggerless: c_uint = 0x42;
9094/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_wand?language=objc)
9095pub const kHIDUsage_BCS_Wand: c_uint = 0x43;
9096/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_waterresistant?language=objc)
9097pub const kHIDUsage_BCS_WaterResistant: c_uint = 0x44;
9098/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_multirangescanner?language=objc)
9099pub const kHIDUsage_BCS_MultiRangeScanner: c_uint = 0x45;
9100/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_proximitysensor?language=objc)
9101pub const kHIDUsage_BCS_ProximitySensor: c_uint = 0x46;
9102/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_fragmentdecoding?language=objc)
9103pub const kHIDUsage_BCS_FragmentDecoding: c_uint = 0x4D;
9104/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_scannerreadconfidence?language=objc)
9105pub const kHIDUsage_BCS_ScannerReadConfidence: c_uint = 0x4E;
9106/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_dataprefix?language=objc)
9107pub const kHIDUsage_BCS_DataPrefix: c_uint = 0x4F;
9108/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_prefixaimi?language=objc)
9109pub const kHIDUsage_BCS_PrefixAIMI: c_uint = 0x50;
9110/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_prefixnone?language=objc)
9111pub const kHIDUsage_BCS_PrefixNone: c_uint = 0x51;
9112/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_prefixproprietary?language=objc)
9113pub const kHIDUsage_BCS_PrefixProprietary: c_uint = 0x52;
9114/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_activetime?language=objc)
9115pub const kHIDUsage_BCS_ActiveTime: c_uint = 0x55;
9116/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_aiminglaserpattern?language=objc)
9117pub const kHIDUsage_BCS_AimingLaserPattern: c_uint = 0x56;
9118/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_barcodepresent?language=objc)
9119pub const kHIDUsage_BCS_BarCodePresent: c_uint = 0x57;
9120/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_beeperstate?language=objc)
9121pub const kHIDUsage_BCS_BeeperState: c_uint = 0x58;
9122/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_laserontime?language=objc)
9123pub const kHIDUsage_BCS_LaserOnTime: c_uint = 0x59;
9124/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_laserstate?language=objc)
9125pub const kHIDUsage_BCS_LaserState: c_uint = 0x5A;
9126/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_lockouttime?language=objc)
9127pub const kHIDUsage_BCS_LockoutTime: c_uint = 0x5B;
9128/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_motorstate?language=objc)
9129pub const kHIDUsage_BCS_MotorState: c_uint = 0x5C;
9130/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_motortimeout?language=objc)
9131pub const kHIDUsage_BCS_MotorTimeout: c_uint = 0x5D;
9132/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_poweronresetscanner?language=objc)
9133pub const kHIDUsage_BCS_PowerOnResetScanner: c_uint = 0x5E;
9134/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_preventreadofbarcodes?language=objc)
9135pub const kHIDUsage_BCS_PreventReadOfBarcodes: c_uint = 0x5F;
9136/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_initiatebarcoderead?language=objc)
9137pub const kHIDUsage_BCS_InitiateBarcodeRead: c_uint = 0x60;
9138/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_triggerstate?language=objc)
9139pub const kHIDUsage_BCS_TriggerState: c_uint = 0x61;
9140/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_triggermode?language=objc)
9141pub const kHIDUsage_BCS_TriggerMode: c_uint = 0x62;
9142/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_triggermodeblinkinglaseron?language=objc)
9143pub const kHIDUsage_BCS_TriggerModeBlinkingLaserOn: c_uint = 0x63;
9144/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_triggermodecontinuouslaseron?language=objc)
9145pub const kHIDUsage_BCS_TriggerModeContinuousLaserOn: c_uint = 0x64;
9146/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_triggermodelaseronwhilepulled?language=objc)
9147pub const kHIDUsage_BCS_TriggerModeLaserOnWhilePulled: c_uint = 0x65;
9148/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_triggermodelaserstaysonaftertriggerrelease?language=objc)
9149pub const kHIDUsage_BCS_TriggerModeLaserStaysOnAfterTriggerRelease: c_uint = 0x66;
9150/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_commitparameterstonvm?language=objc)
9151pub const kHIDUsage_BCS_CommitParametersToNVM: c_uint = 0x6D;
9152/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_parameterscanning?language=objc)
9153pub const kHIDUsage_BCS_ParameterScanning: c_uint = 0x6E;
9154/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_parameterschanged?language=objc)
9155pub const kHIDUsage_BCS_ParametersChanged: c_uint = 0x6F;
9156/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_setparameterdefaultvalues?language=objc)
9157pub const kHIDUsage_BCS_SetParameterDefaultValues: c_uint = 0x70;
9158/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_scannerincradle?language=objc)
9159pub const kHIDUsage_BCS_ScannerInCradle: c_uint = 0x75;
9160/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_scannerinrange?language=objc)
9161pub const kHIDUsage_BCS_ScannerInRange: c_uint = 0x76;
9162/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_aimduration?language=objc)
9163pub const kHIDUsage_BCS_AimDuration: c_uint = 0x7A;
9164/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_goodreadlampduration?language=objc)
9165pub const kHIDUsage_BCS_GoodReadLampDuration: c_uint = 0x7B;
9166/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_goodreadlampintensity?language=objc)
9167pub const kHIDUsage_BCS_GoodReadLampIntensity: c_uint = 0x7C;
9168/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_goodreadled?language=objc)
9169pub const kHIDUsage_BCS_GoodReadLED: c_uint = 0x7D;
9170/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_goodreadtonefrequency?language=objc)
9171pub const kHIDUsage_BCS_GoodReadToneFrequency: c_uint = 0x7E;
9172/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_goodreadtonelength?language=objc)
9173pub const kHIDUsage_BCS_GoodReadToneLength: c_uint = 0x7F;
9174/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_goodreadtonevolume?language=objc)
9175pub const kHIDUsage_BCS_GoodReadToneVolume: c_uint = 0x80;
9176/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_noreadmessage?language=objc)
9177pub const kHIDUsage_BCS_NoReadMessage: c_uint = 0x82;
9178/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_notonfilevolume?language=objc)
9179pub const kHIDUsage_BCS_NotOnFileVolume: c_uint = 0x83;
9180/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_powerupbeep?language=objc)
9181pub const kHIDUsage_BCS_PowerupBeep: c_uint = 0x84;
9182/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_sounderrorbeep?language=objc)
9183pub const kHIDUsage_BCS_SoundErrorBeep: c_uint = 0x85;
9184/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_soundgoodreadbeep?language=objc)
9185pub const kHIDUsage_BCS_SoundGoodReadBeep: c_uint = 0x86;
9186/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_soundnotonfilebeep?language=objc)
9187pub const kHIDUsage_BCS_SoundNotOnFileBeep: c_uint = 0x87;
9188/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_goodreadwhentowrite?language=objc)
9189pub const kHIDUsage_BCS_GoodReadWhenToWrite: c_uint = 0x88;
9190/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_grwtiafterdecode?language=objc)
9191pub const kHIDUsage_BCS_GRWTIAfterDecode: c_uint = 0x89;
9192/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_grwtibeep_lampaftertransmit?language=objc)
9193pub const kHIDUsage_BCS_GRWTIBeep_LampAfterTransmit: c_uint = 0x8A;
9194/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_grwtinobeep_lampuseatall?language=objc)
9195pub const kHIDUsage_BCS_GRWTINoBeep_LampUseAtAll: c_uint = 0x8B;
9196/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_booklandean?language=objc)
9197pub const kHIDUsage_BCS_BooklandEAN: c_uint = 0x91;
9198/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_convertean8to13type?language=objc)
9199pub const kHIDUsage_BCS_ConvertEAN8To13Type: c_uint = 0x92;
9200/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_convertupcatoean_13?language=objc)
9201pub const kHIDUsage_BCS_ConvertUPCAToEAN_13: c_uint = 0x93;
9202/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_convertupc_etoa?language=objc)
9203pub const kHIDUsage_BCS_ConvertUPC_EToA: c_uint = 0x94;
9204/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ean_13?language=objc)
9205pub const kHIDUsage_BCS_EAN_13: c_uint = 0x95;
9206/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ean_8?language=objc)
9207pub const kHIDUsage_BCS_EAN_8: c_uint = 0x96;
9208/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ean_99_128_mandatory?language=objc)
9209pub const kHIDUsage_BCS_EAN_99_128_Mandatory: c_uint = 0x97;
9210/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ean_99_p5_128_optional?language=objc)
9211pub const kHIDUsage_BCS_EAN_99_P5_128_Optional: c_uint = 0x98;
9212/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_upc_ean?language=objc)
9213pub const kHIDUsage_BCS_UPC_EAN: c_uint = 0x9A;
9214/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_upc_eancouponcode?language=objc)
9215pub const kHIDUsage_BCS_UPC_EANCouponCode: c_uint = 0x9B;
9216/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_upc_eanperiodicals?language=objc)
9217pub const kHIDUsage_BCS_UPC_EANPeriodicals: c_uint = 0x9C;
9218/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_upc_a?language=objc)
9219pub const kHIDUsage_BCS_UPC_A: c_uint = 0x9D;
9220/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_upc_awith128mandatory?language=objc)
9221pub const kHIDUsage_BCS_UPC_AWith128Mandatory: c_uint = 0x9E;
9222/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_upc_awith128optical?language=objc)
9223pub const kHIDUsage_BCS_UPC_AWith128Optical: c_uint = 0x9F;
9224/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_upc_awithp5optional?language=objc)
9225pub const kHIDUsage_BCS_UPC_AWithP5Optional: c_uint = 0xA0;
9226/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_upc_e?language=objc)
9227pub const kHIDUsage_BCS_UPC_E: c_uint = 0xA1;
9228/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_upc_e1?language=objc)
9229pub const kHIDUsage_BCS_UPC_E1: c_uint = 0xA2;
9230/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_periodical?language=objc)
9231pub const kHIDUsage_BCS_Periodical: c_uint = 0xA9;
9232/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_periodicalautodiscriminateplus2?language=objc)
9233pub const kHIDUsage_BCS_PeriodicalAutoDiscriminatePlus2: c_uint = 0xAA;
9234/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_periodicalonlydecodewithplus2?language=objc)
9235pub const kHIDUsage_BCS_PeriodicalOnlyDecodeWithPlus2: c_uint = 0xAB;
9236/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_periodicalignoreplus2?language=objc)
9237pub const kHIDUsage_BCS_PeriodicalIgnorePlus2: c_uint = 0xAC;
9238/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_periodicalautodiscriminateplus5?language=objc)
9239pub const kHIDUsage_BCS_PeriodicalAutoDiscriminatePlus5: c_uint = 0xAD;
9240/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_periodicalonlydecodewithplus5?language=objc)
9241pub const kHIDUsage_BCS_PeriodicalOnlyDecodeWithPlus5: c_uint = 0xAE;
9242/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_periodicalignoreplus5?language=objc)
9243pub const kHIDUsage_BCS_PeriodicalIgnorePlus5: c_uint = 0xAF;
9244/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_check?language=objc)
9245pub const kHIDUsage_BCS_Check: c_uint = 0xB0;
9246/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkdisableprice?language=objc)
9247pub const kHIDUsage_BCS_CheckDisablePrice: c_uint = 0xB1;
9248/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkenable4digitprice?language=objc)
9249pub const kHIDUsage_BCS_CheckEnable4DigitPrice: c_uint = 0xB2;
9250/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkenable5digitprice?language=objc)
9251pub const kHIDUsage_BCS_CheckEnable5DigitPrice: c_uint = 0xB3;
9252/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkenableeuropean4digitprice?language=objc)
9253pub const kHIDUsage_BCS_CheckEnableEuropean4DigitPrice: c_uint = 0xB4;
9254/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkenableeuropean5digitprice?language=objc)
9255pub const kHIDUsage_BCS_CheckEnableEuropean5DigitPrice: c_uint = 0xB5;
9256/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_eantwolabel?language=objc)
9257pub const kHIDUsage_BCS_EANTwoLabel: c_uint = 0xB7;
9258/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_eanthreelabel?language=objc)
9259pub const kHIDUsage_BCS_EANThreeLabel: c_uint = 0xB8;
9260/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ean8flagdigit1?language=objc)
9261pub const kHIDUsage_BCS_EAN8FlagDigit1: c_uint = 0xB9;
9262/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ean8flagdigit2?language=objc)
9263pub const kHIDUsage_BCS_EAN8FlagDigit2: c_uint = 0xBA;
9264/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ean8flagdigit3?language=objc)
9265pub const kHIDUsage_BCS_EAN8FlagDigit3: c_uint = 0xBB;
9266/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ean13flagdigit1?language=objc)
9267pub const kHIDUsage_BCS_EAN13FlagDigit1: c_uint = 0xBC;
9268/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ean13flagdigit2?language=objc)
9269pub const kHIDUsage_BCS_EAN13FlagDigit2: c_uint = 0xBD;
9270/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ean13flagdigit3?language=objc)
9271pub const kHIDUsage_BCS_EAN13FlagDigit3: c_uint = 0xBE;
9272/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_addean2_3labeldefinition?language=objc)
9273pub const kHIDUsage_BCS_AddEAN2_3LabelDefinition: c_uint = 0xBF;
9274/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_clearallean2_3labeldefinitions?language=objc)
9275pub const kHIDUsage_BCS_ClearAllEAN2_3LabelDefinitions: c_uint = 0xC0;
9276/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_codabar?language=objc)
9277pub const kHIDUsage_BCS_Codabar: c_uint = 0xC3;
9278/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_code128?language=objc)
9279pub const kHIDUsage_BCS_Code128: c_uint = 0xC4;
9280/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_code39?language=objc)
9281pub const kHIDUsage_BCS_Code39: c_uint = 0xC7;
9282/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_code93?language=objc)
9283pub const kHIDUsage_BCS_Code93: c_uint = 0xC8;
9284/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_fullasciiconversion?language=objc)
9285pub const kHIDUsage_BCS_FullASCIIConversion: c_uint = 0xC9;
9286/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_interleaved2of5?language=objc)
9287pub const kHIDUsage_BCS_Interleaved2of5: c_uint = 0xCA;
9288/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_italianpharmacycode?language=objc)
9289pub const kHIDUsage_BCS_ItalianPharmacyCode: c_uint = 0xCB;
9290/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_msi_plessey?language=objc)
9291pub const kHIDUsage_BCS_MSI_Plessey: c_uint = 0xCC;
9292/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_standard2of5iata?language=objc)
9293pub const kHIDUsage_BCS_Standard2of5IATA: c_uint = 0xCD;
9294/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_standard2of5?language=objc)
9295pub const kHIDUsage_BCS_Standard2of5: c_uint = 0xCE;
9296/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_transmitstart_stop?language=objc)
9297pub const kHIDUsage_BCS_TransmitStart_Stop: c_uint = 0xD3;
9298/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_trioptic?language=objc)
9299pub const kHIDUsage_BCS_TriOptic: c_uint = 0xD4;
9300/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ucc_ean_128?language=objc)
9301pub const kHIDUsage_BCS_UCC_EAN_128: c_uint = 0xD5;
9302/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkdigit?language=objc)
9303pub const kHIDUsage_BCS_CheckDigit: c_uint = 0xD6;
9304/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkdigitdisable?language=objc)
9305pub const kHIDUsage_BCS_CheckDigitDisable: c_uint = 0xD7;
9306/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkdigitenableinterleaved2of5opcc?language=objc)
9307pub const kHIDUsage_BCS_CheckDigitEnableInterleaved2of5OPCC: c_uint = 0xD8;
9308/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkdigitenableinterleaved2of5uss?language=objc)
9309pub const kHIDUsage_BCS_CheckDigitEnableInterleaved2of5USS: c_uint = 0xD9;
9310/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkdigitenablestandard2of5opcc?language=objc)
9311pub const kHIDUsage_BCS_CheckDigitEnableStandard2of5OPCC: c_uint = 0xDA;
9312/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkdigitenablestandard2of5uss?language=objc)
9313pub const kHIDUsage_BCS_CheckDigitEnableStandard2of5USS: c_uint = 0xDB;
9314/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkdigitenableonemsiplessey?language=objc)
9315pub const kHIDUsage_BCS_CheckDigitEnableOneMSIPlessey: c_uint = 0xDC;
9316/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkdigitenabletwomsiplessey?language=objc)
9317pub const kHIDUsage_BCS_CheckDigitEnableTwoMSIPlessey: c_uint = 0xDD;
9318/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkdigitcodabarenable?language=objc)
9319pub const kHIDUsage_BCS_CheckDigitCodabarEnable: c_uint = 0xDE;
9320/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_checkdigitcode99enable?language=objc)
9321pub const kHIDUsage_BCS_CheckDigitCode99Enable: c_uint = 0xDF;
9322/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_transmitcheckdigit?language=objc)
9323pub const kHIDUsage_BCS_TransmitCheckDigit: c_uint = 0xF0;
9324/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_disablecheckdigittransmit?language=objc)
9325pub const kHIDUsage_BCS_DisableCheckDigitTransmit: c_uint = 0xF1;
9326/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_enablecheckdigittransmit?language=objc)
9327pub const kHIDUsage_BCS_EnableCheckDigitTransmit: c_uint = 0xF2;
9328/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_symbologyidentifier1?language=objc)
9329pub const kHIDUsage_BCS_SymbologyIdentifier1: c_uint = 0xFB;
9330/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_symbologyidentifier2?language=objc)
9331pub const kHIDUsage_BCS_SymbologyIdentifier2: c_uint = 0xFC;
9332/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_symbologyidentifier3?language=objc)
9333pub const kHIDUsage_BCS_SymbologyIdentifier3: c_uint = 0xFD;
9334/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_decodeddata?language=objc)
9335pub const kHIDUsage_BCS_DecodedData: c_uint = 0xFE;
9336/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_decodedatacontinued?language=objc)
9337pub const kHIDUsage_BCS_DecodeDataContinued: c_uint = 0xFF;
9338/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_barspacedata?language=objc)
9339pub const kHIDUsage_BCS_BarSpaceData: c_uint = 0x100;
9340/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_scannerdataaccuracy?language=objc)
9341pub const kHIDUsage_BCS_ScannerDataAccuracy: c_uint = 0x101;
9342/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_rawdatapolarity?language=objc)
9343pub const kHIDUsage_BCS_RawDataPolarity: c_uint = 0x102;
9344/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_polarityinvertedbarcode?language=objc)
9345pub const kHIDUsage_BCS_PolarityInvertedBarCode: c_uint = 0x103;
9346/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_polaritynormalbarcode?language=objc)
9347pub const kHIDUsage_BCS_PolarityNormalBarCode: c_uint = 0x104;
9348/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_minimumlengthtodecode?language=objc)
9349pub const kHIDUsage_BCS_MinimumLengthToDecode: c_uint = 0x106;
9350/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_maximumlengthtodecode?language=objc)
9351pub const kHIDUsage_BCS_MaximumLengthToDecode: c_uint = 0x107;
9352/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_firstdiscretelengthtodecode?language=objc)
9353pub const kHIDUsage_BCS_FirstDiscreteLengthToDecode: c_uint = 0x108;
9354/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_seconddiscretelengthtodecode?language=objc)
9355pub const kHIDUsage_BCS_SecondDiscreteLengthToDecode: c_uint = 0x109;
9356/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_datalengthmethod?language=objc)
9357pub const kHIDUsage_BCS_DataLengthMethod: c_uint = 0x10A;
9358/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_dlmethodreadany?language=objc)
9359pub const kHIDUsage_BCS_DLMethodReadAny: c_uint = 0x10B;
9360/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_dlmethodcheckinrange?language=objc)
9361pub const kHIDUsage_BCS_DLMethodCheckInRange: c_uint = 0x10C;
9362/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_dlmethodcheckfordiscrete?language=objc)
9363pub const kHIDUsage_BCS_DLMethodCheckForDiscrete: c_uint = 0x10D;
9364/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_azteccode?language=objc)
9365pub const kHIDUsage_BCS_AztecCode: c_uint = 0x110;
9366/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_bc412?language=objc)
9367pub const kHIDUsage_BCS_BC412: c_uint = 0x111;
9368/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_channelcode?language=objc)
9369pub const kHIDUsage_BCS_ChannelCode: c_uint = 0x112;
9370/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_code16?language=objc)
9371pub const kHIDUsage_BCS_Code16: c_uint = 0x113;
9372/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_code32?language=objc)
9373pub const kHIDUsage_BCS_Code32: c_uint = 0x114;
9374/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_code49?language=objc)
9375pub const kHIDUsage_BCS_Code49: c_uint = 0x115;
9376/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_codeone?language=objc)
9377pub const kHIDUsage_BCS_CodeOne: c_uint = 0x116;
9378/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_colorcode?language=objc)
9379pub const kHIDUsage_BCS_Colorcode: c_uint = 0x117;
9380/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_datamatrix?language=objc)
9381pub const kHIDUsage_BCS_DataMatrix: c_uint = 0x118;
9382/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_maxicode?language=objc)
9383pub const kHIDUsage_BCS_MaxiCode: c_uint = 0x119;
9384/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_micropdf?language=objc)
9385pub const kHIDUsage_BCS_MicroPDF: c_uint = 0x11A;
9386/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_pdf_417?language=objc)
9387pub const kHIDUsage_BCS_PDF_417: c_uint = 0x11B;
9388/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_posicode?language=objc)
9389pub const kHIDUsage_BCS_PosiCode: c_uint = 0x11C;
9390/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_qrcode?language=objc)
9391pub const kHIDUsage_BCS_QRCode: c_uint = 0x11D;
9392/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_supercode?language=objc)
9393pub const kHIDUsage_BCS_SuperCode: c_uint = 0x11E;
9394/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_ultracode?language=objc)
9395pub const kHIDUsage_BCS_UltraCode: c_uint = 0x11F;
9396/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_usb_5_slugcode?language=objc)
9397pub const kHIDUsage_BCS_USB_5_SlugCode: c_uint = 0x120;
9398/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_bcs_vericode?language=objc)
9399pub const kHIDUsage_BCS_VeriCode: c_uint = 0x121;
9400
9401/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_undefined?language=objc)
9402pub const kHIDUsage_WD_Undefined: c_uint = 0x00;
9403/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weighingdevice?language=objc)
9404pub const kHIDUsage_WD_WeighingDevice: c_uint = 0x01;
9405/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalescaledevice?language=objc)
9406pub const kHIDUsage_WD_ScaleScaleDevice: c_uint = 0x20;
9407/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalescaleclassimetriccl?language=objc)
9408pub const kHIDUsage_WD_ScaleScaleClassIMetricCL: c_uint = 0x21;
9409/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalescaleclassimetric?language=objc)
9410pub const kHIDUsage_WD_ScaleScaleClassIMetric: c_uint = 0x22;
9411/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalescaleclassiimetric?language=objc)
9412pub const kHIDUsage_WD_ScaleScaleClassIIMetric: c_uint = 0x23;
9413/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalescaleclassiiimetric?language=objc)
9414pub const kHIDUsage_WD_ScaleScaleClassIIIMetric: c_uint = 0x24;
9415/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalescaleclassiiilmetric?language=objc)
9416pub const kHIDUsage_WD_ScaleScaleClassIIILMetric: c_uint = 0x25;
9417/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalescaleclassivmetric?language=objc)
9418pub const kHIDUsage_WD_ScaleScaleClassIVMetric: c_uint = 0x26;
9419/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalescaleclassiiienglish?language=objc)
9420pub const kHIDUsage_WD_ScaleScaleClassIIIEnglish: c_uint = 0x27;
9421/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalescaleclassiiilenglish?language=objc)
9422pub const kHIDUsage_WD_ScaleScaleClassIIILEnglish: c_uint = 0x28;
9423/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalescaleclassivenglish?language=objc)
9424pub const kHIDUsage_WD_ScaleScaleClassIVEnglish: c_uint = 0x29;
9425/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalescaleclassgeneric?language=objc)
9426pub const kHIDUsage_WD_ScaleScaleClassGeneric: c_uint = 0x2A;
9427/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scaleatrributereport?language=objc)
9428pub const kHIDUsage_WD_ScaleAtrributeReport: c_uint = 0x30;
9429/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalecontrolreport?language=objc)
9430pub const kHIDUsage_WD_ScaleControlReport: c_uint = 0x31;
9431/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scaledatareport?language=objc)
9432pub const kHIDUsage_WD_ScaleDataReport: c_uint = 0x32;
9433/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalestatusreport?language=objc)
9434pub const kHIDUsage_WD_ScaleStatusReport: c_uint = 0x33;
9435/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scaleweightlimitreport?language=objc)
9436pub const kHIDUsage_WD_ScaleWeightLimitReport: c_uint = 0x34;
9437/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalestatisticsreport?language=objc)
9438pub const kHIDUsage_WD_ScaleStatisticsReport: c_uint = 0x35;
9439/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_dataweight?language=objc)
9440pub const kHIDUsage_WD_DataWeight: c_uint = 0x40;
9441/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_datascaling?language=objc)
9442pub const kHIDUsage_WD_DataScaling: c_uint = 0x41;
9443/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunit?language=objc)
9444pub const kHIDUsage_WD_WeightUnit: c_uint = 0x50;
9445/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunitmilligram?language=objc)
9446pub const kHIDUsage_WD_WeightUnitMilligram: c_uint = 0x51;
9447/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunitgram?language=objc)
9448pub const kHIDUsage_WD_WeightUnitGram: c_uint = 0x52;
9449/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunitkilogram?language=objc)
9450pub const kHIDUsage_WD_WeightUnitKilogram: c_uint = 0x53;
9451/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunitcarats?language=objc)
9452pub const kHIDUsage_WD_WeightUnitCarats: c_uint = 0x54;
9453/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunittaels?language=objc)
9454pub const kHIDUsage_WD_WeightUnitTaels: c_uint = 0x55;
9455/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunitgrains?language=objc)
9456pub const kHIDUsage_WD_WeightUnitGrains: c_uint = 0x56;
9457/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunitpennyweights?language=objc)
9458pub const kHIDUsage_WD_WeightUnitPennyweights: c_uint = 0x57;
9459/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunitmetricton?language=objc)
9460pub const kHIDUsage_WD_WeightUnitMetricTon: c_uint = 0x58;
9461/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunitavoirton?language=objc)
9462pub const kHIDUsage_WD_WeightUnitAvoirTon: c_uint = 0x59;
9463/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunittroyounce?language=objc)
9464pub const kHIDUsage_WD_WeightUnitTroyOunce: c_uint = 0x5A;
9465/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunitounce?language=objc)
9466pub const kHIDUsage_WD_WeightUnitOunce: c_uint = 0x5B;
9467/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_weightunitpound?language=objc)
9468pub const kHIDUsage_WD_WeightUnitPound: c_uint = 0x5C;
9469/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_calibrationcount?language=objc)
9470pub const kHIDUsage_WD_CalibrationCount: c_uint = 0x60;
9471/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_rezerocount?language=objc)
9472pub const kHIDUsage_WD_RezeroCount: c_uint = 0x61;
9473/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalestatus?language=objc)
9474pub const kHIDUsage_WD_ScaleStatus: c_uint = 0x70;
9475/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalestatusfault?language=objc)
9476pub const kHIDUsage_WD_ScaleStatusFault: c_uint = 0x71;
9477/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalestatusstableatzero?language=objc)
9478pub const kHIDUsage_WD_ScaleStatusStableAtZero: c_uint = 0x72;
9479/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalestatusinmotion?language=objc)
9480pub const kHIDUsage_WD_ScaleStatusInMotion: c_uint = 0x73;
9481/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalestatusweightstable?language=objc)
9482pub const kHIDUsage_WD_ScaleStatusWeightStable: c_uint = 0x74;
9483/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalestatusunderzero?language=objc)
9484pub const kHIDUsage_WD_ScaleStatusUnderZero: c_uint = 0x75;
9485/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalestatusoverweightlimit?language=objc)
9486pub const kHIDUsage_WD_ScaleStatusOverWeightLimit: c_uint = 0x76;
9487/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalestatusrequirescalibration?language=objc)
9488pub const kHIDUsage_WD_ScaleStatusRequiresCalibration: c_uint = 0x77;
9489/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_scalestatusrequiresrezeroing?language=objc)
9490pub const kHIDUsage_WD_ScaleStatusRequiresRezeroing: c_uint = 0x78;
9491/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_zeroscale?language=objc)
9492pub const kHIDUsage_WD_ZeroScale: c_uint = 0x80;
9493/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_wd_enforcedzeroreturn?language=objc)
9494pub const kHIDUsage_WD_EnforcedZeroReturn: c_uint = 0x81;
9495
9496/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_msr_undefined?language=objc)
9497pub const kHIDUsage_MSR_Undefined: c_uint = 0x00;
9498/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_msr_devicereadonly?language=objc)
9499pub const kHIDUsage_MSR_DeviceReadOnly: c_uint = 0x01;
9500/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_msr_track1length?language=objc)
9501pub const kHIDUsage_MSR_Track1Length: c_uint = 0x11;
9502/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_msr_track2length?language=objc)
9503pub const kHIDUsage_MSR_Track2Length: c_uint = 0x12;
9504/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_msr_track3length?language=objc)
9505pub const kHIDUsage_MSR_Track3Length: c_uint = 0x13;
9506/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_msr_trackjislength?language=objc)
9507pub const kHIDUsage_MSR_TrackJISLength: c_uint = 0x14;
9508/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_msr_trackdata?language=objc)
9509pub const kHIDUsage_MSR_TrackData: c_uint = 0x20;
9510/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_msr_track1data?language=objc)
9511pub const kHIDUsage_MSR_Track1Data: c_uint = 0x21;
9512/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_msr_track2data?language=objc)
9513pub const kHIDUsage_MSR_Track2Data: c_uint = 0x22;
9514/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_msr_track3data?language=objc)
9515pub const kHIDUsage_MSR_Track3Data: c_uint = 0x23;
9516/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_msr_trackjisdata?language=objc)
9517pub const kHIDUsage_MSR_TrackJISData: c_uint = 0x24;
9518
9519/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_cc_undefined?language=objc)
9520pub const kHIDUsage_CC_Undefined: c_uint = 0x00;
9521/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_cc_autofocus?language=objc)
9522pub const kHIDUsage_CC_Autofocus: c_uint = 0x20;
9523/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_cc_shutter?language=objc)
9524pub const kHIDUsage_CC_Shutter: c_uint = 0x21;
9525
9526/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_fido_undefined?language=objc)
9527pub const kHIDUsage_FIDO_Undefined: c_uint = 0x00;
9528/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_fido_u2fdevice?language=objc)
9529pub const kHIDUsage_FIDO_U2FDevice: c_uint = 0x01;
9530/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_fido_inputdata?language=objc)
9531pub const kHIDUsage_FIDO_InputData: c_uint = 0x20;
9532/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidusage_fido_outputdata?language=objc)
9533pub const kHIDUsage_FIDO_OutputData: c_uint = 0x21;
9534
9535unsafe impl ConcreteType for IOHIDValue {
9536    /// Returns the type identifier of all IOHIDValue instances.
9537    #[doc(alias = "IOHIDValueGetTypeID")]
9538    #[inline]
9539    fn type_id() -> CFTypeID {
9540        extern "C-unwind" {
9541            fn IOHIDValueGetTypeID() -> CFTypeID;
9542        }
9543        unsafe { IOHIDValueGetTypeID() }
9544    }
9545}
9546
9547impl IOHIDValue {
9548    /// Creates a new element value using an integer value.
9549    ///
9550    /// IOHIDValueGetTimeStamp should represent OS AbsoluteTime, not CFAbsoluteTime.
9551    /// To obtain the OS AbsoluteTime, please reference the APIs declared in
9552    /// <mach
9553    /// /mach_time.h>
9554    ///
9555    /// Parameter `allocator`: The CFAllocator which should be used to allocate memory for the value.  This
9556    /// parameter may be NULL in which case the current default CFAllocator is used. If this
9557    /// reference is not a valid CFAllocator, the behavior is undefined.
9558    ///
9559    /// Parameter `element`: IOHIDElementRef associated with this value.
9560    ///
9561    /// Parameter `timeStamp`: OS absolute time timestamp for this value.
9562    ///
9563    /// Parameter `value`: Integer value to be copied to this object.
9564    ///
9565    /// Returns: Returns a reference to a new IOHIDValueRef.
9566    #[doc(alias = "IOHIDValueCreateWithIntegerValue")]
9567    #[inline]
9568    pub fn with_integer_value(
9569        allocator: Option<&CFAllocator>,
9570        element: &IOHIDElement,
9571        time_stamp: u64,
9572        value: CFIndex,
9573    ) -> CFRetained<IOHIDValue> {
9574        extern "C-unwind" {
9575            fn IOHIDValueCreateWithIntegerValue(
9576                allocator: Option<&CFAllocator>,
9577                element: &IOHIDElement,
9578                time_stamp: u64,
9579                value: CFIndex,
9580            ) -> Option<NonNull<IOHIDValue>>;
9581        }
9582        let ret =
9583            unsafe { IOHIDValueCreateWithIntegerValue(allocator, element, time_stamp, value) };
9584        let ret =
9585            ret.expect("function was marked as returning non-null, but actually returned NULL");
9586        unsafe { CFRetained::from_raw(ret) }
9587    }
9588
9589    /// Creates a new element value using byte data.
9590    ///
9591    /// IOHIDValueGetTimeStamp should represent OS AbsoluteTime, not CFAbsoluteTime.
9592    /// To obtain the OS AbsoluteTime, please reference the APIs declared in
9593    /// <mach
9594    /// /mach_time.h>
9595    ///
9596    /// Parameter `allocator`: The CFAllocator which should be used to allocate memory for the value.  This
9597    /// parameter may be NULL in which case the current default CFAllocator is used. If this
9598    /// reference is not a valid CFAllocator, the behavior is undefined.
9599    ///
9600    /// Parameter `element`: IOHIDElementRef associated with this value.
9601    ///
9602    /// Parameter `timeStamp`: OS absolute time timestamp for this value.
9603    ///
9604    /// Parameter `bytes`: Pointer to a buffer of uint8_t to be copied to this object.
9605    ///
9606    /// Parameter `length`: Number of bytes in the passed buffer.
9607    ///
9608    /// Returns: Returns a reference to a new IOHIDValueRef.
9609    ///
9610    /// # Safety
9611    ///
9612    /// `bytes` must be a valid pointer.
9613    #[doc(alias = "IOHIDValueCreateWithBytes")]
9614    #[inline]
9615    pub unsafe fn with_bytes(
9616        allocator: Option<&CFAllocator>,
9617        element: &IOHIDElement,
9618        time_stamp: u64,
9619        bytes: NonNull<u8>,
9620        length: CFIndex,
9621    ) -> Option<CFRetained<IOHIDValue>> {
9622        extern "C-unwind" {
9623            fn IOHIDValueCreateWithBytes(
9624                allocator: Option<&CFAllocator>,
9625                element: &IOHIDElement,
9626                time_stamp: u64,
9627                bytes: NonNull<u8>,
9628                length: CFIndex,
9629            ) -> Option<NonNull<IOHIDValue>>;
9630        }
9631        let ret =
9632            unsafe { IOHIDValueCreateWithBytes(allocator, element, time_stamp, bytes, length) };
9633        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
9634    }
9635
9636    /// Creates a new element value using byte data without performing a copy.
9637    ///
9638    /// The timestamp value passed should represent OS AbsoluteTime, not CFAbsoluteTime.
9639    /// To obtain the OS AbsoluteTime, please reference the APIs declared in
9640    /// <mach
9641    /// /mach_time.h>
9642    ///
9643    /// Parameter `allocator`: The CFAllocator which should be used to allocate memory for the value.  This
9644    /// parameter may be NULL in which case the current default CFAllocator is used. If this
9645    /// reference is not a valid CFAllocator, the behavior is undefined.
9646    ///
9647    /// Parameter `element`: IOHIDElementRef associated with this value.
9648    ///
9649    /// Parameter `timeStamp`: OS absolute time timestamp for this value.
9650    ///
9651    /// Parameter `bytes`: Pointer to a buffer of uint8_t to be referenced by this object.
9652    ///
9653    /// Parameter `length`: Number of bytes in the passed buffer.
9654    ///
9655    /// Returns: Returns a reference to a new IOHIDValueRef.
9656    ///
9657    /// # Safety
9658    ///
9659    /// `bytes` must be a valid pointer.
9660    #[doc(alias = "IOHIDValueCreateWithBytesNoCopy")]
9661    #[inline]
9662    pub unsafe fn with_bytes_no_copy(
9663        allocator: Option<&CFAllocator>,
9664        element: &IOHIDElement,
9665        time_stamp: u64,
9666        bytes: NonNull<u8>,
9667        length: CFIndex,
9668    ) -> Option<CFRetained<IOHIDValue>> {
9669        extern "C-unwind" {
9670            fn IOHIDValueCreateWithBytesNoCopy(
9671                allocator: Option<&CFAllocator>,
9672                element: &IOHIDElement,
9673                time_stamp: u64,
9674                bytes: NonNull<u8>,
9675                length: CFIndex,
9676            ) -> Option<NonNull<IOHIDValue>>;
9677        }
9678        let ret = unsafe {
9679            IOHIDValueCreateWithBytesNoCopy(allocator, element, time_stamp, bytes, length)
9680        };
9681        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
9682    }
9683
9684    /// Returns the element value associated with this IOHIDValueRef.
9685    ///
9686    /// Parameter `value`: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
9687    ///
9688    /// Returns: Returns a IOHIDElementRef referenced by this value.
9689    #[doc(alias = "IOHIDValueGetElement")]
9690    #[inline]
9691    pub fn element(&self) -> CFRetained<IOHIDElement> {
9692        extern "C-unwind" {
9693            fn IOHIDValueGetElement(value: &IOHIDValue) -> Option<NonNull<IOHIDElement>>;
9694        }
9695        let ret = unsafe { IOHIDValueGetElement(self) };
9696        let ret =
9697            ret.expect("function was marked as returning non-null, but actually returned NULL");
9698        unsafe { CFRetained::retain(ret) }
9699    }
9700
9701    /// Returns the timestamp value contained in this IOHIDValueRef.
9702    ///
9703    /// The timestamp value returned represents OS AbsoluteTime, not CFAbsoluteTime.
9704    ///
9705    /// Parameter `value`: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
9706    ///
9707    /// Returns: Returns a uint64_t representing the timestamp of this value.
9708    #[doc(alias = "IOHIDValueGetTimeStamp")]
9709    #[inline]
9710    pub fn time_stamp(&self) -> u64 {
9711        extern "C-unwind" {
9712            fn IOHIDValueGetTimeStamp(value: &IOHIDValue) -> u64;
9713        }
9714        unsafe { IOHIDValueGetTimeStamp(self) }
9715    }
9716
9717    /// Returns the size, in bytes, of the value contained in this IOHIDValueRef.
9718    ///
9719    /// Parameter `value`: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
9720    ///
9721    /// Returns: Returns length of the value.
9722    #[doc(alias = "IOHIDValueGetLength")]
9723    #[inline]
9724    pub fn length(&self) -> CFIndex {
9725        extern "C-unwind" {
9726            fn IOHIDValueGetLength(value: &IOHIDValue) -> CFIndex;
9727        }
9728        unsafe { IOHIDValueGetLength(self) }
9729    }
9730
9731    /// Returns a byte pointer to the value contained in this IOHIDValueRef.
9732    ///
9733    /// Parameter `value`: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
9734    ///
9735    /// Returns: Returns a pointer to the value.
9736    #[doc(alias = "IOHIDValueGetBytePtr")]
9737    #[inline]
9738    pub fn byte_ptr(&self) -> NonNull<u8> {
9739        extern "C-unwind" {
9740            fn IOHIDValueGetBytePtr(value: &IOHIDValue) -> Option<NonNull<u8>>;
9741        }
9742        let ret = unsafe { IOHIDValueGetBytePtr(self) };
9743        ret.expect("function was marked as returning non-null, but actually returned NULL")
9744    }
9745
9746    /// Returns an integer representaion of the value contained in this IOHIDValueRef.
9747    ///
9748    /// The value is based on the logical element value contained in the report returned by the device.
9749    ///
9750    /// Parameter `value`: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
9751    ///
9752    /// Returns: Returns an integer representation of the value.
9753    #[doc(alias = "IOHIDValueGetIntegerValue")]
9754    #[inline]
9755    pub fn integer_value(&self) -> CFIndex {
9756        extern "C-unwind" {
9757            fn IOHIDValueGetIntegerValue(value: &IOHIDValue) -> CFIndex;
9758        }
9759        unsafe { IOHIDValueGetIntegerValue(self) }
9760    }
9761
9762    /// Returns an scaled representaion of the value contained in this IOHIDValueRef based on the scale type.
9763    ///
9764    /// The scaled value is based on the range described by the scale type's min and max, such that:
9765    /// <br>
9766    /// scaledValue = ((value - min) * (scaledMax - scaledMin) / (max - min)) + scaledMin
9767    /// <br>
9768    /// <b>
9769    /// Note:
9770    /// </b>
9771    /// <br>
9772    /// There are currently two types of scaling that can be applied:
9773    /// <ul>
9774    /// <li>
9775    /// <b>
9776    /// kIOHIDValueScaleTypePhysical
9777    /// </b>
9778    /// : Scales element value using the physical bounds of the device such that
9779    /// <b>
9780    /// scaledMin = physicalMin
9781    /// </b>
9782    /// and
9783    /// <b>
9784    /// scaledMax = physicalMax
9785    /// </b>
9786    /// .
9787    /// <li>
9788    /// <b>
9789    /// kIOHIDValueScaleTypeCalibrated
9790    /// </b>
9791    /// : Scales element value such that
9792    /// <b>
9793    /// scaledMin = -1
9794    /// </b>
9795    /// and
9796    /// <b>
9797    /// scaledMax = 1
9798    /// </b>
9799    /// .  This value will also take into account the calibration properties associated with this element.
9800    /// </ul>
9801    ///
9802    /// Parameter `value`: The value to be queried. If this parameter is not a valid IOHIDValueRef, the behavior is undefined.
9803    ///
9804    /// Parameter `type`: The type of scaling to be performed.
9805    ///
9806    /// Returns: Returns an scaled floating point representation of the value.
9807    #[doc(alias = "IOHIDValueGetScaledValue")]
9808    #[inline]
9809    pub fn scaled_value(&self, r#type: IOHIDValueScaleType) -> c_double {
9810        extern "C-unwind" {
9811            fn IOHIDValueGetScaledValue(
9812                value: &IOHIDValue,
9813                r#type: IOHIDValueScaleType,
9814            ) -> c_double;
9815        }
9816        unsafe { IOHIDValueGetScaledValue(self, r#type) }
9817    }
9818}
9819
9820/// Various options that can be supplied to IOHIDTransaction functions.
9821///
9822/// explicit enough.
9823///
9824/// IOHIDDeviceRef being passed in. The expectation is that transaction will only exist during
9825/// the lifetime of the IOHIDDeviceRef object.
9826///
9827/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidtransactionoptions?language=objc)
9828// NS_OPTIONS
9829#[repr(transparent)]
9830#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
9831pub struct IOHIDTransactionOptions(pub u32);
9832bitflags::bitflags! {
9833    impl IOHIDTransactionOptions: u32 {
9834        #[doc(alias = "kIOHIDTransactionOptionsNone")]
9835        const None = 0x0;
9836        #[doc(alias = "kIOHIDTransactionOptionsWeakDevice")]
9837        const WeakDevice = 0x1;
9838    }
9839}
9840
9841#[cfg(feature = "objc2")]
9842unsafe impl Encode for IOHIDTransactionOptions {
9843    const ENCODING: Encoding = u32::ENCODING;
9844}
9845
9846#[cfg(feature = "objc2")]
9847unsafe impl RefEncode for IOHIDTransactionOptions {
9848    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
9849}
9850
9851/// This is the type of a reference to the IOHIDTransaction.
9852///
9853/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidtransaction?language=objc)
9854#[doc(alias = "IOHIDTransactionRef")]
9855#[repr(C)]
9856pub struct IOHIDTransaction {
9857    inner: [u8; 0],
9858    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
9859}
9860
9861cf_type!(
9862    unsafe impl IOHIDTransaction {}
9863);
9864#[cfg(feature = "objc2")]
9865cf_objc2_type!(
9866    unsafe impl RefEncode<"__IOHIDTransaction"> for IOHIDTransaction {}
9867);
9868
9869unsafe impl ConcreteType for IOHIDTransaction {
9870    /// Returns the type identifier of all IOHIDTransaction instances.
9871    #[doc(alias = "IOHIDTransactionGetTypeID")]
9872    #[inline]
9873    fn type_id() -> CFTypeID {
9874        extern "C-unwind" {
9875            fn IOHIDTransactionGetTypeID() -> CFTypeID;
9876        }
9877        unsafe { IOHIDTransactionGetTypeID() }
9878    }
9879}
9880
9881impl IOHIDTransaction {
9882    /// Creates an IOHIDTransaction object for the specified device.
9883    ///
9884    /// IOHIDTransaction objects can be used to either send or receive
9885    /// multiple element values.  As such the direction used should
9886    /// represent they type of objects added to the transaction.
9887    ///
9888    /// Parameter `allocator`: Allocator to be used during creation.
9889    ///
9890    /// Parameter `device`: IOHIDDevice object
9891    ///
9892    /// Parameter `direction`: The direction, either in or out, for the transaction.
9893    ///
9894    /// Parameter `options`: Reserved for future use.
9895    ///
9896    /// Returns: Returns a new IOHIDTransactionRef.
9897    #[doc(alias = "IOHIDTransactionCreate")]
9898    #[inline]
9899    pub fn new(
9900        allocator: Option<&CFAllocator>,
9901        device: &IOHIDDevice,
9902        direction: IOHIDTransactionDirectionType,
9903        options: IOOptionBits,
9904    ) -> Option<CFRetained<IOHIDTransaction>> {
9905        extern "C-unwind" {
9906            fn IOHIDTransactionCreate(
9907                allocator: Option<&CFAllocator>,
9908                device: &IOHIDDevice,
9909                direction: IOHIDTransactionDirectionType,
9910                options: IOOptionBits,
9911            ) -> Option<NonNull<IOHIDTransaction>>;
9912        }
9913        let ret = unsafe { IOHIDTransactionCreate(allocator, device, direction, options) };
9914        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
9915    }
9916
9917    /// Obtain the device associated with the transaction.
9918    ///
9919    /// Parameter `transaction`: IOHIDTransaction to be queried.
9920    ///
9921    /// Returns: Returns the a reference to the device.
9922    #[doc(alias = "IOHIDTransactionGetDevice")]
9923    #[inline]
9924    pub fn device(&self) -> CFRetained<IOHIDDevice> {
9925        extern "C-unwind" {
9926            fn IOHIDTransactionGetDevice(
9927                transaction: &IOHIDTransaction,
9928            ) -> Option<NonNull<IOHIDDevice>>;
9929        }
9930        let ret = unsafe { IOHIDTransactionGetDevice(self) };
9931        let ret =
9932            ret.expect("function was marked as returning non-null, but actually returned NULL");
9933        unsafe { CFRetained::retain(ret) }
9934    }
9935
9936    /// Obtain the direction of the transaction.
9937    ///
9938    /// Parameter `transaction`: IOHIDTransaction to be queried.
9939    ///
9940    /// Returns: Returns the transaction direction.
9941    #[doc(alias = "IOHIDTransactionGetDirection")]
9942    #[inline]
9943    pub fn direction(&self) -> IOHIDTransactionDirectionType {
9944        extern "C-unwind" {
9945            fn IOHIDTransactionGetDirection(
9946                transaction: &IOHIDTransaction,
9947            ) -> IOHIDTransactionDirectionType;
9948        }
9949        unsafe { IOHIDTransactionGetDirection(self) }
9950    }
9951
9952    /// Sets the direction of the transaction
9953    ///
9954    /// This method is useful for manipulating bi-direction (feature)
9955    /// elements such that you can set or get element values without
9956    /// creating an additional transaction object.
9957    ///
9958    /// Parameter `transaction`: IOHIDTransaction object to be modified.
9959    ///
9960    /// Parameter `direction`: The new transaction direction.
9961    #[doc(alias = "IOHIDTransactionSetDirection")]
9962    #[inline]
9963    pub fn set_direction(&self, direction: IOHIDTransactionDirectionType) {
9964        extern "C-unwind" {
9965            fn IOHIDTransactionSetDirection(
9966                transaction: &IOHIDTransaction,
9967                direction: IOHIDTransactionDirectionType,
9968            );
9969        }
9970        unsafe { IOHIDTransactionSetDirection(self, direction) }
9971    }
9972
9973    /// Adds an element to the transaction
9974    ///
9975    /// To minimize device traffic it is important to add elements that
9976    /// share a common report type and report id.
9977    ///
9978    /// Parameter `transaction`: IOHIDTransaction object to be modified.
9979    ///
9980    /// Parameter `element`: Element to be added to the transaction.
9981    #[doc(alias = "IOHIDTransactionAddElement")]
9982    #[inline]
9983    pub fn add_element(&self, element: &IOHIDElement) {
9984        extern "C-unwind" {
9985            fn IOHIDTransactionAddElement(transaction: &IOHIDTransaction, element: &IOHIDElement);
9986        }
9987        unsafe { IOHIDTransactionAddElement(self, element) }
9988    }
9989
9990    /// Removes an element to the transaction
9991    ///
9992    /// Parameter `transaction`: IOHIDTransaction object to be modified.
9993    ///
9994    /// Parameter `element`: Element to be removed to the transaction.
9995    #[doc(alias = "IOHIDTransactionRemoveElement")]
9996    #[inline]
9997    pub fn remove_element(&self, element: &IOHIDElement) {
9998        extern "C-unwind" {
9999            fn IOHIDTransactionRemoveElement(
10000                transaction: &IOHIDTransaction,
10001                element: &IOHIDElement,
10002            );
10003        }
10004        unsafe { IOHIDTransactionRemoveElement(self, element) }
10005    }
10006
10007    /// Queries the transaction to determine if elemement has been added.
10008    ///
10009    /// Parameter `transaction`: IOHIDTransaction object to be queried.
10010    ///
10011    /// Parameter `element`: Element to be queried.
10012    ///
10013    /// Returns: Returns true or false depending if element is present.
10014    #[doc(alias = "IOHIDTransactionContainsElement")]
10015    #[inline]
10016    pub fn contains_element(&self, element: &IOHIDElement) -> bool {
10017        extern "C-unwind" {
10018            fn IOHIDTransactionContainsElement(
10019                transaction: &IOHIDTransaction,
10020                element: &IOHIDElement,
10021            ) -> Boolean;
10022        }
10023        let ret = unsafe { IOHIDTransactionContainsElement(self, element) };
10024        ret != 0
10025    }
10026
10027    /// Schedules transaction with run loop.
10028    ///
10029    /// Formally associates transaction with client's run loop.
10030    /// Scheduling this transaction with the run loop is necessary
10031    /// before making use of any asynchronous APIs.
10032    ///
10033    /// Parameter `transaction`: IOHIDTransaction object to be modified.
10034    ///
10035    /// Parameter `runLoop`: RunLoop to be used when scheduling any asynchronous
10036    /// activity.
10037    ///
10038    /// Parameter `runLoopMode`: Run loop mode to be used when scheduling any
10039    /// asynchronous activity.
10040    ///
10041    /// # Safety
10042    ///
10043    /// `run_loop` possibly has additional threading requirements.
10044    #[doc(alias = "IOHIDTransactionScheduleWithRunLoop")]
10045    #[inline]
10046    pub unsafe fn schedule_with_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
10047        extern "C-unwind" {
10048            fn IOHIDTransactionScheduleWithRunLoop(
10049                transaction: &IOHIDTransaction,
10050                run_loop: &CFRunLoop,
10051                run_loop_mode: &CFString,
10052            );
10053        }
10054        unsafe { IOHIDTransactionScheduleWithRunLoop(self, run_loop, run_loop_mode) }
10055    }
10056
10057    /// Unschedules transaction with run loop.
10058    ///
10059    /// Formally disassociates transaction with client's run loop.
10060    ///
10061    /// Parameter `transaction`: IOHIDTransaction object to be modified.
10062    ///
10063    /// Parameter `runLoop`: RunLoop to be used when scheduling any asynchronous
10064    /// activity.
10065    ///
10066    /// Parameter `runLoopMode`: Run loop mode to be used when scheduling any
10067    /// asynchronous activity.
10068    ///
10069    /// # Safety
10070    ///
10071    /// `run_loop` possibly has additional threading requirements.
10072    #[doc(alias = "IOHIDTransactionUnscheduleFromRunLoop")]
10073    #[inline]
10074    pub unsafe fn unschedule_from_run_loop(&self, run_loop: &CFRunLoop, run_loop_mode: &CFString) {
10075        extern "C-unwind" {
10076            fn IOHIDTransactionUnscheduleFromRunLoop(
10077                transaction: &IOHIDTransaction,
10078                run_loop: &CFRunLoop,
10079                run_loop_mode: &CFString,
10080            );
10081        }
10082        unsafe { IOHIDTransactionUnscheduleFromRunLoop(self, run_loop, run_loop_mode) }
10083    }
10084
10085    /// Sets the value for a transaction element.
10086    ///
10087    /// The value set is pended until the transaction is committed and
10088    /// is only used if the transaction direction is
10089    /// kIOHIDTransactionDirectionTypeOutput.  Use the
10090    /// kIOHIDTransactionOptionDefaultOutputValue option to set the
10091    /// default element value.
10092    ///
10093    /// Parameter `transaction`: IOHIDTransaction object to be modified.
10094    ///
10095    /// Parameter `element`: Element to be modified after a commit.
10096    ///
10097    /// Parameter `value`: Value to be set for the given element.
10098    ///
10099    /// Parameter `options`: See IOHIDTransactionOption.
10100    #[doc(alias = "IOHIDTransactionSetValue")]
10101    #[inline]
10102    pub fn set_value(&self, element: &IOHIDElement, value: &IOHIDValue, options: IOOptionBits) {
10103        extern "C-unwind" {
10104            fn IOHIDTransactionSetValue(
10105                transaction: &IOHIDTransaction,
10106                element: &IOHIDElement,
10107                value: &IOHIDValue,
10108                options: IOOptionBits,
10109            );
10110        }
10111        unsafe { IOHIDTransactionSetValue(self, element, value, options) }
10112    }
10113
10114    /// Obtains the value for a transaction element.
10115    ///
10116    /// If the transaction direction is
10117    /// kIOHIDTransactionDirectionTypeInput the value represents what
10118    /// was obtained from the device from the transaction.  Otherwise,
10119    /// if the transaction direction is
10120    /// kIOHIDTransactionDirectionTypeOutput the value represents the
10121    /// pending value to be sent to the device.  Use the
10122    /// kIOHIDTransactionOptionDefaultOutputValue option to get the
10123    /// default element value.
10124    ///
10125    /// Parameter `transaction`: IOHIDTransaction object to be queried.
10126    ///
10127    /// Parameter `element`: Element to be queried.
10128    ///
10129    /// Parameter `options`: See IOHIDTransactionOption.
10130    ///
10131    /// Returns: Returns IOHIDValueRef for the given element.
10132    #[doc(alias = "IOHIDTransactionGetValue")]
10133    #[inline]
10134    pub fn value(
10135        &self,
10136        element: &IOHIDElement,
10137        options: IOOptionBits,
10138    ) -> Option<CFRetained<IOHIDValue>> {
10139        extern "C-unwind" {
10140            fn IOHIDTransactionGetValue(
10141                transaction: &IOHIDTransaction,
10142                element: &IOHIDElement,
10143                options: IOOptionBits,
10144            ) -> Option<NonNull<IOHIDValue>>;
10145        }
10146        let ret = unsafe { IOHIDTransactionGetValue(self, element, options) };
10147        ret.map(|ret| unsafe { CFRetained::retain(ret) })
10148    }
10149
10150    /// Synchronously commits element transaction to the device.
10151    ///
10152    /// Parameter `transaction`: IOHIDTransaction object to be modified.
10153    ///
10154    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if
10155    /// unsuccessful.
10156    #[doc(alias = "IOHIDTransactionCommit")]
10157    #[inline]
10158    pub fn commit(&self) -> IOReturn {
10159        extern "C-unwind" {
10160            fn IOHIDTransactionCommit(transaction: &IOHIDTransaction) -> IOReturn;
10161        }
10162        unsafe { IOHIDTransactionCommit(self) }
10163    }
10164
10165    /// Asynchronously commits element transaction to the device.
10166    ///
10167    /// It is possible for elements from different reports
10168    /// to be present in a given transaction causing a commit to
10169    /// transcend multiple reports. Keep this in mind when setting a
10170    /// appropriate timeout.
10171    ///
10172    /// Parameter `transaction`: IOHIDTransaction object to be modified.
10173    ///
10174    /// Parameter `timeout`: Timeout in milliseconds for the transaction.
10175    ///
10176    /// Parameter `callback`: Callback of type IOHIDCallback to be used when
10177    /// transaction has been completed.  If null, this method will
10178    /// behave synchronously.
10179    ///
10180    /// Parameter `context`: Pointer to data to be passed to the callback.
10181    ///
10182    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if
10183    /// unsuccessful.
10184    ///
10185    /// # Safety
10186    ///
10187    /// - `callback` must be implemented correctly.
10188    /// - `context` must be a valid pointer or null.
10189    #[doc(alias = "IOHIDTransactionCommitWithCallback")]
10190    #[inline]
10191    pub unsafe fn commit_with_callback(
10192        &self,
10193        timeout: CFTimeInterval,
10194        callback: IOHIDCallback,
10195        context: *mut c_void,
10196    ) -> IOReturn {
10197        extern "C-unwind" {
10198            fn IOHIDTransactionCommitWithCallback(
10199                transaction: &IOHIDTransaction,
10200                timeout: CFTimeInterval,
10201                callback: IOHIDCallback,
10202                context: *mut c_void,
10203            ) -> IOReturn;
10204        }
10205        unsafe { IOHIDTransactionCommitWithCallback(self, timeout, callback, context) }
10206    }
10207
10208    /// Clears element transaction values.
10209    ///
10210    /// In regards to kIOHIDTransactionDirectionTypeOutput direction,
10211    /// default element values will be preserved.
10212    ///
10213    /// Parameter `transaction`: IOHIDTransaction object to be modified.
10214    #[doc(alias = "IOHIDTransactionClear")]
10215    #[inline]
10216    pub fn clear(&self) {
10217        extern "C-unwind" {
10218            fn IOHIDTransactionClear(transaction: &IOHIDTransaction);
10219        }
10220        unsafe { IOHIDTransactionClear(self) }
10221    }
10222}
10223
10224/// The object you use to access HID devices from user space, returned by version 1.5 of the IOHIDFamily.
10225///
10226/// The functions listed here will work with any version of the IOHIDDeviceDeviceInterface.
10227///
10228/// <b>
10229/// Note:
10230/// </b>
10231/// Please note that methods declared in this interface follow the copy/get/set conventions.
10232///
10233/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohiddevicedeviceinterface?language=objc)
10234#[repr(C)]
10235#[allow(unpredictable_function_pointer_comparisons)]
10236#[derive(Clone, Copy, Debug, PartialEq)]
10237pub struct IOHIDDeviceDeviceInterface {
10238    pub(crate) _reserved: *mut c_void,
10239    pub QueryInterface:
10240        Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>,
10241    pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
10242    pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
10243    pub open: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>,
10244    pub close: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>,
10245    pub getProperty: Option<
10246        unsafe extern "C-unwind" fn(*mut c_void, *const CFString, *mut *const CFType) -> IOReturn,
10247    >,
10248    pub setProperty: Option<
10249        unsafe extern "C-unwind" fn(*mut c_void, *const CFString, *const CFType) -> IOReturn,
10250    >,
10251    pub getAsyncEventSource:
10252        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *const CFType) -> IOReturn>,
10253    pub copyMatchingElements: Option<
10254        unsafe extern "C-unwind" fn(
10255            *mut c_void,
10256            *const CFDictionary,
10257            *mut *const CFArray,
10258            IOOptionBits,
10259        ) -> IOReturn,
10260    >,
10261    pub setValue: Option<
10262        unsafe extern "C-unwind" fn(
10263            *mut c_void,
10264            *mut IOHIDElement,
10265            *mut IOHIDValue,
10266            u32,
10267            IOHIDValueCallback,
10268            *mut c_void,
10269            IOOptionBits,
10270        ) -> IOReturn,
10271    >,
10272    pub getValue: Option<
10273        unsafe extern "C-unwind" fn(
10274            *mut c_void,
10275            *mut IOHIDElement,
10276            *mut *mut IOHIDValue,
10277            u32,
10278            IOHIDValueCallback,
10279            *mut c_void,
10280            IOOptionBits,
10281        ) -> IOReturn,
10282    >,
10283    pub setInputReportCallback: Option<
10284        unsafe extern "C-unwind" fn(
10285            *mut c_void,
10286            *mut u8,
10287            CFIndex,
10288            IOHIDReportCallback,
10289            *mut c_void,
10290            IOOptionBits,
10291        ) -> IOReturn,
10292    >,
10293    pub setReport: Option<
10294        unsafe extern "C-unwind" fn(
10295            *mut c_void,
10296            IOHIDReportType,
10297            u32,
10298            *const u8,
10299            CFIndex,
10300            u32,
10301            IOHIDReportCallback,
10302            *mut c_void,
10303            IOOptionBits,
10304        ) -> IOReturn,
10305    >,
10306    pub getReport: Option<
10307        unsafe extern "C-unwind" fn(
10308            *mut c_void,
10309            IOHIDReportType,
10310            u32,
10311            *mut u8,
10312            *mut CFIndex,
10313            u32,
10314            IOHIDReportCallback,
10315            *mut c_void,
10316            IOOptionBits,
10317        ) -> IOReturn,
10318    >,
10319}
10320
10321#[cfg(feature = "objc2")]
10322unsafe impl Encode for IOHIDDeviceDeviceInterface {
10323    const ENCODING: Encoding = Encoding::Struct("IOHIDDeviceDeviceInterface", &[
10324        <*mut c_void>::ENCODING,
10325        <Option<unsafe extern "C-unwind" fn(*mut c_void,REFIID,*mut LPVOID,) -> HRESULT>>::ENCODING,
10326        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
10327        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
10328        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10329        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10330        <Option<unsafe extern "C-unwind" fn(*mut c_void,*const CFString,*mut *const CFType,) -> IOReturn>>::ENCODING,
10331        <Option<unsafe extern "C-unwind" fn(*mut c_void,*const CFString,*const CFType,) -> IOReturn>>::ENCODING,
10332        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut *const CFType,) -> IOReturn>>::ENCODING,
10333        <Option<unsafe extern "C-unwind" fn(*mut c_void,*const CFDictionary,*mut *const CFArray,IOOptionBits,) -> IOReturn>>::ENCODING,
10334        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,*mut IOHIDValue,u32,IOHIDValueCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10335        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,*mut *mut IOHIDValue,u32,IOHIDValueCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10336        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut u8,CFIndex,IOHIDReportCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10337        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDReportType,u32,*const u8,CFIndex,u32,IOHIDReportCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10338        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDReportType,u32,*mut u8,*mut CFIndex,u32,IOHIDReportCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10339    ]);
10340}
10341
10342#[cfg(feature = "objc2")]
10343unsafe impl RefEncode for IOHIDDeviceDeviceInterface {
10344    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
10345}
10346
10347/// The object you use to access HID devices from user space, returned by version 2.1 of the IOHIDFamily.
10348///
10349/// The functions listed here include all of the functions from the IOHIDDeviceDeviceInterface.
10350///
10351/// <b>
10352/// Note:
10353/// </b>
10354/// Please note that methods declared in this interface follow the copy/get/set conventions.
10355///
10356/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohiddevicetimestampeddeviceinterface?language=objc)
10357#[repr(C)]
10358#[allow(unpredictable_function_pointer_comparisons)]
10359#[derive(Clone, Copy, Debug, PartialEq)]
10360pub struct IOHIDDeviceTimeStampedDeviceInterface {
10361    pub(crate) _reserved: *mut c_void,
10362    pub QueryInterface:
10363        Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>,
10364    pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
10365    pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
10366    pub open: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>,
10367    pub close: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>,
10368    pub getProperty: Option<
10369        unsafe extern "C-unwind" fn(*mut c_void, *const CFString, *mut *const CFType) -> IOReturn,
10370    >,
10371    pub setProperty: Option<
10372        unsafe extern "C-unwind" fn(*mut c_void, *const CFString, *const CFType) -> IOReturn,
10373    >,
10374    pub getAsyncEventSource:
10375        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *const CFType) -> IOReturn>,
10376    pub copyMatchingElements: Option<
10377        unsafe extern "C-unwind" fn(
10378            *mut c_void,
10379            *const CFDictionary,
10380            *mut *const CFArray,
10381            IOOptionBits,
10382        ) -> IOReturn,
10383    >,
10384    pub setValue: Option<
10385        unsafe extern "C-unwind" fn(
10386            *mut c_void,
10387            *mut IOHIDElement,
10388            *mut IOHIDValue,
10389            u32,
10390            IOHIDValueCallback,
10391            *mut c_void,
10392            IOOptionBits,
10393        ) -> IOReturn,
10394    >,
10395    pub getValue: Option<
10396        unsafe extern "C-unwind" fn(
10397            *mut c_void,
10398            *mut IOHIDElement,
10399            *mut *mut IOHIDValue,
10400            u32,
10401            IOHIDValueCallback,
10402            *mut c_void,
10403            IOOptionBits,
10404        ) -> IOReturn,
10405    >,
10406    pub setInputReportCallback: Option<
10407        unsafe extern "C-unwind" fn(
10408            *mut c_void,
10409            *mut u8,
10410            CFIndex,
10411            IOHIDReportCallback,
10412            *mut c_void,
10413            IOOptionBits,
10414        ) -> IOReturn,
10415    >,
10416    pub setReport: Option<
10417        unsafe extern "C-unwind" fn(
10418            *mut c_void,
10419            IOHIDReportType,
10420            u32,
10421            *const u8,
10422            CFIndex,
10423            u32,
10424            IOHIDReportCallback,
10425            *mut c_void,
10426            IOOptionBits,
10427        ) -> IOReturn,
10428    >,
10429    pub getReport: Option<
10430        unsafe extern "C-unwind" fn(
10431            *mut c_void,
10432            IOHIDReportType,
10433            u32,
10434            *mut u8,
10435            *mut CFIndex,
10436            u32,
10437            IOHIDReportCallback,
10438            *mut c_void,
10439            IOOptionBits,
10440        ) -> IOReturn,
10441    >,
10442    pub setInputReportWithTimeStampCallback: Option<
10443        unsafe extern "C-unwind" fn(
10444            *mut c_void,
10445            *mut u8,
10446            CFIndex,
10447            IOHIDReportWithTimeStampCallback,
10448            *mut c_void,
10449            IOOptionBits,
10450        ) -> IOReturn,
10451    >,
10452}
10453
10454#[cfg(feature = "objc2")]
10455unsafe impl Encode for IOHIDDeviceTimeStampedDeviceInterface {
10456    const ENCODING: Encoding = Encoding::Struct("IOHIDDeviceTimeStampedDeviceInterface", &[
10457        <*mut c_void>::ENCODING,
10458        <Option<unsafe extern "C-unwind" fn(*mut c_void,REFIID,*mut LPVOID,) -> HRESULT>>::ENCODING,
10459        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
10460        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
10461        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10462        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10463        <Option<unsafe extern "C-unwind" fn(*mut c_void,*const CFString,*mut *const CFType,) -> IOReturn>>::ENCODING,
10464        <Option<unsafe extern "C-unwind" fn(*mut c_void,*const CFString,*const CFType,) -> IOReturn>>::ENCODING,
10465        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut *const CFType,) -> IOReturn>>::ENCODING,
10466        <Option<unsafe extern "C-unwind" fn(*mut c_void,*const CFDictionary,*mut *const CFArray,IOOptionBits,) -> IOReturn>>::ENCODING,
10467        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,*mut IOHIDValue,u32,IOHIDValueCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10468        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,*mut *mut IOHIDValue,u32,IOHIDValueCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10469        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut u8,CFIndex,IOHIDReportCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10470        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDReportType,u32,*const u8,CFIndex,u32,IOHIDReportCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10471        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDReportType,u32,*mut u8,*mut CFIndex,u32,IOHIDReportCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10472        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut u8,CFIndex,IOHIDReportWithTimeStampCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10473    ]);
10474}
10475
10476#[cfg(feature = "objc2")]
10477unsafe impl RefEncode for IOHIDDeviceTimeStampedDeviceInterface {
10478    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
10479}
10480
10481/// The object you use to access a HID queue from user space, returned by version 1.5 of the IOHIDFamily.
10482///
10483/// The functions listed here will work with any version of the IOHIDDeviceQueueInterface.  This behavior is useful when you
10484/// need to keep track of all values of an input element, rather than just the most recent one.
10485/// <br>
10486/// <b>
10487/// Note:
10488/// </b>
10489/// Absolute element values (based on a fixed origin) will only be placed on a queue if there is a change in value.
10490///
10491/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohiddevicequeueinterface?language=objc)
10492#[repr(C)]
10493#[allow(unpredictable_function_pointer_comparisons)]
10494#[derive(Clone, Copy, Debug, PartialEq)]
10495pub struct IOHIDDeviceQueueInterface {
10496    pub(crate) _reserved: *mut c_void,
10497    pub QueryInterface:
10498        Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>,
10499    pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
10500    pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
10501    /// Obtains the event source for this IOHIDDeviceQueueInterface instance.
10502    ///
10503    /// The returned event source can be of type CFRunLoopSourceRef or CFRunLoopTimerRef.
10504    ///
10505    /// Parameter `self`: Pointer to the IOHIDDeviceQueueInterface.
10506    ///
10507    /// Parameter `pSource`: Pointer to a CFType to return the run loop event source.
10508    ///
10509    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10510    pub getAsyncEventSource:
10511        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *const CFType) -> IOReturn>,
10512    /// Sets the depth for this IOHIDDeviceQueueInterface instance.
10513    ///
10514    /// Regardless of element value size, queue will guarantee n=depth elements will be serviced.
10515    ///
10516    /// Parameter `self`: Pointer to the IOHIDDeviceTransactionInterface.
10517    ///
10518    /// Parameter `depth`: The maximum number of elements in the queue before the oldest elements in the queue begin to be lost.
10519    ///
10520    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10521    ///
10522    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10523    pub setDepth: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, IOOptionBits) -> IOReturn>,
10524    /// Obtains the queue depth for this IOHIDDeviceQueueInterface instance.
10525    ///
10526    /// Parameter `self`: Pointer to the IOHIDDeviceQueueInterface.
10527    ///
10528    /// Parameter `pDepth`: Pointer to a uint32_t to obtain the number of elements that can be serviced by the queue.
10529    ///
10530    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10531    pub getDepth: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut u32) -> IOReturn>,
10532    /// Adds an element to this IOHIDDeviceQueueInterface instance.
10533    ///
10534    /// Parameter `self`: Pointer to the IOHIDDeviceQueueInterface.
10535    ///
10536    /// Parameter `element`: IOHIDElementRef referencing the element to be added to the queue.
10537    ///
10538    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10539    ///
10540    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10541    pub addElement: Option<
10542        unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn,
10543    >,
10544    /// Removes an element from this IOHIDDeviceQueueInterface instance.
10545    ///
10546    /// Parameter `self`: Pointer to the IOHIDDeviceQueueInterface.
10547    ///
10548    /// Parameter `element`: IOHIDElementRef referencing the element to be removed from the queue.
10549    ///
10550    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10551    ///
10552    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10553    pub removeElement: Option<
10554        unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn,
10555    >,
10556    /// Determines whether an element has been added to this IOHIDDeviceQueueInterface instance.
10557    ///
10558    /// Parameter `self`: Pointer to the IOHIDDeviceQueueInterface.
10559    ///
10560    /// Parameter `element`: IOHIDElementRef referencing the element to be be found in the queue.
10561    ///
10562    /// Parameter `pValue`: Pointer to a Boolean to return whether or not the element was found in the queue.
10563    ///
10564    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10565    ///
10566    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10567    pub containsElement: Option<
10568        unsafe extern "C-unwind" fn(
10569            *mut c_void,
10570            *mut IOHIDElement,
10571            *mut Boolean,
10572            IOOptionBits,
10573        ) -> IOReturn,
10574    >,
10575    /// Starts element value delivery to the queue.
10576    ///
10577    /// Parameter `self`: Pointer to the IOHIDDeviceQueueInterface.
10578    ///
10579    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10580    ///
10581    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10582    pub start: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>,
10583    /// Stops element value delivery to the queue.
10584    ///
10585    /// Parameter `self`: Pointer to the IOHIDDeviceQueueInterface.
10586    ///
10587    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10588    ///
10589    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10590    pub stop: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>,
10591    /// Sets callback to be used when the queue transitions to non-empty.
10592    ///
10593    /// In order to make use of asynchronous behavior, the event source obtained using getAsyncEventSource
10594    /// must be added to a run loop.
10595    ///
10596    /// Parameter `self`: Pointer to the IOHIDDeviceQueueInterface.
10597    ///
10598    /// Parameter `callback`: Callback of type IOHIDCallback to be used when data is placed on the queue.
10599    ///
10600    /// Parameter `context`: Pointer to data to be passed to the callback.
10601    ///
10602    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10603    pub setValueAvailableCallback:
10604        Option<unsafe extern "C-unwind" fn(*mut c_void, IOHIDCallback, *mut c_void) -> IOReturn>,
10605    /// Dequeues a retained copy of an element value from the head of an IOHIDDeviceQueueInterface.
10606    ///
10607    /// Because the value is a retained copy, it is up to the caller to release the value using CFRelease.
10608    /// Use with setValueCallback to avoid polling the queue for data.
10609    ///
10610    /// Parameter `self`: Pointer to the IOHIDDeviceQueueInterface.
10611    ///
10612    /// Parameter `pValue`: Pointer to a IOHIDValueRef to return the value at the head of the queue.
10613    ///
10614    /// Parameter `timeout`: Timeout in milliseconds before aborting an attempt to dequeue a value from the head of a queue.
10615    ///
10616    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10617    ///
10618    /// Returns: Returns kIOReturnSuccess if successful, kIOReturnUnderrun if data is unavailble, or a kern_return_t if unsuccessful.
10619    pub copyNextValue: Option<
10620        unsafe extern "C-unwind" fn(
10621            *mut c_void,
10622            *mut *mut IOHIDValue,
10623            u32,
10624            IOOptionBits,
10625        ) -> IOReturn,
10626    >,
10627}
10628
10629#[cfg(feature = "objc2")]
10630unsafe impl Encode for IOHIDDeviceQueueInterface {
10631    const ENCODING: Encoding = Encoding::Struct("IOHIDDeviceQueueInterface", &[
10632        <*mut c_void>::ENCODING,
10633        <Option<unsafe extern "C-unwind" fn(*mut c_void,REFIID,*mut LPVOID,) -> HRESULT>>::ENCODING,
10634        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
10635        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
10636        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut *const CFType,) -> IOReturn>>::ENCODING,
10637        <Option<unsafe extern "C-unwind" fn(*mut c_void,u32,IOOptionBits,) -> IOReturn>>::ENCODING,
10638        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut u32,) -> IOReturn>>::ENCODING,
10639        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,IOOptionBits,) -> IOReturn>>::ENCODING,
10640        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,IOOptionBits,) -> IOReturn>>::ENCODING,
10641        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,*mut Boolean,IOOptionBits,) -> IOReturn>>::ENCODING,
10642        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10643        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10644        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDCallback,*mut c_void,) -> IOReturn>>::ENCODING,
10645        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut *mut IOHIDValue,u32,IOOptionBits,) -> IOReturn>>::ENCODING,
10646    ]);
10647}
10648
10649#[cfg(feature = "objc2")]
10650unsafe impl RefEncode for IOHIDDeviceQueueInterface {
10651    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
10652}
10653
10654/// The object you use to access a HID transaction from user space, returned by version 1.5 of the IOHIDFamily.
10655///
10656/// The functions listed here will work with any version of the IOHIDDeviceTransactionInterface. This functionality
10657/// is useful when either setting or getting the values for multiple parsed elements.
10658///
10659/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohiddevicetransactioninterface?language=objc)
10660#[repr(C)]
10661#[allow(unpredictable_function_pointer_comparisons)]
10662#[derive(Clone, Copy, Debug, PartialEq)]
10663pub struct IOHIDDeviceTransactionInterface {
10664    pub(crate) _reserved: *mut c_void,
10665    pub QueryInterface:
10666        Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>,
10667    pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
10668    pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
10669    /// Obtains the event source for this IOHIDDeviceTransactionInterface instance.
10670    ///
10671    /// The returned event source can be of type CFRunLoopSourceRef or CFRunLoopTimerRef.
10672    ///
10673    /// Parameter `self`: Pointer to the IOHIDDeviceTransactionInterface.
10674    ///
10675    /// Parameter `pSource`: Pointer to a CFType to return the run loop event source.
10676    ///
10677    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10678    pub getAsyncEventSource:
10679        Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *const CFType) -> IOReturn>,
10680    /// Sets the direction for this IOHIDDeviceTransactionInterface instance.
10681    ///
10682    /// Direction constants are declared in IOHIDTransactionDirectionType.  Changing directions
10683    /// is useful when dealing with elements of type kIOHIDElementTypeFeature as you use the
10684    /// transaction to both set and get element values.
10685    ///
10686    /// Parameter `self`: Pointer to the IOHIDDeviceTransactionInterface.
10687    ///
10688    /// Parameter `direction`: Transaction direction of type IOHIDTransactionDirectionType.
10689    ///
10690    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10691    ///
10692    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10693    pub setDirection: Option<
10694        unsafe extern "C-unwind" fn(
10695            *mut c_void,
10696            IOHIDTransactionDirectionType,
10697            IOOptionBits,
10698        ) -> IOReturn,
10699    >,
10700    /// Obtains the direction for this IOHIDDeviceTransactionInterface instance.
10701    ///
10702    /// Direction constants are declared in IOHIDTransactionDirectionType.
10703    ///
10704    /// Parameter `self`: Pointer to the IOHIDDeviceTransactionInterface.
10705    ///
10706    /// Parameter `pDirection`: Pointer to a IOHIDTransactionDirectionType to obtain transaction direction.
10707    ///
10708    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10709    pub getDirection: Option<
10710        unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDTransactionDirectionType) -> IOReturn,
10711    >,
10712    /// Adds an element to this IOHIDDeviceTransactionInterface instance.
10713    ///
10714    /// Parameter `self`: Pointer to the IOHIDDeviceTransactionInterface.
10715    ///
10716    /// Parameter `element`: IOHIDElementRef referencing the element to be added to the transaction.
10717    ///
10718    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10719    ///
10720    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10721    pub addElement: Option<
10722        unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn,
10723    >,
10724    /// Removes an element from this IOHIDDeviceTransactionInterface instance.
10725    ///
10726    /// Parameter `self`: Pointer to the IOHIDDeviceTransactionInterface.
10727    ///
10728    /// Parameter `element`: IOHIDElementRef referencing the element to be removed from the transaction.
10729    ///
10730    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10731    ///
10732    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10733    pub removeElement: Option<
10734        unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn,
10735    >,
10736    /// Checks whether an element has been added to this IOHIDDeviceTransactionInterface instance.
10737    ///
10738    /// Parameter `self`: Pointer to the IOHIDDeviceTransactionInterface.
10739    ///
10740    /// Parameter `element`: IOHIDElementRef referencing the element to be be found in the transaction.
10741    ///
10742    /// Parameter `pValue`: Pointer to a Boolean to return whether or not the element was found in the transaction.
10743    ///
10744    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10745    ///
10746    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10747    pub containsElement: Option<
10748        unsafe extern "C-unwind" fn(
10749            *mut c_void,
10750            *mut IOHIDElement,
10751            *mut Boolean,
10752            IOOptionBits,
10753        ) -> IOReturn,
10754    >,
10755    /// Sets the transaction value for an element in this IOHIDDeviceTransactionInterface instance.
10756    ///
10757    /// This method is intended for use with transaction of direction kIOHIDTransactionDirectionTypeOutput.
10758    /// Use the kIOHIDTransactionOptionDefaultOutputValue option to set the default element value.
10759    ///
10760    /// Parameter `self`: Pointer to the IOHIDDeviceTransactionInterface.
10761    ///
10762    /// Parameter `element`: IOHIDElementRef referencing the element of interest.
10763    ///
10764    /// Parameter `value`: IOHIDValueRef referencing element value to be used in the transaction.
10765    ///
10766    /// Parameter `options`: See IOHIDTransactionOption.
10767    ///
10768    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10769    pub setValue: Option<
10770        unsafe extern "C-unwind" fn(
10771            *mut c_void,
10772            *mut IOHIDElement,
10773            *mut IOHIDValue,
10774            IOOptionBits,
10775        ) -> IOReturn,
10776    >,
10777    /// Obtains the transaction value for an element in this IOHIDDeviceTransactionInterface instance.
10778    ///
10779    /// Use the kIOHIDTransactionOptionDefaultOutputValue option to get the default element value.
10780    ///
10781    /// Parameter `self`: Pointer to the IOHIDDeviceTransactionInterface.
10782    ///
10783    /// Parameter `element`: IOHIDElementRef referencing the element of interest.
10784    ///
10785    /// Parameter `pValue`: Pointer to an IOHIDValueRef to return the element value of the transaction.
10786    ///
10787    /// Parameter `options`: See IOHIDTransactionOption.
10788    ///
10789    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10790    pub getValue: Option<
10791        unsafe extern "C-unwind" fn(
10792            *mut c_void,
10793            *mut IOHIDElement,
10794            *mut *mut IOHIDValue,
10795            IOOptionBits,
10796        ) -> IOReturn,
10797    >,
10798    /// Commits element transaction to an IOHIDDevice in this IOHIDDeviceTransactionInterface instance.
10799    ///
10800    /// In regards to kIOHIDTransactionDirectionTypeOutput direction, default element values will be used if
10801    /// element values are not set.  If neither are set, that element will be omitted from the commit. After
10802    /// a transaction is committed, transaction element values will be cleared and default values preserved.
10803    /// <br>
10804    /// <b>
10805    /// Note:
10806    /// </b>
10807    /// It is possible for elements from different reports to be present in a given transaction
10808    /// causing a commit to transcend multiple reports. Keep this in mind when setting a timeout.
10809    ///
10810    /// Parameter `self`: Pointer to the IOHIDDeviceTransactionInterface.
10811    ///
10812    /// Parameter `timeout`: Timeout in milliseconds for issuing the transaction.
10813    ///
10814    /// Parameter `callback`: Callback of type IOHIDCallback to be used when transaction has been completed.  If null,
10815    /// this method will behave synchronously.
10816    ///
10817    /// Parameter `context`: Pointer to data to be passed to the callback.
10818    ///
10819    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10820    ///
10821    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10822    pub commit: Option<
10823        unsafe extern "C-unwind" fn(
10824            *mut c_void,
10825            u32,
10826            IOHIDCallback,
10827            *mut c_void,
10828            IOOptionBits,
10829        ) -> IOReturn,
10830    >,
10831    /// Clears element transaction values for an IOHIDDeviceTransactionInterface.
10832    ///
10833    /// In regards to kIOHIDTransactionDirectionTypeOutput direction, default element values will be preserved.
10834    ///
10835    /// Parameter `self`: Pointer to the IOHIDDeviceTransactionInterface.
10836    ///
10837    /// Parameter `options`: Reserved for future use. Ignored in current implementation. Set to zero.
10838    ///
10839    /// Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
10840    pub clear: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>,
10841}
10842
10843#[cfg(feature = "objc2")]
10844unsafe impl Encode for IOHIDDeviceTransactionInterface {
10845    const ENCODING: Encoding = Encoding::Struct("IOHIDDeviceTransactionInterface", &[
10846        <*mut c_void>::ENCODING,
10847        <Option<unsafe extern "C-unwind" fn(*mut c_void,REFIID,*mut LPVOID,) -> HRESULT>>::ENCODING,
10848        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
10849        <Option<unsafe extern "C-unwind" fn(*mut c_void,) -> ULONG>>::ENCODING,
10850        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut *const CFType,) -> IOReturn>>::ENCODING,
10851        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOHIDTransactionDirectionType,IOOptionBits,) -> IOReturn>>::ENCODING,
10852        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDTransactionDirectionType,) -> IOReturn>>::ENCODING,
10853        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,IOOptionBits,) -> IOReturn>>::ENCODING,
10854        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,IOOptionBits,) -> IOReturn>>::ENCODING,
10855        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,*mut Boolean,IOOptionBits,) -> IOReturn>>::ENCODING,
10856        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,*mut IOHIDValue,IOOptionBits,) -> IOReturn>>::ENCODING,
10857        <Option<unsafe extern "C-unwind" fn(*mut c_void,*mut IOHIDElement,*mut *mut IOHIDValue,IOOptionBits,) -> IOReturn>>::ENCODING,
10858        <Option<unsafe extern "C-unwind" fn(*mut c_void,u32,IOHIDCallback,*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10859        <Option<unsafe extern "C-unwind" fn(*mut c_void,IOOptionBits,) -> IOReturn>>::ENCODING,
10860    ]);
10861}
10862
10863#[cfg(feature = "objc2")]
10864unsafe impl RefEncode for IOHIDDeviceTransactionInterface {
10865    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
10866}
10867
10868/// Keyboard event options passed in to dispatchKeyboardEvent function in
10869/// IOHIDEventService.
10870///
10871/// Field: kIOHIDKeyboardEventOptionsNoKeyRepeat
10872/// Default behavior for keyboard events is to repeat keys if the key has been
10873/// held down for a certain amount of time defined in system preferences. Pass
10874/// in this option to not apply key repeat logic to this event.
10875///
10876/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidkeyboardeventoptions?language=objc)
10877#[repr(transparent)]
10878#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10879pub struct IOHIDKeyboardEventOptions(pub c_uint);
10880impl IOHIDKeyboardEventOptions {
10881    #[doc(alias = "kIOHIDKeyboardEventOptionsNoKeyRepeat")]
10882    pub const NoKeyRepeat: Self = Self(1 << 8);
10883}
10884
10885#[cfg(feature = "objc2")]
10886unsafe impl Encode for IOHIDKeyboardEventOptions {
10887    const ENCODING: Encoding = c_uint::ENCODING;
10888}
10889
10890#[cfg(feature = "objc2")]
10891unsafe impl RefEncode for IOHIDKeyboardEventOptions {
10892    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
10893}
10894
10895/// Pointer event options passed in to dispatch(Relative/Absolute)PointerEvent
10896/// function in IOHIDEventService.
10897///
10898/// Field: kIOHIDPointerEventOptionsNoAcceleration
10899/// Pointer events are subject to an acceleration algorithm. Pass in this option
10900/// if you do not wish to have acceleration logic applied to the pointer event.
10901///
10902/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidpointereventoptions?language=objc)
10903#[repr(transparent)]
10904#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10905pub struct IOHIDPointerEventOptions(pub c_uint);
10906impl IOHIDPointerEventOptions {
10907    #[doc(alias = "kIOHIDPointerEventOptionsNoAcceleration")]
10908    pub const NoAcceleration: Self = Self(1 << 8);
10909}
10910
10911#[cfg(feature = "objc2")]
10912unsafe impl Encode for IOHIDPointerEventOptions {
10913    const ENCODING: Encoding = c_uint::ENCODING;
10914}
10915
10916#[cfg(feature = "objc2")]
10917unsafe impl RefEncode for IOHIDPointerEventOptions {
10918    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
10919}
10920
10921/// Scroll event options passed in to dispatchScrollEvent function in
10922/// IOHIDEventService.
10923///
10924/// Field: kIOHIDScrollEventOptionsNoAcceleration
10925/// Scroll events are subject to an acceleration algorithm. Pass in this option
10926/// if you do not wish to have acceleration logic applied to the scroll event.
10927///
10928/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidscrolleventoptions?language=objc)
10929#[repr(transparent)]
10930#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10931pub struct IOHIDScrollEventOptions(pub c_uint);
10932impl IOHIDScrollEventOptions {
10933    #[doc(alias = "kIOHIDScrollEventOptionsNoAcceleration")]
10934    pub const NoAcceleration: Self = Self(1 << 8);
10935}
10936
10937#[cfg(feature = "objc2")]
10938unsafe impl Encode for IOHIDScrollEventOptions {
10939    const ENCODING: Encoding = c_uint::ENCODING;
10940}
10941
10942#[cfg(feature = "objc2")]
10943unsafe impl RefEncode for IOHIDScrollEventOptions {
10944    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
10945}
10946
10947/// List of control options  for sensor controls in HID event system
10948///
10949/// Options define behavior of HID event system for handling kIOHIDServiceReportIntervalKey
10950/// &
10951/// kIOHIDServiceBatchIntervalKey and associated event dispatch to kIOHIDEventSystemClientTypeRateControlled clients
10952///
10953/// See also [Apple's documentation](https://developer.apple.com/documentation/iokit/iohidservicesensorcontroloptions?language=objc)
10954#[repr(transparent)]
10955#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
10956pub struct IOHIDServiceSensorControlOptions(pub u32);
10957impl IOHIDServiceSensorControlOptions {
10958    #[doc(alias = "kIOHIDServiceSensorControlDecimation")]
10959    pub const Decimation: Self = Self(0x1 << 0);
10960    #[doc(alias = "kIOHIDServiceSensorControlAggregation")]
10961    pub const Aggregation: Self = Self(0x1 << 1);
10962    #[doc(alias = "kIOHIDServiceSensorControlDispatchControl")]
10963    pub const DispatchControl: Self = Self(0x1 << 2);
10964}
10965
10966#[cfg(feature = "objc2")]
10967unsafe impl Encode for IOHIDServiceSensorControlOptions {
10968    const ENCODING: Encoding = u32::ENCODING;
10969}
10970
10971#[cfg(feature = "objc2")]
10972unsafe impl RefEncode for IOHIDServiceSensorControlOptions {
10973    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
10974}
10975
10976#[deprecated = "renamed to `IOHIDQueue::new`"]
10977#[inline]
10978pub extern "C-unwind" fn IOHIDQueueCreate(
10979    allocator: Option<&CFAllocator>,
10980    device: &IOHIDDevice,
10981    depth: CFIndex,
10982    options: IOOptionBits,
10983) -> Option<CFRetained<IOHIDQueue>> {
10984    extern "C-unwind" {
10985        fn IOHIDQueueCreate(
10986            allocator: Option<&CFAllocator>,
10987            device: &IOHIDDevice,
10988            depth: CFIndex,
10989            options: IOOptionBits,
10990        ) -> Option<NonNull<IOHIDQueue>>;
10991    }
10992    let ret = unsafe { IOHIDQueueCreate(allocator, device, depth, options) };
10993    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
10994}
10995
10996#[deprecated = "renamed to `IOHIDQueue::device`"]
10997#[inline]
10998pub extern "C-unwind" fn IOHIDQueueGetDevice(queue: &IOHIDQueue) -> CFRetained<IOHIDDevice> {
10999    extern "C-unwind" {
11000        fn IOHIDQueueGetDevice(queue: &IOHIDQueue) -> Option<NonNull<IOHIDDevice>>;
11001    }
11002    let ret = unsafe { IOHIDQueueGetDevice(queue) };
11003    let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
11004    unsafe { CFRetained::retain(ret) }
11005}
11006
11007#[deprecated = "renamed to `IOHIDQueue::depth`"]
11008#[inline]
11009pub extern "C-unwind" fn IOHIDQueueGetDepth(queue: &IOHIDQueue) -> CFIndex {
11010    extern "C-unwind" {
11011        fn IOHIDQueueGetDepth(queue: &IOHIDQueue) -> CFIndex;
11012    }
11013    unsafe { IOHIDQueueGetDepth(queue) }
11014}
11015
11016#[deprecated = "renamed to `IOHIDQueue::set_depth`"]
11017#[inline]
11018pub extern "C-unwind" fn IOHIDQueueSetDepth(queue: &IOHIDQueue, depth: CFIndex) {
11019    extern "C-unwind" {
11020        fn IOHIDQueueSetDepth(queue: &IOHIDQueue, depth: CFIndex);
11021    }
11022    unsafe { IOHIDQueueSetDepth(queue, depth) }
11023}
11024
11025#[deprecated = "renamed to `IOHIDQueue::add_element`"]
11026#[inline]
11027pub extern "C-unwind" fn IOHIDQueueAddElement(queue: &IOHIDQueue, element: &IOHIDElement) {
11028    extern "C-unwind" {
11029        fn IOHIDQueueAddElement(queue: &IOHIDQueue, element: &IOHIDElement);
11030    }
11031    unsafe { IOHIDQueueAddElement(queue, element) }
11032}
11033
11034#[deprecated = "renamed to `IOHIDQueue::remove_element`"]
11035#[inline]
11036pub extern "C-unwind" fn IOHIDQueueRemoveElement(queue: &IOHIDQueue, element: &IOHIDElement) {
11037    extern "C-unwind" {
11038        fn IOHIDQueueRemoveElement(queue: &IOHIDQueue, element: &IOHIDElement);
11039    }
11040    unsafe { IOHIDQueueRemoveElement(queue, element) }
11041}
11042
11043#[deprecated = "renamed to `IOHIDQueue::contains_element`"]
11044#[inline]
11045pub extern "C-unwind" fn IOHIDQueueContainsElement(
11046    queue: &IOHIDQueue,
11047    element: &IOHIDElement,
11048) -> bool {
11049    extern "C-unwind" {
11050        fn IOHIDQueueContainsElement(queue: &IOHIDQueue, element: &IOHIDElement) -> Boolean;
11051    }
11052    let ret = unsafe { IOHIDQueueContainsElement(queue, element) };
11053    ret != 0
11054}
11055
11056#[deprecated = "renamed to `IOHIDQueue::start`"]
11057#[inline]
11058pub extern "C-unwind" fn IOHIDQueueStart(queue: &IOHIDQueue) {
11059    extern "C-unwind" {
11060        fn IOHIDQueueStart(queue: &IOHIDQueue);
11061    }
11062    unsafe { IOHIDQueueStart(queue) }
11063}
11064
11065#[deprecated = "renamed to `IOHIDQueue::stop`"]
11066#[inline]
11067pub extern "C-unwind" fn IOHIDQueueStop(queue: &IOHIDQueue) {
11068    extern "C-unwind" {
11069        fn IOHIDQueueStop(queue: &IOHIDQueue);
11070    }
11071    unsafe { IOHIDQueueStop(queue) }
11072}
11073
11074extern "C-unwind" {
11075    #[deprecated = "renamed to `IOHIDQueue::schedule_with_run_loop`"]
11076    pub fn IOHIDQueueScheduleWithRunLoop(
11077        queue: &IOHIDQueue,
11078        run_loop: &CFRunLoop,
11079        run_loop_mode: &CFString,
11080    );
11081}
11082
11083extern "C-unwind" {
11084    #[deprecated = "renamed to `IOHIDQueue::unschedule_from_run_loop`"]
11085    pub fn IOHIDQueueUnscheduleFromRunLoop(
11086        queue: &IOHIDQueue,
11087        run_loop: &CFRunLoop,
11088        run_loop_mode: &CFString,
11089    );
11090}
11091
11092extern "C-unwind" {
11093    #[cfg(feature = "dispatch2")]
11094    #[deprecated = "renamed to `IOHIDQueue::set_dispatch_queue`"]
11095    pub fn IOHIDQueueSetDispatchQueue(queue: &IOHIDQueue, dispatch_queue: &DispatchQueue);
11096}
11097
11098extern "C-unwind" {
11099    #[cfg(feature = "dispatch2")]
11100    #[deprecated = "renamed to `IOHIDQueue::set_cancel_handler`"]
11101    pub fn IOHIDQueueSetCancelHandler(queue: &IOHIDQueue, handler: dispatch_block_t);
11102}
11103
11104#[deprecated = "renamed to `IOHIDQueue::activate`"]
11105#[inline]
11106pub extern "C-unwind" fn IOHIDQueueActivate(queue: &IOHIDQueue) {
11107    extern "C-unwind" {
11108        fn IOHIDQueueActivate(queue: &IOHIDQueue);
11109    }
11110    unsafe { IOHIDQueueActivate(queue) }
11111}
11112
11113#[deprecated = "renamed to `IOHIDQueue::cancel`"]
11114#[inline]
11115pub extern "C-unwind" fn IOHIDQueueCancel(queue: &IOHIDQueue) {
11116    extern "C-unwind" {
11117        fn IOHIDQueueCancel(queue: &IOHIDQueue);
11118    }
11119    unsafe { IOHIDQueueCancel(queue) }
11120}
11121
11122extern "C-unwind" {
11123    #[deprecated = "renamed to `IOHIDQueue::register_value_available_callback`"]
11124    pub fn IOHIDQueueRegisterValueAvailableCallback(
11125        queue: &IOHIDQueue,
11126        callback: IOHIDCallback,
11127        context: *mut c_void,
11128    );
11129}
11130
11131#[deprecated = "renamed to `IOHIDQueue::next_value`"]
11132#[inline]
11133pub extern "C-unwind" fn IOHIDQueueCopyNextValue(
11134    queue: &IOHIDQueue,
11135) -> Option<CFRetained<IOHIDValue>> {
11136    extern "C-unwind" {
11137        fn IOHIDQueueCopyNextValue(queue: &IOHIDQueue) -> Option<NonNull<IOHIDValue>>;
11138    }
11139    let ret = unsafe { IOHIDQueueCopyNextValue(queue) };
11140    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
11141}
11142
11143#[deprecated = "renamed to `IOHIDQueue::next_value_with_timeout`"]
11144#[inline]
11145pub extern "C-unwind" fn IOHIDQueueCopyNextValueWithTimeout(
11146    queue: &IOHIDQueue,
11147    timeout: CFTimeInterval,
11148) -> Option<CFRetained<IOHIDValue>> {
11149    extern "C-unwind" {
11150        fn IOHIDQueueCopyNextValueWithTimeout(
11151            queue: &IOHIDQueue,
11152            timeout: CFTimeInterval,
11153        ) -> Option<NonNull<IOHIDValue>>;
11154    }
11155    let ret = unsafe { IOHIDQueueCopyNextValueWithTimeout(queue, timeout) };
11156    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
11157}
11158
11159#[cfg(feature = "libc")]
11160#[deprecated = "renamed to `IOHIDDevice::new`"]
11161#[inline]
11162pub extern "C-unwind" fn IOHIDDeviceCreate(
11163    allocator: Option<&CFAllocator>,
11164    service: io_service_t,
11165) -> Option<CFRetained<IOHIDDevice>> {
11166    extern "C-unwind" {
11167        fn IOHIDDeviceCreate(
11168            allocator: Option<&CFAllocator>,
11169            service: io_service_t,
11170        ) -> Option<NonNull<IOHIDDevice>>;
11171    }
11172    let ret = unsafe { IOHIDDeviceCreate(allocator, service) };
11173    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
11174}
11175
11176#[cfg(feature = "libc")]
11177#[deprecated = "renamed to `IOHIDDevice::service`"]
11178#[inline]
11179pub extern "C-unwind" fn IOHIDDeviceGetService(device: &IOHIDDevice) -> io_service_t {
11180    extern "C-unwind" {
11181        fn IOHIDDeviceGetService(device: &IOHIDDevice) -> io_service_t;
11182    }
11183    unsafe { IOHIDDeviceGetService(device) }
11184}
11185
11186#[deprecated = "renamed to `IOHIDDevice::open`"]
11187#[inline]
11188pub extern "C-unwind" fn IOHIDDeviceOpen(device: &IOHIDDevice, options: IOOptionBits) -> IOReturn {
11189    extern "C-unwind" {
11190        fn IOHIDDeviceOpen(device: &IOHIDDevice, options: IOOptionBits) -> IOReturn;
11191    }
11192    unsafe { IOHIDDeviceOpen(device, options) }
11193}
11194
11195#[deprecated = "renamed to `IOHIDDevice::close`"]
11196#[inline]
11197pub extern "C-unwind" fn IOHIDDeviceClose(device: &IOHIDDevice, options: IOOptionBits) -> IOReturn {
11198    extern "C-unwind" {
11199        fn IOHIDDeviceClose(device: &IOHIDDevice, options: IOOptionBits) -> IOReturn;
11200    }
11201    unsafe { IOHIDDeviceClose(device, options) }
11202}
11203
11204#[deprecated = "renamed to `IOHIDDevice::conforms_to`"]
11205#[inline]
11206pub extern "C-unwind" fn IOHIDDeviceConformsTo(
11207    device: &IOHIDDevice,
11208    usage_page: u32,
11209    usage: u32,
11210) -> bool {
11211    extern "C-unwind" {
11212        fn IOHIDDeviceConformsTo(device: &IOHIDDevice, usage_page: u32, usage: u32) -> Boolean;
11213    }
11214    let ret = unsafe { IOHIDDeviceConformsTo(device, usage_page, usage) };
11215    ret != 0
11216}
11217
11218#[deprecated = "renamed to `IOHIDDevice::property`"]
11219#[inline]
11220pub extern "C-unwind" fn IOHIDDeviceGetProperty(
11221    device: &IOHIDDevice,
11222    key: &CFString,
11223) -> Option<CFRetained<CFType>> {
11224    extern "C-unwind" {
11225        fn IOHIDDeviceGetProperty(device: &IOHIDDevice, key: &CFString) -> Option<NonNull<CFType>>;
11226    }
11227    let ret = unsafe { IOHIDDeviceGetProperty(device, key) };
11228    ret.map(|ret| unsafe { CFRetained::retain(ret) })
11229}
11230
11231#[deprecated = "renamed to `IOHIDDevice::set_property`"]
11232#[inline]
11233pub unsafe extern "C-unwind" fn IOHIDDeviceSetProperty(
11234    device: &IOHIDDevice,
11235    key: &CFString,
11236    property: &CFType,
11237) -> bool {
11238    extern "C-unwind" {
11239        fn IOHIDDeviceSetProperty(
11240            device: &IOHIDDevice,
11241            key: &CFString,
11242            property: &CFType,
11243        ) -> Boolean;
11244    }
11245    let ret = unsafe { IOHIDDeviceSetProperty(device, key, property) };
11246    ret != 0
11247}
11248
11249#[deprecated = "renamed to `IOHIDDevice::matching_elements`"]
11250#[inline]
11251pub unsafe extern "C-unwind" fn IOHIDDeviceCopyMatchingElements(
11252    device: &IOHIDDevice,
11253    matching: Option<&CFDictionary>,
11254    options: IOOptionBits,
11255) -> Option<CFRetained<CFArray>> {
11256    extern "C-unwind" {
11257        fn IOHIDDeviceCopyMatchingElements(
11258            device: &IOHIDDevice,
11259            matching: Option<&CFDictionary>,
11260            options: IOOptionBits,
11261        ) -> Option<NonNull<CFArray>>;
11262    }
11263    let ret = unsafe { IOHIDDeviceCopyMatchingElements(device, matching, options) };
11264    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
11265}
11266
11267extern "C-unwind" {
11268    #[deprecated = "renamed to `IOHIDDevice::schedule_with_run_loop`"]
11269    pub fn IOHIDDeviceScheduleWithRunLoop(
11270        device: &IOHIDDevice,
11271        run_loop: &CFRunLoop,
11272        run_loop_mode: &CFString,
11273    );
11274}
11275
11276extern "C-unwind" {
11277    #[deprecated = "renamed to `IOHIDDevice::unschedule_from_run_loop`"]
11278    pub fn IOHIDDeviceUnscheduleFromRunLoop(
11279        device: &IOHIDDevice,
11280        run_loop: &CFRunLoop,
11281        run_loop_mode: &CFString,
11282    );
11283}
11284
11285extern "C-unwind" {
11286    #[cfg(feature = "dispatch2")]
11287    #[deprecated = "renamed to `IOHIDDevice::set_dispatch_queue`"]
11288    pub fn IOHIDDeviceSetDispatchQueue(device: &IOHIDDevice, queue: &DispatchQueue);
11289}
11290
11291extern "C-unwind" {
11292    #[cfg(feature = "dispatch2")]
11293    #[deprecated = "renamed to `IOHIDDevice::set_cancel_handler`"]
11294    pub fn IOHIDDeviceSetCancelHandler(device: &IOHIDDevice, handler: dispatch_block_t);
11295}
11296
11297#[deprecated = "renamed to `IOHIDDevice::activate`"]
11298#[inline]
11299pub extern "C-unwind" fn IOHIDDeviceActivate(device: &IOHIDDevice) {
11300    extern "C-unwind" {
11301        fn IOHIDDeviceActivate(device: &IOHIDDevice);
11302    }
11303    unsafe { IOHIDDeviceActivate(device) }
11304}
11305
11306#[deprecated = "renamed to `IOHIDDevice::cancel`"]
11307#[inline]
11308pub extern "C-unwind" fn IOHIDDeviceCancel(device: &IOHIDDevice) {
11309    extern "C-unwind" {
11310        fn IOHIDDeviceCancel(device: &IOHIDDevice);
11311    }
11312    unsafe { IOHIDDeviceCancel(device) }
11313}
11314
11315extern "C-unwind" {
11316    #[deprecated = "renamed to `IOHIDDevice::register_removal_callback`"]
11317    pub fn IOHIDDeviceRegisterRemovalCallback(
11318        device: &IOHIDDevice,
11319        callback: IOHIDCallback,
11320        context: *mut c_void,
11321    );
11322}
11323
11324extern "C-unwind" {
11325    #[deprecated = "renamed to `IOHIDDevice::register_input_value_callback`"]
11326    pub fn IOHIDDeviceRegisterInputValueCallback(
11327        device: &IOHIDDevice,
11328        callback: IOHIDValueCallback,
11329        context: *mut c_void,
11330    );
11331}
11332
11333extern "C-unwind" {
11334    #[deprecated = "renamed to `IOHIDDevice::register_input_report_callback`"]
11335    pub fn IOHIDDeviceRegisterInputReportCallback(
11336        device: &IOHIDDevice,
11337        report: NonNull<u8>,
11338        report_length: CFIndex,
11339        callback: IOHIDReportCallback,
11340        context: *mut c_void,
11341    );
11342}
11343
11344extern "C-unwind" {
11345    #[deprecated = "renamed to `IOHIDDevice::register_input_report_with_time_stamp_callback`"]
11346    pub fn IOHIDDeviceRegisterInputReportWithTimeStampCallback(
11347        device: &IOHIDDevice,
11348        report: NonNull<u8>,
11349        report_length: CFIndex,
11350        callback: IOHIDReportWithTimeStampCallback,
11351        context: *mut c_void,
11352    );
11353}
11354
11355extern "C-unwind" {
11356    #[deprecated = "renamed to `IOHIDDevice::set_input_value_matching`"]
11357    pub fn IOHIDDeviceSetInputValueMatching(device: &IOHIDDevice, matching: Option<&CFDictionary>);
11358}
11359
11360extern "C-unwind" {
11361    #[deprecated = "renamed to `IOHIDDevice::set_input_value_matching_multiple`"]
11362    pub fn IOHIDDeviceSetInputValueMatchingMultiple(
11363        device: &IOHIDDevice,
11364        multiple: Option<&CFArray>,
11365    );
11366}
11367
11368#[deprecated = "renamed to `IOHIDDevice::set_value`"]
11369#[inline]
11370pub extern "C-unwind" fn IOHIDDeviceSetValue(
11371    device: &IOHIDDevice,
11372    element: &IOHIDElement,
11373    value: &IOHIDValue,
11374) -> IOReturn {
11375    extern "C-unwind" {
11376        fn IOHIDDeviceSetValue(
11377            device: &IOHIDDevice,
11378            element: &IOHIDElement,
11379            value: &IOHIDValue,
11380        ) -> IOReturn;
11381    }
11382    unsafe { IOHIDDeviceSetValue(device, element, value) }
11383}
11384
11385extern "C-unwind" {
11386    #[deprecated = "renamed to `IOHIDDevice::set_value_multiple`"]
11387    pub fn IOHIDDeviceSetValueMultiple(device: &IOHIDDevice, multiple: &CFDictionary) -> IOReturn;
11388}
11389
11390extern "C-unwind" {
11391    #[deprecated = "renamed to `IOHIDDevice::set_value_with_callback`"]
11392    pub fn IOHIDDeviceSetValueWithCallback(
11393        device: &IOHIDDevice,
11394        element: &IOHIDElement,
11395        value: &IOHIDValue,
11396        timeout: CFTimeInterval,
11397        callback: IOHIDValueCallback,
11398        context: *mut c_void,
11399    ) -> IOReturn;
11400}
11401
11402extern "C-unwind" {
11403    #[deprecated = "renamed to `IOHIDDevice::set_value_multiple_with_callback`"]
11404    pub fn IOHIDDeviceSetValueMultipleWithCallback(
11405        device: &IOHIDDevice,
11406        multiple: &CFDictionary,
11407        timeout: CFTimeInterval,
11408        callback: IOHIDValueMultipleCallback,
11409        context: *mut c_void,
11410    ) -> IOReturn;
11411}
11412
11413extern "C-unwind" {
11414    #[deprecated = "renamed to `IOHIDDevice::value`"]
11415    pub fn IOHIDDeviceGetValue(
11416        device: &IOHIDDevice,
11417        element: &IOHIDElement,
11418        p_value: NonNull<NonNull<IOHIDValue>>,
11419    ) -> IOReturn;
11420}
11421
11422extern "C-unwind" {
11423    #[deprecated = "renamed to `IOHIDDevice::value_with_options`"]
11424    pub fn IOHIDDeviceGetValueWithOptions(
11425        device: &IOHIDDevice,
11426        element: &IOHIDElement,
11427        p_value: NonNull<NonNull<IOHIDValue>>,
11428        options: u32,
11429    ) -> IOReturn;
11430}
11431
11432extern "C-unwind" {
11433    #[deprecated = "renamed to `IOHIDDevice::copy_value_multiple`"]
11434    pub fn IOHIDDeviceCopyValueMultiple(
11435        device: &IOHIDDevice,
11436        elements: &CFArray,
11437        p_multiple: *mut *const CFDictionary,
11438    ) -> IOReturn;
11439}
11440
11441extern "C-unwind" {
11442    #[deprecated = "renamed to `IOHIDDevice::value_with_callback`"]
11443    pub fn IOHIDDeviceGetValueWithCallback(
11444        device: &IOHIDDevice,
11445        element: &IOHIDElement,
11446        p_value: NonNull<NonNull<IOHIDValue>>,
11447        timeout: CFTimeInterval,
11448        callback: IOHIDValueCallback,
11449        context: *mut c_void,
11450    ) -> IOReturn;
11451}
11452
11453extern "C-unwind" {
11454    #[deprecated = "renamed to `IOHIDDevice::copy_value_multiple_with_callback`"]
11455    pub fn IOHIDDeviceCopyValueMultipleWithCallback(
11456        device: &IOHIDDevice,
11457        elements: &CFArray,
11458        p_multiple: *mut *const CFDictionary,
11459        timeout: CFTimeInterval,
11460        callback: IOHIDValueMultipleCallback,
11461        context: *mut c_void,
11462    ) -> IOReturn;
11463}
11464
11465extern "C-unwind" {
11466    #[deprecated = "renamed to `IOHIDDevice::set_report`"]
11467    pub fn IOHIDDeviceSetReport(
11468        device: &IOHIDDevice,
11469        report_type: IOHIDReportType,
11470        report_id: CFIndex,
11471        report: NonNull<u8>,
11472        report_length: CFIndex,
11473    ) -> IOReturn;
11474}
11475
11476extern "C-unwind" {
11477    #[deprecated = "renamed to `IOHIDDevice::set_report_with_callback`"]
11478    pub fn IOHIDDeviceSetReportWithCallback(
11479        device: &IOHIDDevice,
11480        report_type: IOHIDReportType,
11481        report_id: CFIndex,
11482        report: NonNull<u8>,
11483        report_length: CFIndex,
11484        timeout: CFTimeInterval,
11485        callback: IOHIDReportCallback,
11486        context: *mut c_void,
11487    ) -> IOReturn;
11488}
11489
11490extern "C-unwind" {
11491    #[deprecated = "renamed to `IOHIDDevice::report`"]
11492    pub fn IOHIDDeviceGetReport(
11493        device: &IOHIDDevice,
11494        report_type: IOHIDReportType,
11495        report_id: CFIndex,
11496        report: NonNull<u8>,
11497        p_report_length: NonNull<CFIndex>,
11498    ) -> IOReturn;
11499}
11500
11501extern "C-unwind" {
11502    #[deprecated = "renamed to `IOHIDDevice::report_with_callback`"]
11503    pub fn IOHIDDeviceGetReportWithCallback(
11504        device: &IOHIDDevice,
11505        report_type: IOHIDReportType,
11506        report_id: CFIndex,
11507        report: NonNull<u8>,
11508        p_report_length: NonNull<CFIndex>,
11509        timeout: CFTimeInterval,
11510        callback: IOHIDReportCallback,
11511        context: NonNull<c_void>,
11512    ) -> IOReturn;
11513}
11514
11515#[deprecated = "renamed to `IOHIDElement::with_dictionary`"]
11516#[inline]
11517pub unsafe extern "C-unwind" fn IOHIDElementCreateWithDictionary(
11518    allocator: Option<&CFAllocator>,
11519    dictionary: &CFDictionary,
11520) -> CFRetained<IOHIDElement> {
11521    extern "C-unwind" {
11522        fn IOHIDElementCreateWithDictionary(
11523            allocator: Option<&CFAllocator>,
11524            dictionary: &CFDictionary,
11525        ) -> Option<NonNull<IOHIDElement>>;
11526    }
11527    let ret = unsafe { IOHIDElementCreateWithDictionary(allocator, dictionary) };
11528    let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
11529    unsafe { CFRetained::from_raw(ret) }
11530}
11531
11532#[deprecated = "renamed to `IOHIDElement::device`"]
11533#[inline]
11534pub extern "C-unwind" fn IOHIDElementGetDevice(element: &IOHIDElement) -> CFRetained<IOHIDDevice> {
11535    extern "C-unwind" {
11536        fn IOHIDElementGetDevice(element: &IOHIDElement) -> Option<NonNull<IOHIDDevice>>;
11537    }
11538    let ret = unsafe { IOHIDElementGetDevice(element) };
11539    let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
11540    unsafe { CFRetained::retain(ret) }
11541}
11542
11543#[deprecated = "renamed to `IOHIDElement::parent`"]
11544#[inline]
11545pub extern "C-unwind" fn IOHIDElementGetParent(
11546    element: &IOHIDElement,
11547) -> Option<CFRetained<IOHIDElement>> {
11548    extern "C-unwind" {
11549        fn IOHIDElementGetParent(element: &IOHIDElement) -> Option<NonNull<IOHIDElement>>;
11550    }
11551    let ret = unsafe { IOHIDElementGetParent(element) };
11552    ret.map(|ret| unsafe { CFRetained::retain(ret) })
11553}
11554
11555#[deprecated = "renamed to `IOHIDElement::children`"]
11556#[inline]
11557pub extern "C-unwind" fn IOHIDElementGetChildren(
11558    element: &IOHIDElement,
11559) -> Option<CFRetained<CFArray>> {
11560    extern "C-unwind" {
11561        fn IOHIDElementGetChildren(element: &IOHIDElement) -> Option<NonNull<CFArray>>;
11562    }
11563    let ret = unsafe { IOHIDElementGetChildren(element) };
11564    ret.map(|ret| unsafe { CFRetained::retain(ret) })
11565}
11566
11567#[deprecated = "renamed to `IOHIDElement::attach`"]
11568#[inline]
11569pub extern "C-unwind" fn IOHIDElementAttach(element: &IOHIDElement, to_attach: &IOHIDElement) {
11570    extern "C-unwind" {
11571        fn IOHIDElementAttach(element: &IOHIDElement, to_attach: &IOHIDElement);
11572    }
11573    unsafe { IOHIDElementAttach(element, to_attach) }
11574}
11575
11576#[deprecated = "renamed to `IOHIDElement::detach`"]
11577#[inline]
11578pub extern "C-unwind" fn IOHIDElementDetach(element: &IOHIDElement, to_detach: &IOHIDElement) {
11579    extern "C-unwind" {
11580        fn IOHIDElementDetach(element: &IOHIDElement, to_detach: &IOHIDElement);
11581    }
11582    unsafe { IOHIDElementDetach(element, to_detach) }
11583}
11584
11585#[deprecated = "renamed to `IOHIDElement::attached`"]
11586#[inline]
11587pub extern "C-unwind" fn IOHIDElementCopyAttached(
11588    element: &IOHIDElement,
11589) -> Option<CFRetained<CFArray>> {
11590    extern "C-unwind" {
11591        fn IOHIDElementCopyAttached(element: &IOHIDElement) -> Option<NonNull<CFArray>>;
11592    }
11593    let ret = unsafe { IOHIDElementCopyAttached(element) };
11594    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
11595}
11596
11597#[deprecated = "renamed to `IOHIDElement::cookie`"]
11598#[inline]
11599pub extern "C-unwind" fn IOHIDElementGetCookie(element: &IOHIDElement) -> IOHIDElementCookie {
11600    extern "C-unwind" {
11601        fn IOHIDElementGetCookie(element: &IOHIDElement) -> IOHIDElementCookie;
11602    }
11603    unsafe { IOHIDElementGetCookie(element) }
11604}
11605
11606#[deprecated = "renamed to `IOHIDElement::type`"]
11607#[inline]
11608pub extern "C-unwind" fn IOHIDElementGetType(element: &IOHIDElement) -> IOHIDElementType {
11609    extern "C-unwind" {
11610        fn IOHIDElementGetType(element: &IOHIDElement) -> IOHIDElementType;
11611    }
11612    unsafe { IOHIDElementGetType(element) }
11613}
11614
11615#[deprecated = "renamed to `IOHIDElement::collection_type`"]
11616#[inline]
11617pub extern "C-unwind" fn IOHIDElementGetCollectionType(
11618    element: &IOHIDElement,
11619) -> IOHIDElementCollectionType {
11620    extern "C-unwind" {
11621        fn IOHIDElementGetCollectionType(element: &IOHIDElement) -> IOHIDElementCollectionType;
11622    }
11623    unsafe { IOHIDElementGetCollectionType(element) }
11624}
11625
11626#[deprecated = "renamed to `IOHIDElement::usage_page`"]
11627#[inline]
11628pub extern "C-unwind" fn IOHIDElementGetUsagePage(element: &IOHIDElement) -> u32 {
11629    extern "C-unwind" {
11630        fn IOHIDElementGetUsagePage(element: &IOHIDElement) -> u32;
11631    }
11632    unsafe { IOHIDElementGetUsagePage(element) }
11633}
11634
11635#[deprecated = "renamed to `IOHIDElement::usage`"]
11636#[inline]
11637pub extern "C-unwind" fn IOHIDElementGetUsage(element: &IOHIDElement) -> u32 {
11638    extern "C-unwind" {
11639        fn IOHIDElementGetUsage(element: &IOHIDElement) -> u32;
11640    }
11641    unsafe { IOHIDElementGetUsage(element) }
11642}
11643
11644#[deprecated = "renamed to `IOHIDElement::is_virtual`"]
11645#[inline]
11646pub extern "C-unwind" fn IOHIDElementIsVirtual(element: &IOHIDElement) -> bool {
11647    extern "C-unwind" {
11648        fn IOHIDElementIsVirtual(element: &IOHIDElement) -> Boolean;
11649    }
11650    let ret = unsafe { IOHIDElementIsVirtual(element) };
11651    ret != 0
11652}
11653
11654#[deprecated = "renamed to `IOHIDElement::is_relative`"]
11655#[inline]
11656pub extern "C-unwind" fn IOHIDElementIsRelative(element: &IOHIDElement) -> bool {
11657    extern "C-unwind" {
11658        fn IOHIDElementIsRelative(element: &IOHIDElement) -> Boolean;
11659    }
11660    let ret = unsafe { IOHIDElementIsRelative(element) };
11661    ret != 0
11662}
11663
11664#[deprecated = "renamed to `IOHIDElement::is_wrapping`"]
11665#[inline]
11666pub extern "C-unwind" fn IOHIDElementIsWrapping(element: &IOHIDElement) -> bool {
11667    extern "C-unwind" {
11668        fn IOHIDElementIsWrapping(element: &IOHIDElement) -> Boolean;
11669    }
11670    let ret = unsafe { IOHIDElementIsWrapping(element) };
11671    ret != 0
11672}
11673
11674#[deprecated = "renamed to `IOHIDElement::is_array`"]
11675#[inline]
11676pub extern "C-unwind" fn IOHIDElementIsArray(element: &IOHIDElement) -> bool {
11677    extern "C-unwind" {
11678        fn IOHIDElementIsArray(element: &IOHIDElement) -> Boolean;
11679    }
11680    let ret = unsafe { IOHIDElementIsArray(element) };
11681    ret != 0
11682}
11683
11684#[deprecated = "renamed to `IOHIDElement::is_non_linear`"]
11685#[inline]
11686pub extern "C-unwind" fn IOHIDElementIsNonLinear(element: &IOHIDElement) -> bool {
11687    extern "C-unwind" {
11688        fn IOHIDElementIsNonLinear(element: &IOHIDElement) -> Boolean;
11689    }
11690    let ret = unsafe { IOHIDElementIsNonLinear(element) };
11691    ret != 0
11692}
11693
11694#[deprecated = "renamed to `IOHIDElement::has_preferred_state`"]
11695#[inline]
11696pub extern "C-unwind" fn IOHIDElementHasPreferredState(element: &IOHIDElement) -> bool {
11697    extern "C-unwind" {
11698        fn IOHIDElementHasPreferredState(element: &IOHIDElement) -> Boolean;
11699    }
11700    let ret = unsafe { IOHIDElementHasPreferredState(element) };
11701    ret != 0
11702}
11703
11704#[deprecated = "renamed to `IOHIDElement::has_null_state`"]
11705#[inline]
11706pub extern "C-unwind" fn IOHIDElementHasNullState(element: &IOHIDElement) -> bool {
11707    extern "C-unwind" {
11708        fn IOHIDElementHasNullState(element: &IOHIDElement) -> Boolean;
11709    }
11710    let ret = unsafe { IOHIDElementHasNullState(element) };
11711    ret != 0
11712}
11713
11714#[deprecated = "renamed to `IOHIDElement::name`"]
11715#[inline]
11716pub extern "C-unwind" fn IOHIDElementGetName(element: &IOHIDElement) -> CFRetained<CFString> {
11717    extern "C-unwind" {
11718        fn IOHIDElementGetName(element: &IOHIDElement) -> Option<NonNull<CFString>>;
11719    }
11720    let ret = unsafe { IOHIDElementGetName(element) };
11721    let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
11722    unsafe { CFRetained::retain(ret) }
11723}
11724
11725#[deprecated = "renamed to `IOHIDElement::report_id`"]
11726#[inline]
11727pub extern "C-unwind" fn IOHIDElementGetReportID(element: &IOHIDElement) -> u32 {
11728    extern "C-unwind" {
11729        fn IOHIDElementGetReportID(element: &IOHIDElement) -> u32;
11730    }
11731    unsafe { IOHIDElementGetReportID(element) }
11732}
11733
11734#[deprecated = "renamed to `IOHIDElement::report_size`"]
11735#[inline]
11736pub extern "C-unwind" fn IOHIDElementGetReportSize(element: &IOHIDElement) -> u32 {
11737    extern "C-unwind" {
11738        fn IOHIDElementGetReportSize(element: &IOHIDElement) -> u32;
11739    }
11740    unsafe { IOHIDElementGetReportSize(element) }
11741}
11742
11743#[deprecated = "renamed to `IOHIDElement::report_count`"]
11744#[inline]
11745pub extern "C-unwind" fn IOHIDElementGetReportCount(element: &IOHIDElement) -> u32 {
11746    extern "C-unwind" {
11747        fn IOHIDElementGetReportCount(element: &IOHIDElement) -> u32;
11748    }
11749    unsafe { IOHIDElementGetReportCount(element) }
11750}
11751
11752#[deprecated = "renamed to `IOHIDElement::unit`"]
11753#[inline]
11754pub extern "C-unwind" fn IOHIDElementGetUnit(element: &IOHIDElement) -> u32 {
11755    extern "C-unwind" {
11756        fn IOHIDElementGetUnit(element: &IOHIDElement) -> u32;
11757    }
11758    unsafe { IOHIDElementGetUnit(element) }
11759}
11760
11761#[deprecated = "renamed to `IOHIDElement::unit_exponent`"]
11762#[inline]
11763pub extern "C-unwind" fn IOHIDElementGetUnitExponent(element: &IOHIDElement) -> u32 {
11764    extern "C-unwind" {
11765        fn IOHIDElementGetUnitExponent(element: &IOHIDElement) -> u32;
11766    }
11767    unsafe { IOHIDElementGetUnitExponent(element) }
11768}
11769
11770#[deprecated = "renamed to `IOHIDElement::logical_min`"]
11771#[inline]
11772pub extern "C-unwind" fn IOHIDElementGetLogicalMin(element: &IOHIDElement) -> CFIndex {
11773    extern "C-unwind" {
11774        fn IOHIDElementGetLogicalMin(element: &IOHIDElement) -> CFIndex;
11775    }
11776    unsafe { IOHIDElementGetLogicalMin(element) }
11777}
11778
11779#[deprecated = "renamed to `IOHIDElement::logical_max`"]
11780#[inline]
11781pub extern "C-unwind" fn IOHIDElementGetLogicalMax(element: &IOHIDElement) -> CFIndex {
11782    extern "C-unwind" {
11783        fn IOHIDElementGetLogicalMax(element: &IOHIDElement) -> CFIndex;
11784    }
11785    unsafe { IOHIDElementGetLogicalMax(element) }
11786}
11787
11788#[deprecated = "renamed to `IOHIDElement::physical_min`"]
11789#[inline]
11790pub extern "C-unwind" fn IOHIDElementGetPhysicalMin(element: &IOHIDElement) -> CFIndex {
11791    extern "C-unwind" {
11792        fn IOHIDElementGetPhysicalMin(element: &IOHIDElement) -> CFIndex;
11793    }
11794    unsafe { IOHIDElementGetPhysicalMin(element) }
11795}
11796
11797#[deprecated = "renamed to `IOHIDElement::physical_max`"]
11798#[inline]
11799pub extern "C-unwind" fn IOHIDElementGetPhysicalMax(element: &IOHIDElement) -> CFIndex {
11800    extern "C-unwind" {
11801        fn IOHIDElementGetPhysicalMax(element: &IOHIDElement) -> CFIndex;
11802    }
11803    unsafe { IOHIDElementGetPhysicalMax(element) }
11804}
11805
11806#[deprecated = "renamed to `IOHIDElement::property`"]
11807#[inline]
11808pub extern "C-unwind" fn IOHIDElementGetProperty(
11809    element: &IOHIDElement,
11810    key: &CFString,
11811) -> Option<CFRetained<CFType>> {
11812    extern "C-unwind" {
11813        fn IOHIDElementGetProperty(
11814            element: &IOHIDElement,
11815            key: &CFString,
11816        ) -> Option<NonNull<CFType>>;
11817    }
11818    let ret = unsafe { IOHIDElementGetProperty(element, key) };
11819    ret.map(|ret| unsafe { CFRetained::retain(ret) })
11820}
11821
11822#[deprecated = "renamed to `IOHIDElement::set_property`"]
11823#[inline]
11824pub unsafe extern "C-unwind" fn IOHIDElementSetProperty(
11825    element: &IOHIDElement,
11826    key: &CFString,
11827    property: &CFType,
11828) -> bool {
11829    extern "C-unwind" {
11830        fn IOHIDElementSetProperty(
11831            element: &IOHIDElement,
11832            key: &CFString,
11833            property: &CFType,
11834        ) -> Boolean;
11835    }
11836    let ret = unsafe { IOHIDElementSetProperty(element, key, property) };
11837    ret != 0
11838}
11839
11840#[deprecated = "renamed to `IOHIDManager::new`"]
11841#[inline]
11842pub extern "C-unwind" fn IOHIDManagerCreate(
11843    allocator: Option<&CFAllocator>,
11844    options: IOOptionBits,
11845) -> CFRetained<IOHIDManager> {
11846    extern "C-unwind" {
11847        fn IOHIDManagerCreate(
11848            allocator: Option<&CFAllocator>,
11849            options: IOOptionBits,
11850        ) -> Option<NonNull<IOHIDManager>>;
11851    }
11852    let ret = unsafe { IOHIDManagerCreate(allocator, options) };
11853    let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
11854    unsafe { CFRetained::from_raw(ret) }
11855}
11856
11857#[deprecated = "renamed to `IOHIDManager::open`"]
11858#[inline]
11859pub extern "C-unwind" fn IOHIDManagerOpen(
11860    manager: &IOHIDManager,
11861    options: IOOptionBits,
11862) -> IOReturn {
11863    extern "C-unwind" {
11864        fn IOHIDManagerOpen(manager: &IOHIDManager, options: IOOptionBits) -> IOReturn;
11865    }
11866    unsafe { IOHIDManagerOpen(manager, options) }
11867}
11868
11869#[deprecated = "renamed to `IOHIDManager::close`"]
11870#[inline]
11871pub extern "C-unwind" fn IOHIDManagerClose(
11872    manager: &IOHIDManager,
11873    options: IOOptionBits,
11874) -> IOReturn {
11875    extern "C-unwind" {
11876        fn IOHIDManagerClose(manager: &IOHIDManager, options: IOOptionBits) -> IOReturn;
11877    }
11878    unsafe { IOHIDManagerClose(manager, options) }
11879}
11880
11881#[deprecated = "renamed to `IOHIDManager::property`"]
11882#[inline]
11883pub extern "C-unwind" fn IOHIDManagerGetProperty(
11884    manager: &IOHIDManager,
11885    key: &CFString,
11886) -> Option<CFRetained<CFType>> {
11887    extern "C-unwind" {
11888        fn IOHIDManagerGetProperty(
11889            manager: &IOHIDManager,
11890            key: &CFString,
11891        ) -> Option<NonNull<CFType>>;
11892    }
11893    let ret = unsafe { IOHIDManagerGetProperty(manager, key) };
11894    ret.map(|ret| unsafe { CFRetained::retain(ret) })
11895}
11896
11897#[deprecated = "renamed to `IOHIDManager::set_property`"]
11898#[inline]
11899pub unsafe extern "C-unwind" fn IOHIDManagerSetProperty(
11900    manager: &IOHIDManager,
11901    key: &CFString,
11902    value: &CFType,
11903) -> bool {
11904    extern "C-unwind" {
11905        fn IOHIDManagerSetProperty(
11906            manager: &IOHIDManager,
11907            key: &CFString,
11908            value: &CFType,
11909        ) -> Boolean;
11910    }
11911    let ret = unsafe { IOHIDManagerSetProperty(manager, key, value) };
11912    ret != 0
11913}
11914
11915extern "C-unwind" {
11916    #[deprecated = "renamed to `IOHIDManager::schedule_with_run_loop`"]
11917    pub fn IOHIDManagerScheduleWithRunLoop(
11918        manager: &IOHIDManager,
11919        run_loop: &CFRunLoop,
11920        run_loop_mode: &CFString,
11921    );
11922}
11923
11924extern "C-unwind" {
11925    #[deprecated = "renamed to `IOHIDManager::unschedule_from_run_loop`"]
11926    pub fn IOHIDManagerUnscheduleFromRunLoop(
11927        manager: &IOHIDManager,
11928        run_loop: &CFRunLoop,
11929        run_loop_mode: &CFString,
11930    );
11931}
11932
11933extern "C-unwind" {
11934    #[cfg(feature = "dispatch2")]
11935    #[deprecated = "renamed to `IOHIDManager::set_dispatch_queue`"]
11936    pub fn IOHIDManagerSetDispatchQueue(manager: &IOHIDManager, queue: &DispatchQueue);
11937}
11938
11939extern "C-unwind" {
11940    #[cfg(feature = "dispatch2")]
11941    #[deprecated = "renamed to `IOHIDManager::set_cancel_handler`"]
11942    pub fn IOHIDManagerSetCancelHandler(manager: &IOHIDManager, handler: dispatch_block_t);
11943}
11944
11945#[deprecated = "renamed to `IOHIDManager::activate`"]
11946#[inline]
11947pub extern "C-unwind" fn IOHIDManagerActivate(manager: &IOHIDManager) {
11948    extern "C-unwind" {
11949        fn IOHIDManagerActivate(manager: &IOHIDManager);
11950    }
11951    unsafe { IOHIDManagerActivate(manager) }
11952}
11953
11954#[deprecated = "renamed to `IOHIDManager::cancel`"]
11955#[inline]
11956pub extern "C-unwind" fn IOHIDManagerCancel(manager: &IOHIDManager) {
11957    extern "C-unwind" {
11958        fn IOHIDManagerCancel(manager: &IOHIDManager);
11959    }
11960    unsafe { IOHIDManagerCancel(manager) }
11961}
11962
11963extern "C-unwind" {
11964    #[deprecated = "renamed to `IOHIDManager::set_device_matching`"]
11965    pub fn IOHIDManagerSetDeviceMatching(manager: &IOHIDManager, matching: Option<&CFDictionary>);
11966}
11967
11968extern "C-unwind" {
11969    #[deprecated = "renamed to `IOHIDManager::set_device_matching_multiple`"]
11970    pub fn IOHIDManagerSetDeviceMatchingMultiple(
11971        manager: &IOHIDManager,
11972        multiple: Option<&CFArray>,
11973    );
11974}
11975
11976#[deprecated = "renamed to `IOHIDManager::devices`"]
11977#[inline]
11978pub extern "C-unwind" fn IOHIDManagerCopyDevices(
11979    manager: &IOHIDManager,
11980) -> Option<CFRetained<CFSet>> {
11981    extern "C-unwind" {
11982        fn IOHIDManagerCopyDevices(manager: &IOHIDManager) -> Option<NonNull<CFSet>>;
11983    }
11984    let ret = unsafe { IOHIDManagerCopyDevices(manager) };
11985    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
11986}
11987
11988extern "C-unwind" {
11989    #[deprecated = "renamed to `IOHIDManager::register_device_matching_callback`"]
11990    pub fn IOHIDManagerRegisterDeviceMatchingCallback(
11991        manager: &IOHIDManager,
11992        callback: IOHIDDeviceCallback,
11993        context: *mut c_void,
11994    );
11995}
11996
11997extern "C-unwind" {
11998    #[deprecated = "renamed to `IOHIDManager::register_device_removal_callback`"]
11999    pub fn IOHIDManagerRegisterDeviceRemovalCallback(
12000        manager: &IOHIDManager,
12001        callback: IOHIDDeviceCallback,
12002        context: *mut c_void,
12003    );
12004}
12005
12006extern "C-unwind" {
12007    #[deprecated = "renamed to `IOHIDManager::register_input_report_callback`"]
12008    pub fn IOHIDManagerRegisterInputReportCallback(
12009        manager: &IOHIDManager,
12010        callback: IOHIDReportCallback,
12011        context: *mut c_void,
12012    );
12013}
12014
12015extern "C-unwind" {
12016    #[deprecated = "renamed to `IOHIDManager::register_input_report_with_time_stamp_callback`"]
12017    pub fn IOHIDManagerRegisterInputReportWithTimeStampCallback(
12018        manager: &IOHIDManager,
12019        callback: IOHIDReportWithTimeStampCallback,
12020        context: *mut c_void,
12021    );
12022}
12023
12024extern "C-unwind" {
12025    #[deprecated = "renamed to `IOHIDManager::register_input_value_callback`"]
12026    pub fn IOHIDManagerRegisterInputValueCallback(
12027        manager: &IOHIDManager,
12028        callback: IOHIDValueCallback,
12029        context: *mut c_void,
12030    );
12031}
12032
12033extern "C-unwind" {
12034    #[deprecated = "renamed to `IOHIDManager::set_input_value_matching`"]
12035    pub fn IOHIDManagerSetInputValueMatching(
12036        manager: &IOHIDManager,
12037        matching: Option<&CFDictionary>,
12038    );
12039}
12040
12041extern "C-unwind" {
12042    #[deprecated = "renamed to `IOHIDManager::set_input_value_matching_multiple`"]
12043    pub fn IOHIDManagerSetInputValueMatchingMultiple(
12044        manager: &IOHIDManager,
12045        multiple: Option<&CFArray>,
12046    );
12047}
12048
12049#[deprecated = "renamed to `IOHIDManager::save_to_property_domain`"]
12050#[inline]
12051pub extern "C-unwind" fn IOHIDManagerSaveToPropertyDomain(
12052    manager: &IOHIDManager,
12053    application_id: &CFString,
12054    user_name: &CFString,
12055    host_name: &CFString,
12056    options: IOOptionBits,
12057) {
12058    extern "C-unwind" {
12059        fn IOHIDManagerSaveToPropertyDomain(
12060            manager: &IOHIDManager,
12061            application_id: &CFString,
12062            user_name: &CFString,
12063            host_name: &CFString,
12064            options: IOOptionBits,
12065        );
12066    }
12067    unsafe {
12068        IOHIDManagerSaveToPropertyDomain(manager, application_id, user_name, host_name, options)
12069    }
12070}
12071
12072#[deprecated = "renamed to `IOHIDValue::with_integer_value`"]
12073#[inline]
12074pub extern "C-unwind" fn IOHIDValueCreateWithIntegerValue(
12075    allocator: Option<&CFAllocator>,
12076    element: &IOHIDElement,
12077    time_stamp: u64,
12078    value: CFIndex,
12079) -> CFRetained<IOHIDValue> {
12080    extern "C-unwind" {
12081        fn IOHIDValueCreateWithIntegerValue(
12082            allocator: Option<&CFAllocator>,
12083            element: &IOHIDElement,
12084            time_stamp: u64,
12085            value: CFIndex,
12086        ) -> Option<NonNull<IOHIDValue>>;
12087    }
12088    let ret = unsafe { IOHIDValueCreateWithIntegerValue(allocator, element, time_stamp, value) };
12089    let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
12090    unsafe { CFRetained::from_raw(ret) }
12091}
12092
12093#[deprecated = "renamed to `IOHIDValue::with_bytes`"]
12094#[inline]
12095pub unsafe extern "C-unwind" fn IOHIDValueCreateWithBytes(
12096    allocator: Option<&CFAllocator>,
12097    element: &IOHIDElement,
12098    time_stamp: u64,
12099    bytes: NonNull<u8>,
12100    length: CFIndex,
12101) -> Option<CFRetained<IOHIDValue>> {
12102    extern "C-unwind" {
12103        fn IOHIDValueCreateWithBytes(
12104            allocator: Option<&CFAllocator>,
12105            element: &IOHIDElement,
12106            time_stamp: u64,
12107            bytes: NonNull<u8>,
12108            length: CFIndex,
12109        ) -> Option<NonNull<IOHIDValue>>;
12110    }
12111    let ret = unsafe { IOHIDValueCreateWithBytes(allocator, element, time_stamp, bytes, length) };
12112    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
12113}
12114
12115#[deprecated = "renamed to `IOHIDValue::with_bytes_no_copy`"]
12116#[inline]
12117pub unsafe extern "C-unwind" fn IOHIDValueCreateWithBytesNoCopy(
12118    allocator: Option<&CFAllocator>,
12119    element: &IOHIDElement,
12120    time_stamp: u64,
12121    bytes: NonNull<u8>,
12122    length: CFIndex,
12123) -> Option<CFRetained<IOHIDValue>> {
12124    extern "C-unwind" {
12125        fn IOHIDValueCreateWithBytesNoCopy(
12126            allocator: Option<&CFAllocator>,
12127            element: &IOHIDElement,
12128            time_stamp: u64,
12129            bytes: NonNull<u8>,
12130            length: CFIndex,
12131        ) -> Option<NonNull<IOHIDValue>>;
12132    }
12133    let ret =
12134        unsafe { IOHIDValueCreateWithBytesNoCopy(allocator, element, time_stamp, bytes, length) };
12135    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
12136}
12137
12138#[deprecated = "renamed to `IOHIDValue::element`"]
12139#[inline]
12140pub extern "C-unwind" fn IOHIDValueGetElement(value: &IOHIDValue) -> CFRetained<IOHIDElement> {
12141    extern "C-unwind" {
12142        fn IOHIDValueGetElement(value: &IOHIDValue) -> Option<NonNull<IOHIDElement>>;
12143    }
12144    let ret = unsafe { IOHIDValueGetElement(value) };
12145    let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
12146    unsafe { CFRetained::retain(ret) }
12147}
12148
12149#[deprecated = "renamed to `IOHIDValue::time_stamp`"]
12150#[inline]
12151pub extern "C-unwind" fn IOHIDValueGetTimeStamp(value: &IOHIDValue) -> u64 {
12152    extern "C-unwind" {
12153        fn IOHIDValueGetTimeStamp(value: &IOHIDValue) -> u64;
12154    }
12155    unsafe { IOHIDValueGetTimeStamp(value) }
12156}
12157
12158#[deprecated = "renamed to `IOHIDValue::length`"]
12159#[inline]
12160pub extern "C-unwind" fn IOHIDValueGetLength(value: &IOHIDValue) -> CFIndex {
12161    extern "C-unwind" {
12162        fn IOHIDValueGetLength(value: &IOHIDValue) -> CFIndex;
12163    }
12164    unsafe { IOHIDValueGetLength(value) }
12165}
12166
12167#[deprecated = "renamed to `IOHIDValue::byte_ptr`"]
12168#[inline]
12169pub extern "C-unwind" fn IOHIDValueGetBytePtr(value: &IOHIDValue) -> NonNull<u8> {
12170    extern "C-unwind" {
12171        fn IOHIDValueGetBytePtr(value: &IOHIDValue) -> Option<NonNull<u8>>;
12172    }
12173    let ret = unsafe { IOHIDValueGetBytePtr(value) };
12174    ret.expect("function was marked as returning non-null, but actually returned NULL")
12175}
12176
12177#[deprecated = "renamed to `IOHIDValue::integer_value`"]
12178#[inline]
12179pub extern "C-unwind" fn IOHIDValueGetIntegerValue(value: &IOHIDValue) -> CFIndex {
12180    extern "C-unwind" {
12181        fn IOHIDValueGetIntegerValue(value: &IOHIDValue) -> CFIndex;
12182    }
12183    unsafe { IOHIDValueGetIntegerValue(value) }
12184}
12185
12186#[deprecated = "renamed to `IOHIDValue::scaled_value`"]
12187#[inline]
12188pub extern "C-unwind" fn IOHIDValueGetScaledValue(
12189    value: &IOHIDValue,
12190    r#type: IOHIDValueScaleType,
12191) -> c_double {
12192    extern "C-unwind" {
12193        fn IOHIDValueGetScaledValue(value: &IOHIDValue, r#type: IOHIDValueScaleType) -> c_double;
12194    }
12195    unsafe { IOHIDValueGetScaledValue(value, r#type) }
12196}
12197
12198#[deprecated = "renamed to `IOHIDTransaction::new`"]
12199#[inline]
12200pub extern "C-unwind" fn IOHIDTransactionCreate(
12201    allocator: Option<&CFAllocator>,
12202    device: &IOHIDDevice,
12203    direction: IOHIDTransactionDirectionType,
12204    options: IOOptionBits,
12205) -> Option<CFRetained<IOHIDTransaction>> {
12206    extern "C-unwind" {
12207        fn IOHIDTransactionCreate(
12208            allocator: Option<&CFAllocator>,
12209            device: &IOHIDDevice,
12210            direction: IOHIDTransactionDirectionType,
12211            options: IOOptionBits,
12212        ) -> Option<NonNull<IOHIDTransaction>>;
12213    }
12214    let ret = unsafe { IOHIDTransactionCreate(allocator, device, direction, options) };
12215    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
12216}
12217
12218#[deprecated = "renamed to `IOHIDTransaction::device`"]
12219#[inline]
12220pub extern "C-unwind" fn IOHIDTransactionGetDevice(
12221    transaction: &IOHIDTransaction,
12222) -> CFRetained<IOHIDDevice> {
12223    extern "C-unwind" {
12224        fn IOHIDTransactionGetDevice(
12225            transaction: &IOHIDTransaction,
12226        ) -> Option<NonNull<IOHIDDevice>>;
12227    }
12228    let ret = unsafe { IOHIDTransactionGetDevice(transaction) };
12229    let ret = ret.expect("function was marked as returning non-null, but actually returned NULL");
12230    unsafe { CFRetained::retain(ret) }
12231}
12232
12233#[deprecated = "renamed to `IOHIDTransaction::direction`"]
12234#[inline]
12235pub extern "C-unwind" fn IOHIDTransactionGetDirection(
12236    transaction: &IOHIDTransaction,
12237) -> IOHIDTransactionDirectionType {
12238    extern "C-unwind" {
12239        fn IOHIDTransactionGetDirection(
12240            transaction: &IOHIDTransaction,
12241        ) -> IOHIDTransactionDirectionType;
12242    }
12243    unsafe { IOHIDTransactionGetDirection(transaction) }
12244}
12245
12246#[deprecated = "renamed to `IOHIDTransaction::set_direction`"]
12247#[inline]
12248pub extern "C-unwind" fn IOHIDTransactionSetDirection(
12249    transaction: &IOHIDTransaction,
12250    direction: IOHIDTransactionDirectionType,
12251) {
12252    extern "C-unwind" {
12253        fn IOHIDTransactionSetDirection(
12254            transaction: &IOHIDTransaction,
12255            direction: IOHIDTransactionDirectionType,
12256        );
12257    }
12258    unsafe { IOHIDTransactionSetDirection(transaction, direction) }
12259}
12260
12261#[deprecated = "renamed to `IOHIDTransaction::add_element`"]
12262#[inline]
12263pub extern "C-unwind" fn IOHIDTransactionAddElement(
12264    transaction: &IOHIDTransaction,
12265    element: &IOHIDElement,
12266) {
12267    extern "C-unwind" {
12268        fn IOHIDTransactionAddElement(transaction: &IOHIDTransaction, element: &IOHIDElement);
12269    }
12270    unsafe { IOHIDTransactionAddElement(transaction, element) }
12271}
12272
12273#[deprecated = "renamed to `IOHIDTransaction::remove_element`"]
12274#[inline]
12275pub extern "C-unwind" fn IOHIDTransactionRemoveElement(
12276    transaction: &IOHIDTransaction,
12277    element: &IOHIDElement,
12278) {
12279    extern "C-unwind" {
12280        fn IOHIDTransactionRemoveElement(transaction: &IOHIDTransaction, element: &IOHIDElement);
12281    }
12282    unsafe { IOHIDTransactionRemoveElement(transaction, element) }
12283}
12284
12285#[deprecated = "renamed to `IOHIDTransaction::contains_element`"]
12286#[inline]
12287pub extern "C-unwind" fn IOHIDTransactionContainsElement(
12288    transaction: &IOHIDTransaction,
12289    element: &IOHIDElement,
12290) -> bool {
12291    extern "C-unwind" {
12292        fn IOHIDTransactionContainsElement(
12293            transaction: &IOHIDTransaction,
12294            element: &IOHIDElement,
12295        ) -> Boolean;
12296    }
12297    let ret = unsafe { IOHIDTransactionContainsElement(transaction, element) };
12298    ret != 0
12299}
12300
12301extern "C-unwind" {
12302    #[deprecated = "renamed to `IOHIDTransaction::schedule_with_run_loop`"]
12303    pub fn IOHIDTransactionScheduleWithRunLoop(
12304        transaction: &IOHIDTransaction,
12305        run_loop: &CFRunLoop,
12306        run_loop_mode: &CFString,
12307    );
12308}
12309
12310extern "C-unwind" {
12311    #[deprecated = "renamed to `IOHIDTransaction::unschedule_from_run_loop`"]
12312    pub fn IOHIDTransactionUnscheduleFromRunLoop(
12313        transaction: &IOHIDTransaction,
12314        run_loop: &CFRunLoop,
12315        run_loop_mode: &CFString,
12316    );
12317}
12318
12319#[deprecated = "renamed to `IOHIDTransaction::set_value`"]
12320#[inline]
12321pub extern "C-unwind" fn IOHIDTransactionSetValue(
12322    transaction: &IOHIDTransaction,
12323    element: &IOHIDElement,
12324    value: &IOHIDValue,
12325    options: IOOptionBits,
12326) {
12327    extern "C-unwind" {
12328        fn IOHIDTransactionSetValue(
12329            transaction: &IOHIDTransaction,
12330            element: &IOHIDElement,
12331            value: &IOHIDValue,
12332            options: IOOptionBits,
12333        );
12334    }
12335    unsafe { IOHIDTransactionSetValue(transaction, element, value, options) }
12336}
12337
12338#[deprecated = "renamed to `IOHIDTransaction::value`"]
12339#[inline]
12340pub extern "C-unwind" fn IOHIDTransactionGetValue(
12341    transaction: &IOHIDTransaction,
12342    element: &IOHIDElement,
12343    options: IOOptionBits,
12344) -> Option<CFRetained<IOHIDValue>> {
12345    extern "C-unwind" {
12346        fn IOHIDTransactionGetValue(
12347            transaction: &IOHIDTransaction,
12348            element: &IOHIDElement,
12349            options: IOOptionBits,
12350        ) -> Option<NonNull<IOHIDValue>>;
12351    }
12352    let ret = unsafe { IOHIDTransactionGetValue(transaction, element, options) };
12353    ret.map(|ret| unsafe { CFRetained::retain(ret) })
12354}
12355
12356#[deprecated = "renamed to `IOHIDTransaction::commit`"]
12357#[inline]
12358pub extern "C-unwind" fn IOHIDTransactionCommit(transaction: &IOHIDTransaction) -> IOReturn {
12359    extern "C-unwind" {
12360        fn IOHIDTransactionCommit(transaction: &IOHIDTransaction) -> IOReturn;
12361    }
12362    unsafe { IOHIDTransactionCommit(transaction) }
12363}
12364
12365extern "C-unwind" {
12366    #[deprecated = "renamed to `IOHIDTransaction::commit_with_callback`"]
12367    pub fn IOHIDTransactionCommitWithCallback(
12368        transaction: &IOHIDTransaction,
12369        timeout: CFTimeInterval,
12370        callback: IOHIDCallback,
12371        context: *mut c_void,
12372    ) -> IOReturn;
12373}
12374
12375#[deprecated = "renamed to `IOHIDTransaction::clear`"]
12376#[inline]
12377pub extern "C-unwind" fn IOHIDTransactionClear(transaction: &IOHIDTransaction) {
12378    extern "C-unwind" {
12379        fn IOHIDTransactionClear(transaction: &IOHIDTransaction);
12380    }
12381    unsafe { IOHIDTransactionClear(transaction) }
12382}