ADC Home > Reference Library > Reference > Hardware & Drivers > I/O Kit Framework Reference

 


IOHIDKeys.h

Include Path:

<IOKit/hid/IOHIDKeys.h>

Path:

/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/hid/IOHIDKeys.h

Includes:
<sys/cdefs.h>
<IOKit/hidsystem/IOHIDParameter.h>

Overview

This header contains keys used to search the IORegistry for services related to human interface devices (HID).



Typedefs


IOHIDElementCollectionType


Describes different types of HID collections.

See Also:

IOHIDElementCollectionType

typedef enum IOHIDElementCollectionType IOHIDElementCollectionType;  
Constants
kIOHIDElementCollectionTypePhysical

Used for a set of data items that represent data points collected at one geometric point.

kIOHIDElementCollectionTypeApplication

Identifies item groups serving different purposes in a single device.

kIOHIDElementCollectionTypeLogical

Used when a set of data items form a composite data structure.

kIOHIDElementCollectionTypeReport

Wraps all the fields in a report.

kIOHIDElementCollectionTypeNamedArray

Contains an array of selector usages.

kIOHIDElementCollectionTypeUsageSwitch

Modifies the meaning of the usage it contains.

kIOHIDElementCollectionTypeUsageModifier

Modifies the meaning of the usage attached to the encompassing collection.

Discussion

Collections identify a relationship between two or more elements.


IOHIDElementCookie


Abstract data type used as a unique identifier for an element.

#ifdef __LP64__ 
typedef uint32_t IOHIDElementCookie;  
#else 
typedef void * IOHIDElementCookie;  
#endif  


IOHIDElementType


Describes different types of HID elements.

See Also:

IOHIDElementType

typedef enum IOHIDElementType IOHIDElementType;  
Constants
kIOHIDElementTypeInput_Misc

Misc input data field or varying size.

kIOHIDElementTypeInput_Button

One bit input data field.

kIOHIDElementTypeInput_Axis

Input data field used to represent an axis.

kIOHIDElementTypeInput_ScanCodes

Input data field used to represent a scan code or usage selector.

kIOHIDElementTypeOutput

Used to represent an output data field in a report.

kIOHIDElementTypeFeature

Describes input and output elements not intended for consumption by the end user.

kIOHIDElementTypeCollection

Element used to identify a relationship between two or more elements.

Discussion

Used by the IOHIDFamily to identify the type of element processed. Represented by the key kIOHIDElementTypeKey in the dictionary describing the element.


IOHIDOptionsType


Options for opening a device via IOHIDLib.

See Also:

IOHIDOptionsType

typedef uint32_t IOHIDOptionsType;  
Constants
kIOHIDOptionsTypeNone

Default option.

kIOHIDOptionsTypeSeizeDevice

Used to open exclusive communication with the device. This will prevent the system and other clients from receiving events from the device.


IOHIDQueueOptionsType


Options for creating a queue via IOHIDLib.

See Also:

IOHIDQueueOptionsType

typedef uint32_t IOHIDQueueOptionsType;  
Constants
kIOHIDQueueOptionsTypeNone

Default option.

kIOHIDQueueOptionsTypeEnqueueAll

Force the IOHIDQueue to enqueue all events, relative or absolute, regardless of change.


IOHIDReportType


Describes different type of HID reports.

See Also:

IOHIDReportType

typedef enum IOHIDReportType IOHIDReportType;  
Constants
kIOHIDReportTypeInput

Input report.

kIOHIDReportTypeOutput

Output report.

kIOHIDReportTypeFeature

Feature report.

Discussion

Used by the IOHIDFamily to identify the type of report being processed.

Enumerations


IOHIDElementCollectionType


Describes different types of HID collections.

See Also:

IOHIDElementCollectionType

