#ifndef _IOKIT_HID_IOHIDEVENTTYPES_H
#define _IOKIT_HID_IOHIDEVENTTYPES_H
#include <IOKit/IOTypes.h>
#define IOHIDEventTypeMask(type) (1<<type)
#define IOHIDEventFieldBase(type) (type << 16)
enum {
kIOHIDEventTypeNULL,
kIOHIDEventTypeVendorDefined,
kIOHIDEventTypeButton,
kIOHIDEventTypeKeyboard,
kIOHIDEventTypeTranslation,
kIOHIDEventTypeRotation,
kIOHIDEventTypeScroll,
kIOHIDEventTypeScale,
kIOHIDEventTypeZoom,
kIOHIDEventTypeVelocity,
kIOHIDEventTypeOrientation,
kIOHIDEventTypeDigitizer,
kIOHIDEventTypeAmbientLightSensor,
kIOHIDEventTypeAccelerometer,
kIOHIDEventTypeProximity,
kIOHIDEventTypeTemperature,
kIOHIDEventTypeCount
};
typedef uint32_t IOHIDEventType;
enum {
kIOHIDEventFieldIsRelative = IOHIDEventFieldBase(kIOHIDEventTypeNULL),
kIOHIDEventFieldIsCollection
};
enum {
kIOHIDEventFieldVendorDefinedUsagePage = IOHIDEventFieldBase(kIOHIDEventTypeVendorDefined),
kIOHIDEventFieldVendorDefinedUsage,
kIOHIDEventFieldVendorDefinedVersion,
kIOHIDEventFieldVendorDefinedDataLength,
kIOHIDEventFieldVendorDefinedData
};
enum {
kIOHIDEventFieldButtonMask = IOHIDEventFieldBase(kIOHIDEventTypeButton),
kIOHIDEventFieldButtonNumber,
kIOHIDEventFieldButtonClickCount,
kIOHIDEventFieldButtonPressure
};
enum {
kIOHIDEventFieldTranslationX = IOHIDEventFieldBase(kIOHIDEventTypeTranslation),
kIOHIDEventFieldTranslationY,
kIOHIDEventFieldTranslationZ
};
enum {
kIOHIDEventFieldRotationX = IOHIDEventFieldBase(kIOHIDEventTypeRotation),
kIOHIDEventFieldRotationY,
kIOHIDEventFieldRotationZ
};
enum {
kIOHIDEventFieldScrollX = IOHIDEventFieldBase(kIOHIDEventTypeScroll),
kIOHIDEventFieldScrollY,
kIOHIDEventFieldScrollZ,
kIOHIDEventFieldScrollIsPixels
};
enum {
kIOHIDEventFieldScaleX = IOHIDEventFieldBase(kIOHIDEventTypeScale),
kIOHIDEventFieldScaleY,
kIOHIDEventFieldScaleZ
};
enum {
kIOHIDEventFieldVelocityX = IOHIDEventFieldBase(kIOHIDEventTypeVelocity),
kIOHIDEventFieldVelocityY,
kIOHIDEventFieldVelocityZ
};
enum {
kIOHIDEventFieldAccelerometerX = IOHIDEventFieldBase(kIOHIDEventTypeAccelerometer),
kIOHIDEventFieldAccelerometerY,
kIOHIDEventFieldAccelerometerZ
};
enum {
kIOHIDEventFieldAmbientLightSensorLevel = IOHIDEventFieldBase(kIOHIDEventTypeAmbientLightSensor),
kIOHIDEventFieldAmbientLightSensorRawChannel0,
kIOHIDEventFieldAmbientLightSensorRawChannel1,
kIOHIDEventFieldAmbientLightDisplayBrightnessChanged
};
enum {
kIOHIDEventFieldTemperatureLevel = IOHIDEventFieldBase(kIOHIDEventTypeTemperature)
};
enum {
kIOHIDEventFieldProximityDetectionMask = IOHIDEventFieldBase(kIOHIDEventTypeProximity)
};
enum {
kIOHIDEventFieldOrientationRadius = IOHIDEventFieldBase(kIOHIDEventTypeOrientation),
kIOHIDEventFieldOrientationAzimuth,
kIOHIDEventFieldOrientationAltitude
};
enum {
kIOHIDEventFieldKeyboardUsagePage = IOHIDEventFieldBase(kIOHIDEventTypeKeyboard),
kIOHIDEventFieldKeyboardUsage,
kIOHIDEventFieldKeyboardDown,
kIOHIDEventFieldKeyboardRepeat
};
enum {
kIOHIDEventFieldDigitizerX = IOHIDEventFieldBase(kIOHIDEventTypeDigitizer),
kIOHIDEventFieldDigitizerY,
kIOHIDEventFieldDigitizerZ,
kIOHIDEventFieldDigitizerButtonMask,
kIOHIDEventFieldDigitizerType,
kIOHIDEventFieldDigitizerIndex,
kIOHIDEventFieldDigitizerIdentity,
kIOHIDEventFieldDigitizerEventMask,
kIOHIDEventFieldDigitizerRange,
kIOHIDEventFieldDigitizerTouch,
kIOHIDEventFieldDigitizerPressure,
kIOHIDEventFieldDigitizerBarrelPressure,
kIOHIDEventFieldDigitizerTwist,
kIOHIDEventFieldDigitizerTiltX,
kIOHIDEventFieldDigitizerTiltY,
kIOHIDEventFieldDigitizerAltitude,
kIOHIDEventFieldDigitizerAzimuth,
kIOHIDEventFieldDigitizerQuality,
kIOHIDEventFieldDigitizerDensity,
kIOHIDEventFieldDigitizerIrregularity,
kIOHIDEventFieldDigitizerMajorRadius,
kIOHIDEventFieldDigitizerMinorRadius,
kIOHIDEventFieldDigitizerCollection,
kIOHIDEventFieldDigitizerCollectionChord,
kIOHIDEventFieldDigitizerChildEventMask
};
typedef uint32_t IOHIDEventField;
enum {
kIOHIDProximityDetectionLargeBodyContact = 0x0001,
kIOHIDProximityDetectionLargeBodyFarField = 0x0002,
kIOHIDProximityDetectionIrregularObjects = 0x0004,
kIOHIDProximityDetectionEdgeStraddling = 0x0008,
kIOHIDProximityDetectionFlatFingerClasp = 0x0010,
kIOHIDProximityDetectionFingerTouch = 0x0020,
kIOHIDProximityDetectionReceiver = 0x0040,
kIOHIDProximityDetectionSmallObjectsHovering = 0x0080,
kIOHIDProximityDetectionReceiverCrude = 0x0100
};
typedef uint32_t IOHIDProximityDetectionMask;
enum {
kIOHIDDigitizerTransducerTypeStylus = 0x20,
kIOHIDDigitizerTransducerTypePuck,
kIOHIDDigitizerTransducerTypeFinger,
kIOHIDDigitizerTransducerTypeHand
};
typedef uint32_t IOHIDDigitizerTransducerType;
enum {
kIOHIDDigitizerEventRange = 0x00000001,
kIOHIDDigitizerEventTouch = 0x00000002,
kIOHIDDigitizerEventPosition = 0x00000004,
kIOHIDDigitizerEventStop = 0x00000008,
kIOHIDDigitizerEventPeak = 0x00000010,
kIOHIDDigitizerEventIdentity = 0x00000020,
kIOHIDDigitizerEventAttribute = 0x00000040,
kIOHIDDigitizerEventCancel = 0x00000080,
kIOHIDDigitizerEventSwipeUp = 0x01000000,
kIOHIDDigitizerEventSwipeDown = 0x02000000,
kIOHIDDigitizerEventSwipeLeft = 0x04000000,
kIOHIDDigitizerEventSwipeRight = 0x08000000,
kIOHIDDigitizerEventSwipeMask = 0xFF000000,
};
typedef uint32_t IOHIDDigitizerEventMask;
enum {
kIOHIDEventOptionIsAbsolute = 0x00000001,
kIOHIDEventOptionIsCollection = 0x00000002,
kIOHIDEventOptionPixelUnits = 0x00000004
};
typedef uint32_t IOHIDEventOptionBits;
#ifndef KERNEL
#ifdef __LP64__
typedef double IOHIDFloat;
#else
typedef float IOHIDFloat;
#endif
typedef struct _IOHID3DPoint {
IOHIDFloat x;
IOHIDFloat y;
IOHIDFloat z;
} IOHID3DPoint;
#endif
#endif