IOHIDKeys.h |
Includes: |
<sys/cdefs.h> <IOKit/hidsystem/IOHIDParameter.h> |
Use the links in the table of contents to the left to access the documentation.
Describes different types of HID collections.
Abstract data type used as a unique identifier for an element.
Describes different types of HID elements.
Options for opening a device via IOHIDLib.
Options for creating a queue via IOHIDLib.
Describes different type of HID reports.
IOHIDElementCollectionType |
Describes different types of HID collections.
typedef enum IOHIDElementCollectionType IOHIDElementCollectionType;
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.
Collections identify a relationship between two or more elements.
See Also
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.
typedef enum IOHIDElementType IOHIDElementType;
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.
Used by the IOHIDFamily to identify the type of element processed. Represented by the key kIOHIDElementTypeKey in the dictionary describing the element.
See Also
IOHIDOptionsType |
Options for opening a device via IOHIDLib.
typedef uint32_t IOHIDOptionsType;
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.
See Also
IOHIDQueueOptionsType |
Options for creating a queue via IOHIDLib.
typedef uint32_t IOHIDQueueOptionsType;
kIOHIDQueueOptionsTypeNone
Default option.
kIOHIDQueueOptionsTypeEnqueueAll
Force the IOHIDQueue to enqueue all events, relative or absolute, regardless of change.
See Also
IOHIDReportType |
Describes different type of HID reports.
typedef enum IOHIDReportType IOHIDReportType;
kIOHIDReportTypeInput
Input report.
kIOHIDReportTypeOutput
Output report.
kIOHIDReportTypeFeature
Feature report.
Used by the IOHIDFamily to identify the type of report being processed.
See Also
Describes different types of HID collections.
Describes different types of HID elements.
Options for opening a device via IOHIDLib.
Options for creating a queue via IOHIDLib.
Describes different type of HID reports.
IOHIDElementCollectionType |
Describes different types of HID collections.
enum IOHIDElementCollectionType{ kIOHIDElementCollectionTypePhysical = 0x00, kIOHIDElementCollectionTypeApplication, kIOHIDElementCollectionTypeLogical, kIOHIDElementCollectionTypeReport, kIOHIDElementCollectionTypeNamedArray, kIOHIDElementCollectionTypeUsageSwitch, kIOHIDElementCollectionTypeUsageModifier };
Collections identify a relationship between two or more elements.
See Also
IOHIDElementType |
Describes different types of HID elements.
enum IOHIDElementType { kIOHIDElementTypeInput_Misc = 1, kIOHIDElementTypeInput_Button = 2, kIOHIDElementTypeInput_Axis = 3, kIOHIDElementTypeInput_ScanCodes = 4, kIOHIDElementTypeOutput = 129, kIOHIDElementTypeFeature = 257, kIOHIDElementTypeCollection = 513 };
Used by the IOHIDFamily to identify the type of element processed. Represented by the key kIOHIDElementTypeKey in the dictionary describing the element.
See Also
IOHIDOptionsType |
Options for opening a device via IOHIDLib.
enum { kIOHIDOptionsTypeNone = 0x00, kIOHIDOptionsTypeSeizeDevice = 0x01 };
See Also
IOHIDQueueOptionsType |
Options for creating a queue via IOHIDLib.
enum { kIOHIDQueueOptionsTypeNone = 0x00, kIOHIDQueueOptionsTypeEnqueueAll = 0x01 };
See Also
IOHIDReportType |
Describes different type of HID reports.
enum IOHIDReportType{ kIOHIDReportTypeInput = 0, kIOHIDReportTypeOutput, kIOHIDReportTypeFeature, kIOHIDReportTypeCount };
Used by the IOHIDFamily to identify the type of report being processed.
See Also
Keys that represent properties of a paticular device.
Keys that represent properties of a particular elements.
Keys used for matching particular elements.
The maximum bounds near the midpoint of a logical value in which the value is ignored.
The minimum bounds near the midpoint of a logical value in which the value is ignored.
The maximum bounds near the midpoint of a logical value in which the value is ignored.
The scale or level of detail returned in a calibrated element value.
The maximum bounds for a calibrated value.
The minimum bounds for a calibrated value.
The maximum tolerance to be used when calibrating a logical element value.
The mininum tolerance to be used when calibrating a logical element value.
Keys that represent properties of a particular elements.
Keys used for matching particular elements.
Keys that represents an element property.
Keys that represent properties of a paticular device.
HID Device Property Keys |
Keys that represent properties of a paticular device.
#define kIOHIDTransportKey "Transport"
Keys that represent properties of a paticular device. 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:
kIOHIDDeviceUsageKey
kIOHIDDeviceUsagePageKey
kIOHIDDeviceUsagePairsKey
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.
See Also
HID Element Dictionary Keys |
Keys that represent properties of a particular elements.
#define kIOHIDElementCookieKey "ElementCookie"
These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.
See Also
HID Element Match Keys |
Keys used for matching particular elements.
#define kIOHIDElementCookieMinKey "ElementCookieMin"
These keys should only be used with a matching dictionary when searching for elements via copyMatchingElements.
See Also
kIOHIDElementCalibrationDeadZoneMaxKey |
The maximum bounds near the midpoint of a logical value in which the value is ignored.
#define kIOHIDElementCalibrationDeadZoneMaxKey "CalibrationDeadZoneMax"
The dead zone property is used to allow for slight differences in the idle value returned by an element.
See Also
kIOHIDElementCalibrationDeadZoneMinKey |
The minimum bounds near the midpoint of a logical value in which the value is ignored.
#define kIOHIDElementCalibrationDeadZoneMinKey "CalibrationDeadZoneMin"
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.
#define kIOHIDElementCalibrationDeadZoneMaxKey "CalibrationDeadZoneMax"
The dead zone property is used to allow for slight differences in the idle value returned by an element.
See Also
kIOHIDElementCalibrationGranularityKey |
The scale or level of detail returned in a calibrated element value.
#define kIOHIDElementCalibrationGranularityKey "CalibrationGranularity"
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"
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"
The saturation property is used to allow for slight differences in the minimum and maximum value returned by an element.
kIOHIDElementCookieKey |
Keys that represent properties of a particular elements.
#define kIOHIDElementCookieKey "ElementCookie"
These keys can also be added to a matching dictionary when searching for elements via copyMatchingElements.
See Also
kIOHIDElementCookieMinKey |
Keys used for matching particular elements.
#define kIOHIDElementCookieMinKey "ElementCookieMin"
These keys should only be used with a matching dictionary when searching for elements via copyMatchingElements.
See Also
kIOHIDElementKey |
Keys that represents an element property.
#define kIOHIDElementKey "Elements"
Property for a HID Device or element dictionary. Elements can be heirarchical, so they can contain other elements.
kIOHIDTransportKey |
Keys that represent properties of a paticular device.
#define kIOHIDTransportKey "Transport"
Keys that represent properties of a paticular device. 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:
kIOHIDDeviceUsageKey
kIOHIDDeviceUsagePageKey
kIOHIDDeviceUsagePairsKey
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.
See Also
Last Updated: 2010-07-29