enum IOHIDElementCollectionType{ 
    kIOHIDElementCollectionTypePhysical = 0x00, 
    kIOHIDElementCollectionTypeApplication, 
    kIOHIDElementCollectionTypeLogical, 
    kIOHIDElementCollectionTypeReport, 
    kIOHIDElementCollectionTypeNamedArray, 
    kIOHIDElementCollectionTypeUsageSwitch, 
    kIOHIDElementCollectionTypeUsageModifier 
};  
Discussion

Collections identify a relationship between two or more elements.


IOHIDElementType


Describes different types of HID elements.

See Also:

IOHIDElementType

enum IOHIDElementType { 
    kIOHIDElementTypeInput_Misc = 1, 
    kIOHIDElementTypeInput_Button = 2, 
    kIOHIDElementTypeInput_Axis = 3, 
    kIOHIDElementTypeInput_ScanCodes = 4, 
    kIOHIDElementTypeOutput = 129, 
    kIOHIDElementTypeFeature = 257, 
    kIOHIDElementTypeCollection = 513 
};  
Discussion

Used by the IOHIDFamily to identify the type of element processed. Represented by the key kIOHIDElementTypeKey in the dictionary describing the element.


IOHIDOptionsType


Options for opening a device via IOHIDLib.

See Also:

IOHIDOptionsType

enum { 
    kIOHIDOptionsTypeNone = 0x00, 
    kIOHIDOptionsTypeSeizeDevice = 0x01 
};  


IOHIDQueueOptionsType


Options for creating a queue via IOHIDLib.

See Also:

IOHIDQueueOptionsType

enum { 
    kIOHIDQueueOptionsTypeNone = 0x00, 
    kIOHIDQueueOptionsTypeEnqueueAll = 0x01 
};  


IOHIDReportType


Describes different type of HID reports.

See Also:

IOHIDReportType

enum IOHIDReportType{ 
    kIOHIDReportTypeInput = 0, 
    kIOHIDReportTypeOutput, 
    kIOHIDReportTypeFeature, 
    kIOHIDReportTypeCount 
};  
Discussion

Used by the IOHIDFamily to identify the type of report being processed.

#defines


HID Device Property Keys


Keys that represent properties of a particular elements.

See Also:

kIOHIDTransportKey

kIOHIDVendorIDKey

kIOHIDVendorIDSourceKey

kIOHIDProductIDKey

kIOHIDVersionNumberKey

kIOHIDManufacturerKey

kIOHIDProductKey

kIOHIDSerialNumberKey

kIOHIDCountryCodeKey

kIOHIDLocationIDKey

kIOHIDDeviceUsageKey

kIOHIDDeviceUsagePageKey

kIOHIDDeviceUsagePairsKey

kIOHIDPrimaryUsageKey

kIOHIDPrimaryUsagePageKey

kIOHIDMaxInputReportSizeKey

kIOHIDMaxOutputReportSizeKey

kIOHIDMaxFeatureReportSizeKey

kIOHIDReportIntervalKey

kIOHIDElementKey

kIOHIDElementCookieKey

kIOHIDElementTypeKey

kIOHIDElementCollectionTypeKey

kIOHIDElementUsageKey

kIOHIDElementUsagePageKey

kIOHIDElementMinKey

kIOHIDElementMaxKey

kIOHIDElementScaledMinKey

kIOHIDElementScaledMaxKey

kIOHIDElementSizeKey

kIOHIDElementReportSizeKey

kIOHIDElementReportCountKey

kIOHIDElementReportIDKey

kIOHIDElementIsArrayKey

kIOHIDElementIsRelativeKey

kIOHIDElementIsWrappingKey

kIOHIDElementIsNonLinearKey

kIOHIDElementHasPreferredStateKey

kIOHIDElementHasNullStateKey

kIOHIDElementFlagsKey

kIOHIDElementUnitKey

kIOHIDElementUnitExponentKey

kIOHIDElementNameKey

kIOHIDElementValueLocationKey

kIOHIDElementDuplicateIndexKey

kIOHIDElementParentCollectionKey

kIOHIDElementVendorSpecificKey

kIOHIDElementVendorSpecificKey

