ADC Home > Reference Library > Reference > Darwin > Kernel Framework Reference
|
IOHIDKeys.h |
Includes: |
<sys/cdefs.h> <IOKit/hidsystem/IOHIDParameter.h> |
IOHIDElementCollectionType |
Describes different types of HID collections.
See Also: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.
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: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.
IOHIDOptionsType |
Options for opening a device via IOHIDLib.
See Also: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.
IOHIDQueueOptionsType |
Options for creating a queue via IOHIDLib.
See Also:typedef uint32_t IOHIDQueueOptionsType;
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: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.
IOHIDElementCollectionType |
Describes different types of HID collections.
See Also:enum IOHIDElementCollectionType{ kIOHIDElementCollectionTypePhysical = 0x00, kIOHIDElementCollectionTypeApplication, kIOHIDElementCollectionTypeLogical, kIOHIDElementCollectionTypeReport, kIOHIDElementCollectionTypeNamedArray, kIOHIDElementCollectionTypeUsageSwitch, kIOHIDElementCollectionTypeUsageModifier };
Collections identify a relationship between two or more elements.
IOHIDElementType |
Describes different types of HID elements.
See Also: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.
IOHIDOptionsType |
Options for opening a device via IOHIDLib.
See Also:enum { kIOHIDOptionsTypeNone = 0x00, kIOHIDOptionsTypeSeizeDevice = 0x01 };
IOHIDQueueOptionsType |
Options for creating a queue via IOHIDLib.
See Also:enum { kIOHIDQueueOptionsTypeNone = 0x00, kIOHIDQueueOptionsTypeEnqueueAll = 0x01 };
IOHIDReportType |
Describes different type of HID reports.
See Also:enum IOHIDReportType{ kIOHIDReportTypeInput = 0, kIOHIDReportTypeOutput, kIOHIDReportTypeFeature, kIOHIDReportTypeCount };
Used by the IOHIDFamily to identify the type of report being processed.
HID Device Property Keys |
Keys that represent properties of a paticular device.
See Also:#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:
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.
HID Element Dictionary Keys |
Keys that represent properties of a particular elements.
See Also:#define kIOHIDElementCookieKey "ElementCookie"
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:#define kIOHIDElementCookieMinKey "ElementCookieMin"
These keys should only be used with a matching dictionary when searching for elements via copyMatchingElements.
kIOHIDElementCalibrationDeadZoneMaxKey |
The maximum bounds near the midpoint of a logical value in which the value is ignored.
See Also:#define kIOHIDElementCalibrationDeadZoneMaxKey "CalibrationDeadZoneMax"
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"
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:#define kIOHIDElementCalibrationDeadZoneMaxKey "CalibrationDeadZoneMax"
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"
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.
See Also:#define kIOHIDElementCookieKey "ElementCookie"
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:#define kIOHIDElementCookieMinKey "ElementCookieMin"
These keys should only be used with a matching dictionary when searching for elements via copyMatchingElements.
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.
See Also:#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:
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.
|
Last Updated: 2008-12-19