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}