Included Defines:

kIOHIDElementKey

HID Element Dictionary Keys
#define kIOHIDTransportKey "Transport" 
#define kIOHIDVendorIDKey "VendorID" 
#define kIOHIDVendorIDSourceKey "VendorIDSource" 
#define kIOHIDProductIDKey "ProductID" 
#define kIOHIDVersionNumberKey "VersionNumber" 
#define kIOHIDManufacturerKey "Manufacturer" 
#define kIOHIDProductKey "Product" 
#define kIOHIDSerialNumberKey "SerialNumber" 
#define kIOHIDCountryCodeKey "CountryCode" 
#define kIOHIDLocationIDKey "LocationID" 
#define kIOHIDDeviceUsageKey "DeviceUsage" 
#define kIOHIDDeviceUsagePageKey "DeviceUsagePage" 
#define kIOHIDDeviceUsagePairsKey "DeviceUsagePairs" 
#define kIOHIDPrimaryUsageKey "PrimaryUsage" 
#define kIOHIDPrimaryUsagePageKey "PrimaryUsagePage" 
#define kIOHIDMaxInputReportSizeKey "MaxInputReportSize" 
#define kIOHIDMaxOutputReportSizeKey "MaxOutputReportSize" 
#define kIOHIDMaxFeatureReportSizeKey "MaxFeatureReportSize" 
#define kIOHIDReportIntervalKey "ReportInterval" 
 #define kIOHIDElementKey "Elements" 
 #define kIOHIDElementCookieKey "ElementCookie" 
#define kIOHIDElementTypeKey "Type" 
#define kIOHIDElementCollectionTypeKey "CollectionType" 
#define kIOHIDElementUsageKey "Usage" 
#define kIOHIDElementUsagePageKey "UsagePage" 
#define kIOHIDElementMinKey "Min" 
#define kIOHIDElementMaxKey "Max" 
#define kIOHIDElementScaledMinKey "ScaledMin" 
#define kIOHIDElementScaledMaxKey "ScaledMax" 
#define kIOHIDElementSizeKey "Size" 
#define kIOHIDElementReportSizeKey "ReportSize" 
#define kIOHIDElementReportCountKey "ReportCount" 
#define kIOHIDElementReportIDKey "ReportID" 
#define kIOHIDElementIsArrayKey "IsArray" 
#define kIOHIDElementIsRelativeKey "IsRelative" 
#define kIOHIDElementIsWrappingKey "IsWrapping" 
#define kIOHIDElementIsNonLinearKey "IsNonLinear" 
#define kIOHIDElementHasPreferredStateKey "HasPreferredState" 
#define kIOHIDElementHasNullStateKey "HasNullState" 
#define kIOHIDElementFlagsKey "Flags" 
#define kIOHIDElementUnitKey "Unit" 
#define kIOHIDElementUnitExponentKey "UnitExponent" 
#define kIOHIDElementNameKey "Name" 
#define kIOHIDElementValueLocationKey "ValueLocation" 
#define kIOHIDElementDuplicateIndexKey "DuplicateIndex" 
#define kIOHIDElementParentCollectionKey "ParentCollection" 
#ifndef __ppc__ 
#define kIOHIDElementVendorSpecificKey "VendorSpecific" 
#else 
#define kIOHIDElementVendorSpecificKey "VendorSpecifc" 
#endif  
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


HID Element Match Keys


Keys used for matching particular elements.

See Also:

kIOHIDElementCookieMinKey

#define kIOHIDElementCookieMinKey "ElementCookieMin" 
Discussion

These keys should only be used with a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDCountryCodeKey


See Also:

HID

#define kIOHIDCountryCodeKey "CountryCode" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDDeviceKey


#define kIOHIDDeviceKey "IOHIDDevice" 
Discussion

This key is used to find HID Devices in the IORegistry


kIOHIDDeviceUsageKey


See Also:

HID

#define kIOHIDDeviceUsageKey "DeviceUsage" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDDeviceUsagePageKey


