#include <IOKit/hidsystem/IOHIDDescriptorParser.h>
IOKit/hidsystem/IOHIDDescriptorParser.h
!defined(KERNEL) || defined(KERNEL_PRIVATE)
enum(anonymous)
| kHIDSuccess | 0 | |
| kHIDBaseError | -13950 | HID assigned error numbers are -13949 .. -13900 |
| kHIDNullStateErr | -13949 | |
| kHIDBufferTooSmallErr | -13948 | |
| kHIDValueOutOfRangeErr | -13947 | |
| kHIDUsageNotFoundErr | -13946 | |
| kHIDNotValueArrayErr | -13945 | |
| kHIDInvalidPreparsedDataErr | -13944 | |
| kHIDIncompatibleReportErr | -13943 | |
| kHIDBadLogPhysValuesErr | -13942 | |
| kHIDInvalidReportTypeErr | -13941 | |
| kHIDInvalidReportLengthErr | -13940 | |
| kHIDNullPointerErr | -13939 | |
| kHIDBadParameterErr | -13938 | |
| kHIDNotEnoughMemoryErr | -13937 | |
| kHIDEndOfDescriptorErr | -13936 | |
| kHIDUsagePageZeroErr | -13935 | |
| kHIDBadLogicalMinimumErr | -13934 | |
| kHIDBadLogicalMaximumErr | -13933 | |
| kHIDInvertedLogicalRangeErr | -13932 | |
| kHIDInvertedPhysicalRangeErr | -13931 | |
| kHIDUnmatchedUsageRangeErr | -13930 | |
| kHIDInvertedUsageRangeErr | -13929 | |
| kHIDUnmatchedStringRangeErr | -13928 | |
| kHIDUnmatchedDesignatorRangeErr | -13927 | |
| kHIDReportSizeZeroErr | -13926 | |
| kHIDReportCountZeroErr | -13925 | |
| kHIDReportIDZeroErr | -13924 | |
| kHIDInvalidRangePageErr | -13923 | |
| kHIDDeviceNotReady | -13910 | The device is still initializing, try again later |
| kHIDVersionIncompatibleErr | -13909 |
enum(anonymous)
types of HID reports (input, output, feature)
| kHIDInputReport | 1 | |
| kHIDOutputReport | 2 | |
| kHIDFeatureReport | 3 | |
| kHIDUnknownReport | 255 |
typedefHIDReportType
typedef UInt32 HIDReportType
typedefHIDPreparsedDataRef
typedef void *HIDPreparsedDataRef
structHIDUsageAndPage
@typedef HIDUsageAndPage
@abstract The HIDUsageAndPage data structure is used by HID clients when obtaining status of buttons to hold the usage page and usage of a button that is down.
@discussion Clients use the HIDUSageAndPage structure with the HIDGetButtonsEx function to obtain both the usage page and usage identifiers of each button that is down.
@field usage Specifies the usage identifier within the usage page specified by usagePage of a button that is down.
@field usagePage Specifies the usage page identifier of a button that is down.
| HIDUsage | usage | |
| HIDUsage | usagePage |
typedefHIDUsageAndPage
typedef struct HIDUsageAndPage HIDUsageAndPage
typedefHIDUsageAndPagePtr
typedef struct HIDUsageAndPage HIDUsageAndPage, *HIDUsageAndPagePtr
structHIDCaps
@typedef HIDCaps
@abstract The HIDCaps data structure is used by HID clients to hold the capabilities of a HID device.
@discussion This structure holds the parsed capabilities and data maximums returned for a device by the HIDGetCaps function.
@field usage Specifies the specific class of functionality that this device provides. This value is dependent and specific to the value provided in the usagePage field. For example, a keyboard could have a usagePage of kHIDUsagePage_Generic and a usage of kHIDUsage_Generic_Keyboard.
@field usagePage Specifies the usage page identifier for this top level collection.
@field inputReportByteLength Specifies the maximum length, in bytes, of an input report for this device, including the report ID which is unilaterally prepended to the device data.
@field outputReportByteLength Specifies the maximum length, in bytes, of an output report for this device, including the report ID which is unilaterally prepended to the device data.
@field featureReportByteLength Specifies the maximum length, in bytes, of a feature report for this device, including the report ID which is unilaterally prepended to the device data.
@field numberCollectionNodes Specifies the number of HIDCollectionNode structures that are returned for this top level collection by the HIDGetConnectionNodes function.
@field numberInputButtonCaps Specifies the number of input buttons.
@field numberInputValueCaps Specifies the number of input values.
@field numberOutputButtonCaps Specifies the number of output buttons.
@field numberOutputValueCaps Specifies the number of output values
@field numberFeatureButtonCaps Specifies the number of feature buttons.
@field numberFeatureValueCaps Specifies the number of feature values.
| HIDUsage | usage | |
| HIDUsage | usagePage | |
| IOByteCount | inputReportByteLength | |
| IOByteCount | outputReportByteLength | |
| IOByteCount | featureReportByteLength | |
| UInt32 | numberCollectionNodes | |
| UInt32 | numberInputButtonCaps | |
| UInt32 | numberInputValueCaps | |
| UInt32 | numberOutputButtonCaps | |
| UInt32 | numberOutputValueCaps | |
| UInt32 | numberFeatureButtonCaps | |
| UInt32 | numberFeatureValueCaps |
typedefHIDCaps
typedef struct HIDCaps HIDCaps
typedefHIDCapsPtr
typedef struct HIDCaps HIDCaps, * HIDCapsPtr
structHIDCapabilities
| HIDUsage | usage | |
| HIDUsage | usagePage | |
| IOByteCount | inputReportByteLength | |
| IOByteCount | outputReportByteLength | |
| IOByteCount | featureReportByteLength | |
| UInt32 | numberCollectionNodes | |
| UInt32 | numberInputButtonCaps | |
| UInt32 | numberInputValueCaps | |
| UInt32 | numberOutputButtonCaps | |
| UInt32 | numberOutputValueCaps | |
| UInt32 | numberFeatureButtonCaps | |
| UInt32 | numberFeatureValueCaps |
typedefHIDCapabilities
typedef struct HIDCapabilities HIDCapabilities
typedefHIDCapabilitiesPtr
typedef struct HIDCapabilities HIDCapabilities, * HIDCapabilitiesPtr
structHIDCollectionNode
| HIDUsage | collectionUsage | |
| HIDUsage | collectionUsagePage | |
| UInt32 | parent | |
| UInt32 | numberOfChildren | |
| UInt32 | nextSibling | |
| UInt32 | firstChild |
typedefHIDCollectionNode
typedef struct HIDCollectionNode HIDCollectionNode
typedefHIDCollectionNodePtr
typedef struct HIDCollectionNode HIDCollectionNode, * HIDCollectionNodePtr
structHIDButtonCaps
| HIDUsage | usagePage | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | reportID | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | bitField | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | collection | |||||||||||||||||||||||||||||||||||||||||||||||||
| HIDUsage | collectionUsage | |||||||||||||||||||||||||||||||||||||||||||||||||
| HIDUsage | collectionUsagePage | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isStringRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isDesignatorRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isAbsolute | |||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | startBit | Added esb 9-29-99 | ||||||||||||||||||||||||||||||||||||||||||||||||
| unnamed union at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:239:2 | u | |||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
typedefHIDButtonCaps
typedef struct HIDButtonCaps HIDButtonCaps
typedefHIDButtonCapsPtr
typedef struct HIDButtonCaps HIDButtonCaps, * HIDButtonCapsPtr
structHIDButtonCapabilities
| HIDUsage | usagePage | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | reportID | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | bitField | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | collection | |||||||||||||||||||||||||||||||||||||||||||||||||
| HIDUsage | collectionUsage | |||||||||||||||||||||||||||||||||||||||||||||||||
| HIDUsage | collectionUsagePage | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isStringRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isDesignatorRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isAbsolute | |||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | unitExponent | Added KH 1/25/01 | ||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | units | Added KH 1/25/01 | ||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | startBit | UInt32 reserved; // Not added KH 1/25/01 Added esb 9-29-99 | ||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | pbVersion | Added KH 1/25/01 | ||||||||||||||||||||||||||||||||||||||||||||||||
| unnamed union at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:282:2 | u | |||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
typedefHIDButtonCapabilities
typedef struct HIDButtonCapabilities HIDButtonCapabilities
typedefHIDButtonCapabilitiesPtr
typedef struct HIDButtonCapabilities HIDButtonCapabilities, * HIDButtonCapabilitiesPtr
structHIDValueCaps
| HIDUsage | usagePage | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | reportID | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | bitField | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | collection | |||||||||||||||||||||||||||||||||||||||||||||||||
| HIDUsage | collectionUsage | |||||||||||||||||||||||||||||||||||||||||||||||||
| HIDUsage | collectionUsagePage | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isStringRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isDesignatorRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isAbsolute | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | startBit | Added by esb 9-28-99 | ||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | bitSize | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | reportCount | |||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | logicalMin | |||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | logicalMax | |||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | physicalMin | |||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | physicalMax | |||||||||||||||||||||||||||||||||||||||||||||||||
| unnamed union at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:329:2 | u | |||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
typedefHIDValueCaps
typedef struct HIDValueCaps HIDValueCaps
typedefHIDValueCapsPtr
typedef struct HIDValueCaps HIDValueCaps, * HIDValueCapsPtr
structHIDValueCapabilities
| HIDUsage | usagePage | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | reportID | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | bitField | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | collection | |||||||||||||||||||||||||||||||||||||||||||||||||
| HIDUsage | collectionUsage | |||||||||||||||||||||||||||||||||||||||||||||||||
| HIDUsage | collectionUsagePage | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isStringRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isDesignatorRange | |||||||||||||||||||||||||||||||||||||||||||||||||
| Boolean | isAbsolute | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | bitSize | |||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | reportCount | |||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | logicalMin | |||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | logicalMax | |||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | physicalMin | |||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | physicalMax | |||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | unitExponent | Added KH 1/25/01 | ||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | units | Added KH 1/25/01 | ||||||||||||||||||||||||||||||||||||||||||||||||
| SInt32 | startBit | UInt32 reserved; // Not added KH 1/25/01 Added esb 9-29-99 // Moved here KH 1/25/01 | ||||||||||||||||||||||||||||||||||||||||||||||||
| UInt32 | pbVersion | Added KH 1/25/01 | ||||||||||||||||||||||||||||||||||||||||||||||||
| unnamed union at Kernel/IOKit/hidsystem/IOHIDDescriptorParser.h:381:2 | u | |||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
typedefHIDValueCapabilities
typedef struct HIDValueCapabilities HIDValueCapabilities
typedefHIDValueCapabilitiesPtr
typedef struct HIDValueCapabilities HIDValueCapabilities, * HIDValueCapabilitiesPtr
functionHIDOpenReportDescriptor
__iohid_deprecated("Use DriverKit") extern OSStatus HIDOpenReportDescriptor( void * hidReportDescriptor, IOByteCount descriptorLength, HIDPreparsedDataRef * preparsedDataRef, UInt32 flags )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Allocates the memory the HID parser needs for the given report descriptor and parses it, returning a HIDPreparsedDataRef consumed by the other HID* parser calls. hidReportDescriptor points to the raw HID report descriptor from the device firmware, descriptorLength gives its length, and flags may include kHIDFlag_StrictErrorChecking. Release the preparsed data with HIDCloseReportDescriptor when no longer needed. Returns noErr on success or an error code.
functionHIDCloseReportDescriptor
__iohid_deprecated("Use DriverKit") extern OSStatus HIDCloseReportDescriptor(HIDPreparsedDataRef preparsedDataRef)
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Disposes of the memory the parser allocated for HIDOpenReportDescriptor. After the call the preparsedDataRef is invalid and must not be used. Returns noErr on success or an error code.
functionHIDGetButtonCaps
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetButtonCaps( HIDReportType reportType, HIDButtonCapsPtr buttonCaps, UInt32 * buttonCapsSize, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the button capabilities for a HID device from the preparsed data: fills a caller-allocated array of HIDButtonCaps structures for all buttons of the given report type (kHIDInputReport, kHIDOutputReport, or kHIDFeatureReport). buttonCapsSize gives the array capacity on input and the number of elements filled on return. Older counterpart of HIDGetButtonCapabilities. Returns noErr on success or an error code.
functionHIDGetButtonCapabilities
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetButtonCapabilities( HIDReportType reportType, HIDButtonCapabilitiesPtr buttonCaps, UInt32 * buttonCapsSize, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the button capabilities for a HID device from the preparsed data: fills a caller-allocated array of HIDButtonCapabilities structures for all buttons of the given report type (kHIDInputReport, kHIDOutputReport, or kHIDFeatureReport). buttonCapsSize gives the array capacity on input and the number of elements filled on return. Newer counterpart of HIDGetButtonCaps. Returns noErr on success or an error code.
functionHIDGetCaps
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetCaps(HIDPreparsedDataRef preparsedDataRef, HIDCapsPtr capabilities)
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the capabilities of a HID device based on the given preparsed data, filling a caller-allocated HIDCaps structure with the parsed capability information, including the element counts used to size the arrays for HIDGetButtonCaps, HIDGetValueCaps and HIDGetCollectionNodes. Older counterpart of HIDGetCapabilities. Returns noErr on success or an error code.
functionHIDGetCapabilities
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetCapabilities( HIDPreparsedDataRef preparsedDataRef, HIDCapabilitiesPtr capabilities )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the capabilities of a HID device based on the given preparsed data, filling a caller-allocated HIDCapabilities structure with the parsed capability information. Newer counterpart of HIDGetCaps. Returns noErr on success or an error code.
functionHIDGetCollectionNodes
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetCollectionNodes( HIDCollectionNodePtr collectionNodes, UInt32 * collectionNodesSize, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns an array of HIDCollectionNode structures describing the relationships and layout of the link collections within the top level collection, one entry per collection (a group of input, output and feature items with a common relationship, such as the x, y and button items of a pointer). collectionNodesSize gives the array capacity in elements on input and the number initialized on return; the required length is the numberCollectionNodes member of the HIDCaps returned by HIDGetCaps. Returns noErr on success or an error code.
functionHIDGetScaledUsageValue
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetScaledUsageValue( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage usage, SInt32 * usageValue, HIDPreparsedDataRef preparsedDataRef, void * report, IOByteCount reportLength )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the scaled value for the given usage page and usage from a device report of the given type; collection optionally restricts the search to one link collection. On return usageValue holds the signed, scaled value retrieved from the report. HIDGetUsageValue returns the value without applying the sign; usages holding multiple data items (HID byte arrays) require HIDGetUsageValueArray. Returns noErr on success or an error code.
functionHIDGetSpecificButtonCaps
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetSpecificButtonCaps( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage usage, HIDButtonCapsPtr buttonCaps, UInt32 * buttonCapsSize, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDButtonCaps) for buttons of the given report type that meet the search criteria: a non-zero usagePage, collection, or usage restricts the results to buttons matching it; all three zero is equivalent to HIDGetButtonCaps. buttonCapsSize gives the array capacity in elements on input and the number returned on output; the required length is available from HIDGetCaps. Returns noErr on success or an error code.
functionHIDGetSpecificButtonCapabilities
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetSpecificButtonCapabilities( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage usage, HIDButtonCapabilitiesPtr buttonCaps, UInt32 * buttonCapsSize, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDButtonCapabilities) for buttons of the given report type that meet the search criteria: a non-zero usagePage, collection, or usage restricts the results to buttons matching it; all three zero is equivalent to HIDGetButtonCapabilities. buttonCapsSize gives the array capacity in elements on input and the number returned on output. Newer counterpart of HIDGetSpecificButtonCaps. Returns noErr on success or an error code.
functionHIDGetSpecificValueCaps
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetSpecificValueCaps( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage usage, HIDValueCapsPtr valueCaps, UInt32 * valueCapsSize, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDValueCaps) for values of the given report type that meet the search criteria: a non-zero usagePage, collection, or usage restricts the results to values matching it; all three zero is equivalent to HIDGetValueCaps. valueCapsSize gives the array capacity in elements on input and the number returned on output; the required length is available from HIDGetCaps. Returns noErr on success or an error code.
functionHIDGetSpecificValueCapabilities
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetSpecificValueCapabilities( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage usage, HIDValueCapabilitiesPtr valueCaps, UInt32 * valueCapsSize, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDValueCapabilities) for values of the given report type that meet the search criteria: a non-zero usagePage, collection, or usage restricts the results to values matching it; all three zero is equivalent to HIDGetValueCapabilities. valueCapsSize gives the array capacity in elements on input and the number returned on output. Newer counterpart of HIDGetSpecificValueCaps. Returns noErr on success or an error code.
functionHIDGetButtonsOnPage
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetButtonsOnPage( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage * usageList, UInt32 * usageListSize, HIDPreparsedDataRef preparsedDataRef, void * report, IOByteCount reportLength )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves the state of the buttons on the specified usage page from a device report: on return usageList holds the usages of all pressed buttons on that page. A non-zero collection restricts the result to buttons in that link collection. usageListSize gives the array capacity in elements on input and the number of button states set on return; on kHIDBufferTooSmallErr it holds the number of elements required. HIDMaxUsageListLength gives the maximum possible for a report type. Returns noErr on success or an error code.
functionHIDGetButtons
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetButtons( HIDReportType reportType, UInt32 collection, HIDUsageAndPagePtr usageList, UInt32 * usageListSize, HIDPreparsedDataRef preparsedDataRef, void * report, IOByteCount reportLength )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Takes a device report and returns the current state of the buttons in it: on return usageList holds a HIDUsageAndPage (usage and usage page) entry for every pressed button. A non-zero collection restricts the result to buttons in that link collection. usageListSize gives the array capacity in elements on input and the number of button states set on return; on kHIDBufferTooSmallErr it holds the number required. HIDMaxUsageListLength gives the maximum possible for a report type. Returns noErr on success or an error code.
functionHIDGetNextButtonInfo
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetNextButtonInfo( HIDReportType reportType, HIDUsage usagePage, HIDUsage usage, UInt32 * collection, UInt8 * reportID, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Undocumented in the IOHIDFamily header; the implementation is not part of xnu. From the signature: given a report type, usage page and usage, returns through collection and reportID information locating the next matching button in the preparsed data. Returns an OSStatus.
functionHIDGetNextUsageValueInfo
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetNextUsageValueInfo( HIDReportType reportType, HIDUsage usagePage, HIDUsage usage, UInt32 * collection, UInt8 * reportID, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Undocumented in the IOHIDFamily header; the implementation is not part of xnu. From the signature: given a report type, usage page and usage, returns through collection and reportID information locating the next matching usage value in the preparsed data. Returns an OSStatus.
functionHIDGetReportLength
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetReportLength( HIDReportType reportType, UInt8 reportID, IOByteCount *reportLength, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Undocumented in the IOHIDFamily header; the implementation is not part of xnu. From the signature: returns through reportLength the length in bytes of the report with the given type and report ID described by the preparsed data. Returns an OSStatus.
functionHIDGetUsageValue
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetUsageValue( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage usage, SInt32 * usageValue, HIDPreparsedDataRef preparsedDataRef, void * report, IOByteCount reportLength )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns a value from a device report for the given usage page and usage; collection optionally restricts the search to one link collection. On return usageValue holds the value from the report. The sign bit is not applied; use HIDGetScaledUsageValue for automatic sign handling, or apply it manually at the position given in the HIDValueCaps structure. Usages holding multiple data items (HID byte arrays) require HIDGetUsageValueArray. Returns noErr on success or an error code.
functionHIDGetUsageValueArray
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetUsageValueArray( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage usage, UInt8 * usageValueBuffer, IOByteCount usageValueBufferSize, HIDPreparsedDataRef preparsedDataRef, void * report, IOByteCount reportLength )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves the data for a usage comprising multiple data items (a HID byte array) from a device report into the caller's buffer, filled in little-endian order without regard to byte alignment, shifted so the least significant bit of the usage data is the first bit of the buffer. The correct buffer length is the reportCount times bitSize fields of the value's HIDValueCaps, rounded up to the nearest byte. Returns noErr on success or an error code.
functionHIDGetValueCaps
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetValueCaps( HIDReportType reportType, HIDValueCapsPtr valueCaps, UInt32 * valueCapsSize, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDValueCaps) for all values in the top level collection for the given report type, without regard to usage, usage page or collection; HIDGetSpecificValueCaps filters by those criteria. valueCapsSize gives the array capacity in elements on input and the number returned on output; the required length is available from HIDGetCaps. Returns noErr on success or an error code.
functionHIDGetValueCapabilities
__iohid_deprecated("Use DriverKit") extern OSStatus HIDGetValueCapabilities( HIDReportType reportType, HIDValueCapabilitiesPtr valueCaps, UInt32 * valueCapsSize, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Retrieves capability data (HIDValueCapabilities) for all values in the top level collection for the given report type, without regard to usage, usage page or collection; HIDGetSpecificValueCapabilities filters by those criteria. valueCapsSize gives the array capacity in elements on input and the number returned on output. Newer counterpart of HIDGetValueCaps. Returns noErr on success or an error code.
functionHIDInitReport
__iohid_deprecated("Use DriverKit") extern OSStatus HIDInitReport( HIDReportType reportType, UInt8 reportID, HIDPreparsedDataRef preparsedDataRef, void * report, IOByteCount reportLength )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Undocumented in the IOHIDFamily header; the implementation is not part of xnu. From the signature: initializes the caller-provided report buffer of reportLength bytes for the given report type and report ID using the preparsed data. Returns an OSStatus.
functionHIDMaxUsageListLength
__iohid_deprecated("Use DriverKit") extern UInt32 HIDMaxUsageListLength( HIDReportType reportType, HIDUsage usagePage, HIDPreparsedDataRef preparsedDataRef )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Returns the maximum number of buttons that can be returned from the given report type for the top level collection; a zero usagePage counts buttons for the entire collection regardless of usage page. Sizes the usage lists passed to HIDGetButtons, HIDGetButtonsOnPage and HIDSetButtons. Returns the count as a UInt32.
functionHIDSetScaledUsageValue
__iohid_deprecated("Use DriverKit") extern OSStatus HIDSetScaledUsageValue( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage usage, SInt32 usageValue, HIDPreparsedDataRef preparsedDataRef, void * report, IOByteCount reportLength )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Takes a signed physical (scaled) number, converts it to the logical device representation, and inserts it into the given report for the specified usage page and usage; a non-zero collection distinguishes values with identical usage page and usage. Handles the sign bit automatically, unlike HIDSetUsageValue. Returns noErr on success or an error code.
functionHIDSetButtons
__iohid_deprecated("Use DriverKit") extern OSStatus HIDSetButtons( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage * usageList, UInt32 * usageListSize, HIDPreparsedDataRef preparsedDataRef, void * report, IOByteCount reportLength )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Sets an array of buttons in the given report: usageList holds the usages on the given usage page to set, and a non-zero collection restricts the search to one link collection. If an error is returned, usageListSize holds the index in the array where the failure occurred; entries before it were successfully set. Single-button counterpart is HIDSetButton. Returns noErr on success or an error code.
functionHIDSetUsageValue
__iohid_deprecated("Use DriverKit") extern OSStatus HIDSetUsageValue( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage usage, SInt32 usageValue, HIDPreparsedDataRef preparsedDataRef, void * report, IOByteCount reportLength )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Sets a value in the given report for the specified usage page and usage; a non-zero collection distinguishes values with identical usage page and usage. Does not handle the sign bit: set it manually at the position given in the value's HIDValueCaps structure, or use HIDSetScaledUsageValue. Returns noErr on success or an error code.
functionHIDSetUsageValueArray
__iohid_deprecated("Use DriverKit") extern OSStatus HIDSetUsageValueArray( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage usage, UInt8 * usageValueBuffer, IOByteCount usageValueBufferLength, HIDPreparsedDataRef preparsedDataRef, void * report, IOByteCount reportLength )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Sets the data for a usage comprising multiple data items (a HID byte array) in the given report from the caller's buffer; the correct buffer length is the reportCount times bitSize fields of the value's HIDValueCaps, rounded up to the nearest byte. Does not handle the sign bit; see HIDSetScaledUsageValue. Returns noErr on success or an error code.
functionHIDUsageListDifference
__iohid_deprecated("Use DriverKit") extern OSStatus HIDUsageListDifference( HIDUsage * previousUsageList, HIDUsage * currentUsageList, HIDUsage * breakUsageList, HIDUsage * makeUsageList, UInt32 usageListsSize )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Compares two button usage lists: on return breakUsageList holds the usages set in previousUsageList but not in currentUsageList (released buttons), and makeUsageList holds the usages set in currentUsageList but not in previousUsageList (newly pressed buttons). usageListsSize gives the length in elements of the input lists. Returns noErr on success or an error code.
functionHIDSetButton
__iohid_deprecated("Use DriverKit") extern OSStatus HIDSetButton( HIDReportType reportType, HIDUsage usagePage, UInt32 collection, HIDUsage usage, HIDPreparsedDataRef preparsedDataRef, void * report, IOByteCount reportLength )
deprecated
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework Headers/IOKit/hidsystem/IOHIDDescriptorParser.h (IOHIDFamily project; implementation not in xnu)
Deprecated; use DriverKit. Sets the state of a single button in the given report, identified by usage page and usage; a non-zero collection distinguishes buttons in a specific link collection. HIDSetButtons sets several buttons at once. Returns noErr on success or an error code.