See Also:

HID

#define kIOHIDDeviceUsagePageKey "DeviceUsagePage" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDDeviceUsagePairsKey


See Also:

HID

#define kIOHIDDeviceUsagePairsKey "DeviceUsagePairs" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDElementCalibrationDeadZoneMaxKey


The maximum bounds near the midpoint of a logical value in which the value is ignored.

See Also:

kIOHIDElementCalibrationDeadZoneMinKey

#define kIOHIDElementCalibrationDeadZoneMaxKey "CalibrationDeadZoneMax" 
Discussion

The dead zone property is used to allow for slight differences in the idle value returned by an element.


kIOHIDElementCalibrationDeadZoneMinKey


The minimum bounds near the midpoint of a logical value in which the value is ignored.

#define kIOHIDElementCalibrationDeadZoneMinKey "CalibrationDeadZoneMin" 
Discussion

The dead zone property is used to allow for slight differences in the idle value returned by an element.


kIOHIDElementCalibrationDeadZoneMinKey


The maximum bounds near the midpoint of a logical value in which the value is ignored.

See Also:

kIOHIDElementCalibrationDeadZoneMaxKey

#define kIOHIDElementCalibrationDeadZoneMaxKey "CalibrationDeadZoneMax" 
Discussion

The dead zone property is used to allow for slight differences in the idle value returned by an element.


kIOHIDElementCalibrationGranularityKey


The scale or level of detail returned in a calibrated element value.

#define kIOHIDElementCalibrationGranularityKey "CalibrationGranularity" 
Discussion

Values are rounded off such that if granularity=0.1, values after calibration are 0, 0.1, 0.2, 0.3, etc.


kIOHIDElementCalibrationMaxKey


The maximum bounds for a calibrated value.

#define kIOHIDElementCalibrationMaxKey "CalibrationMax" 


kIOHIDElementCalibrationMinKey


The minimum bounds for a calibrated value.

#define kIOHIDElementCalibrationMinKey "CalibrationMin" 


kIOHIDElementCalibrationSaturationMaxKey


The maximum tolerance to be used when calibrating a logical element value.

#define kIOHIDElementCalibrationSaturationMaxKey "CalibrationSaturationMax" 
Discussion

The saturation property is used to allow for slight differences in the minimum and maximum value returned by an element.


kIOHIDElementCalibrationSaturationMinKey


The mininum tolerance to be used when calibrating a logical element value.

#define kIOHIDElementCalibrationSaturationMinKey "CalibrationSaturationMin" 
Discussion

The saturation property is used to allow for slight differences in the minimum and maximum value returned by an element.


kIOHIDElementCollectionTypeKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementCollectionTypeKey "CollectionType" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementCookieKey


Keys that represent properties of a particular elements.

See Also:

HID

 #define kIOHIDElementCookieKey "ElementCookie" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementCookieMinKey


Keys used for matching particular elements.

See Also:

HID

#define kIOHIDElementCookieMinKey "ElementCookieMin" 
Discussion

These keys should only be used with a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementDuplicateIndexKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementDuplicateIndexKey "DuplicateIndex" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementFlagsKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementFlagsKey "Flags" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementHasNullStateKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementHasNullStateKey "HasNullState" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementHasPreferredStateKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementHasPreferredStateKey "HasPreferredState" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementIsArrayKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementIsArrayKey "IsArray" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementIsNonLinearKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementIsNonLinearKey "IsNonLinear" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementIsRelativeKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementIsRelativeKey "IsRelative" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementIsWrappingKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementIsWrappingKey "IsWrapping" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementKey


Keys that represents an element property.

See Also:

HID

 #define kIOHIDElementKey "Elements" 
Discussion

Property for a HID Device or element dictionary. Elements can be heirarchical, so they can contain other elements.


kIOHIDElementMaxKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementMaxKey "Max" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementMinKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementMinKey "Min" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementNameKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementNameKey "Name" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementParentCollectionKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementParentCollectionKey "ParentCollection" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementReportCountKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementReportCountKey "ReportCount" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementReportIDKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementReportIDKey "ReportID" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementReportSizeKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementReportSizeKey "ReportSize" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementScaledMaxKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementScaledMaxKey "ScaledMax" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementScaledMinKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementScaledMinKey "ScaledMin" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementSizeKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementSizeKey "Size" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementTypeKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementTypeKey "Type" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementUnitExponentKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementUnitExponentKey "UnitExponent" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementUnitKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementUnitKey "Unit" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementUsageKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementUsageKey "Usage" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementUsagePageKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementUsagePageKey "UsagePage" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementValueLocationKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementValueLocationKey "ValueLocation" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementVendorSpecificKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementVendorSpecificKey "VendorSpecific" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDElementVendorSpecificKey


Keys that represent properties of a particular elements.

See Also:

HID

#define kIOHIDElementVendorSpecificKey "VendorSpecifc" 
Discussion

These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.


kIOHIDLocationIDKey


See Also:

HID

#define kIOHIDLocationIDKey "LocationID" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDManufacturerKey


See Also:

HID

#define kIOHIDManufacturerKey "Manufacturer" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDMaxFeatureReportSizeKey


See Also:

HID

#define kIOHIDMaxFeatureReportSizeKey "MaxFeatureReportSize" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDMaxInputReportSizeKey


See Also:

HID

#define kIOHIDMaxInputReportSizeKey "MaxInputReportSize" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDMaxOutputReportSizeKey


See Also:

HID

#define kIOHIDMaxOutputReportSizeKey "MaxOutputReportSize" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDPrimaryUsageKey


See Also:

HID

#define kIOHIDPrimaryUsageKey "PrimaryUsage" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDPrimaryUsagePageKey


See Also:

HID

#define kIOHIDPrimaryUsagePageKey "PrimaryUsagePage" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDProductIDKey


See Also:

HID

#define kIOHIDProductIDKey "ProductID" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDProductKey


See Also:

HID

#define kIOHIDProductKey "Product" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDReportIntervalKey


See Also:

HID

#define kIOHIDReportIntervalKey "ReportInterval" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDSerialNumberKey


See Also:

HID

#define kIOHIDSerialNumberKey "SerialNumber" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDTransportKey


See Also:

HID

#define kIOHIDTransportKey "Transport" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDVendorIDKey


See Also:

HID

#define kIOHIDVendorIDKey "VendorID" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDVendorIDSourceKey


See Also:

HID

#define kIOHIDVendorIDSourceKey "VendorIDSource" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


kIOHIDVersionNumberKey


See Also:

HID

#define kIOHIDVersionNumberKey "VersionNumber" 
Discussion

Keys that represent properties of a particular element. Can be added to your matching dictionary when refining searches for HID devices.

Please note:
kIOHIDPrimaryUsageKey and kIOHIDPrimaryUsagePageKey are no longer rich enough to describe a device's capabilities. Take, for example, a device that describes both a keyboard and a mouse in the same descriptor. The previous behavior was to only describe the keyboard behavior with the primary usage and usage page. Needless to say, this would sometimes cause a program interested in mice to skip this device when matching.
Thus we have added 3 additional keys:

kIOHIDDeviceUsagePairsKey is used to represent an array of dictionaries containing key/value pairs referenced by kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey. These usage pairs describe all application type collections (behaviors) defined by the device.

An application intersted in only matching on one criteria would only add the kIOHIDDeviceUsageKey and kIOHIDDeviceUsagePageKey keys to the matching dictionary. If it is interested in a device that has multiple behaviors, the application would instead add an array or dictionaries referenced by kIOHIDDeviceUsagePairsKey to his matching dictionary.


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.

 

Last Updated: 2009-02-23