#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, kIOHIDEventTypeNavigationSwipe,
kIOHIDEventTypePointer,
kIOHIDEventTypeProgress,
kIOHIDEventTypeMultiAxisPointer,
kIOHIDEventTypeGyro, kIOHIDEventTypeCompass,
kIOHIDEventTypeZoomToggle,
kIOHIDEventTypeDockSwipe, kIOHIDEventTypeSymbolicHotKey,
kIOHIDEventTypePower, kIOHIDEventTypeReserved1,
kIOHIDEventTypeFluidTouchGesture, kIOHIDEventTypeBoundaryScroll,
kIOHIDEventTypeBiometric,
kIOHIDEventTypeCount,
kIOHIDEventTypeSwipe = kIOHIDEventTypeNavigationSwipe,
kIOHIDEventTypeMouse = kIOHIDEventTypePointer
};
typedef uint32_t IOHIDEventType;
enum {
kIOHIDEventFieldIsRelative = IOHIDEventFieldBase(kIOHIDEventTypeNULL),
kIOHIDEventFieldIsCollection,
kIOHIDEventFieldIsPixelUnits,
kIOHIDEventFieldIsCenterOrigin,
kIOHIDEventFieldIsBuiltIn
};
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 {
kIOHIDEventFieldPointerX = IOHIDEventFieldBase(kIOHIDEventTypePointer),
kIOHIDEventFieldPointerY,
kIOHIDEventFieldPointerZ,
kIOHIDEventFieldPointerButtonMask,
kIOHIDEventFieldPointerNumber,
kIOHIDEventFieldPointerClickCount,
kIOHIDEventFieldPointerPressure
};
enum {
kIOHIDEventFieldMultiAxisPointerX = IOHIDEventFieldBase(kIOHIDEventTypeMultiAxisPointer),
kIOHIDEventFieldMultiAxisPointerY,
kIOHIDEventFieldMultiAxisPointerZ,
kIOHIDEventFieldMultiAxisPointerRx,
kIOHIDEventFieldMultiAxisPointerRy,
kIOHIDEventFieldMultiAxisPointerRz,
kIOHIDEventFieldMultiAxisPointerButtonMask,
kIOHIDEventFieldMultiAxisPointerNumber,
kIOHIDEventFieldMultiAxisPointerClickCount,
kIOHIDEventFieldMultiAxisPointerPressure
};
enum {
kIOHIDEventFieldMouseX = kIOHIDEventFieldPointerX,
kIOHIDEventFieldMouseY = kIOHIDEventFieldPointerY,
kIOHIDEventFieldMouseZ = kIOHIDEventFieldPointerZ,
kIOHIDEventFieldMouseButtonMask = kIOHIDEventFieldPointerButtonMask,
kIOHIDEventFieldMouseNumber = kIOHIDEventFieldPointerNumber,
kIOHIDEventFieldMouseClickCount = kIOHIDEventFieldPointerClickCount,
kIOHIDEventFieldMousePressure = kIOHIDEventFieldPointerPressure
};
enum {
kIOHIDMotionTypeNormal = 0,
kIOHIDMotionTypeShake = 1,
kIOHIDMotionTypePath = 2
};
typedef uint32_t IOHIDMotionType;
enum {
kIOHIDMotionPathStart = 0,
kIOHIDMotionPathEnd = 1,
};
typedef uint32_t IOHIDMotionPath;
enum {
kIOHIDAccelerometerTypeNormal = kIOHIDMotionTypeNormal,
kIOHIDAccelerometerTypeShake = kIOHIDMotionTypeShake,
kIOHIDGyroTypeNormal = kIOHIDMotionTypeNormal,
kIOHIDGyroTypeShake = kIOHIDMotionTypeShake,
};
typedef IOHIDMotionType IOHIDAccelerometerType;
typedef IOHIDMotionPath IOHIDAccelerometerSubType;
enum {
kIOHIDEventFieldAccelerometerX = IOHIDEventFieldBase(kIOHIDEventTypeAccelerometer),
kIOHIDEventFieldAccelerometerY,
kIOHIDEventFieldAccelerometerZ,
kIOHIDEventFieldAccelerometerType,
kIOHIDEventFieldAccelerometerSubType,
kIOHIDEventFieldAccelerometerSequence,
};
typedef IOHIDMotionType IOHIDGyroType;
typedef IOHIDMotionPath IOHIDGyroSubType;
enum {
kIOHIDEventFieldGyroX = IOHIDEventFieldBase(kIOHIDEventTypeGyro),
kIOHIDEventFieldGyroY,
kIOHIDEventFieldGyroZ,
kIOHIDEventFieldGyroType,
kIOHIDEventFieldGyroSubType,
kIOHIDEventFieldGyroSequence
};
typedef IOHIDMotionType IOHIDCompassType;
typedef IOHIDMotionPath IOHIDCompassSubType;
enum {
kIOHIDEventFieldCompassX = IOHIDEventFieldBase(kIOHIDEventTypeCompass),
kIOHIDEventFieldCompassY,
kIOHIDEventFieldCompassZ,
kIOHIDEventFieldCompassType,
kIOHIDEventFieldCompassSubType,
kIOHIDEventFieldCompassSequence
};
enum {
kIOHIDEventFieldAmbientLightSensorLevel = IOHIDEventFieldBase(kIOHIDEventTypeAmbientLightSensor),
kIOHIDEventFieldAmbientLightSensorRawChannel0,
kIOHIDEventFieldAmbientLightSensorRawChannel1,
kIOHIDEventFieldAmbientLightSensorRawChannel2,
kIOHIDEventFieldAmbientLightSensorRawChannel3,
kIOHIDEventFieldAmbientLightDisplayBrightnessChanged
};
enum {
kIOHIDEventFieldTemperatureLevel = IOHIDEventFieldBase(kIOHIDEventTypeTemperature)
};
enum {
kIOHIDEventFieldProximityDetectionMask = IOHIDEventFieldBase(kIOHIDEventTypeProximity),
kIOHIDEventFieldProximityLevel
};
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,
kIOHIDEventFieldDigitizerAuxiliaryPressure, kIOHIDEventFieldDigitizerTwist,
kIOHIDEventFieldDigitizerTiltX,
kIOHIDEventFieldDigitizerTiltY,
kIOHIDEventFieldDigitizerAltitude,
kIOHIDEventFieldDigitizerAzimuth,
kIOHIDEventFieldDigitizerQuality,
kIOHIDEventFieldDigitizerDensity,
kIOHIDEventFieldDigitizerIrregularity,
kIOHIDEventFieldDigitizerMajorRadius,
kIOHIDEventFieldDigitizerMinorRadius,
kIOHIDEventFieldDigitizerCollection,
kIOHIDEventFieldDigitizerCollectionChord,
kIOHIDEventFieldDigitizerChildEventMask,
kIOHIDEventFieldDigitizerIsDisplayIntegrated
};
enum {
kIOHIDEventFieldSwipeMask = IOHIDEventFieldBase(kIOHIDEventTypeSwipe),
kIOHIDEventFieldSwipeMotion,
kIOHIDEventFieldSwipeProgress,
kIOHIDEventFieldSwipePositionX,
kIOHIDEventFieldSwipePositionY,
kIOHIDEventFieldSwipeFlavor,
};
enum {
kIOHIDEventFieldNavigationSwipeMask = IOHIDEventFieldBase(kIOHIDEventTypeNavigationSwipe),
kIOHIDEventFieldNavigationSwipeMotion,
kIOHIDEventFieldNavigationSwipeProgress,
kIOHIDEventFieldNavigationSwipePositionX,
kIOHIDEventFieldNavigationSwipePositionY,
kIOHIDEventFieldNavagationSwipeFlavor,
};
enum {
kIOHIDEventFieldDockSwipeMask = IOHIDEventFieldBase(kIOHIDEventTypeDockSwipe),
kIOHIDEventFieldDockSwipeMotion,
kIOHIDEventFieldDockSwipeProgress,
kIOHIDEventFieldDockSwipePositionX,
kIOHIDEventFieldDockSwipePositionY,
kIOHIDEventFieldDockSwipeFlavor,
};
enum {
kIOHIDEventFieldFluidTouchGestureMask = IOHIDEventFieldBase(kIOHIDEventTypeFluidTouchGesture),
kIOHIDEventFieldFluidTouchGestureMotion,
kIOHIDEventFieldFluidTouchGestureProgress,
kIOHIDEventFieldFluidTouchGesturePositionX,
kIOHIDEventFieldFluidTouchGesturePositionY,
kIOHIDEventFieldFluidTouchGestureFlavor,
};
enum {
kIOHIDEventFieldBoundaryScrollMask = IOHIDEventFieldBase(kIOHIDEventTypeBoundaryScroll),
kIOHIDEventFieldBoundaryScrollMotion,
kIOHIDEventFieldBoundaryScrollProgress,
kIOHIDEventFieldBoundaryScrollPositionX,
kIOHIDEventFieldBoundaryScrollPositionY,
kIOHIDEventFieldBoundaryScrollFlavor,
};
enum {
kIOHIDEventFieldProgressEventType = IOHIDEventFieldBase(kIOHIDEventTypeProgress),
kIOHIDEventFieldProgressLevel,
};
enum {
kIOHIDEventFieldSymbolicHotKeyValue = IOHIDEventFieldBase(kIOHIDEventTypeSymbolicHotKey),
kIOHIDEventFieldSymbolicHotKeyIsCGSEvent,
};
enum {
kIOHIDPowerTypePower = 0,
kIOHIDPowerTypeCurrent = 1,
kIOHIDPowerTypeVoltage = 2
};
typedef uint32_t IOHIDPowerType;
enum {
kIOHIDPowerSubTypeNormal = 0,
kIOHIDPowerSubTypeCumulative
};
typedef uint32_t IOHIDPowerSubType;
enum {
kIOHIDEventFieldPowerMeasurement = IOHIDEventFieldBase(kIOHIDEventTypePower),
kIOHIDEventFieldPowerType,
kIOHIDEventFieldPowerSubType,
};
enum {
kIOHIDBiometricEventTypeHumanProximity = 0,
kIOHIDBiometricEventTypeHumanTouch,
kIOHIDBiometricEventTypeHumanForce
};
typedef uint32_t IOHIDBiometricEventType;
enum {
kIOHIDEventFieldBiometricEventType = IOHIDEventFieldBase(kIOHIDEventTypeBiometric),
kIOHIDEventFieldBiometricLevel
};
typedef uint32_t IOHIDEventField;
enum {
kIOHIDSwipeNone = 0,
kIOHIDSwipeUp = 1<<0,
kIOHIDSwipeDown = 1<<1,
kIOHIDSwipeLeft = 1<<2,
kIOHIDSwipeRight = 1<<3,
kIOHIDScaleExpand = 1<<4,
kIOHIDScaleContract = 1<<5,
kIOHIDRotateCW = 1<<6,
kIOHIDRotateCCW = 1<<7,
};
typedef uint32_t IOHIDSwipeMask;
enum {
kIOHIDGestureMotionNone,
kIOHIDGestureMotionHorizontalX,
kIOHIDGestureMotionVerticalY,
kIOHIDGestureMotionScale,
kIOHIDGestureMotionRotate,
kIOHIDGestureMotionTap,
kIOHIDGestureMotionDoubleTap,
kIOHIDGestureMotionFromLeftEdge,
kIOHIDGestureMotionOffLeftEdge,
kIOHIDGestureMotionFromRightEdge,
kIOHIDGestureMotionOffRightEdge,
kIOHIDGestureMotionFromTopEdge,
kIOHIDGestureMotionOffTopEdge,
kIOHIDGestureMotionFromBottomEdge,
kIOHIDGestureMotionOffBottomEdge,
};
typedef uint16_t IOHIDGestureMotion;
enum {
kIOHIDGestureFlavorNone,
kIOHIDGestureFlavorNotificationCenterPrimary,
kIOHIDGestureFlavorNotificationCenterSecondary,
kIOHIDGestureFlavorDockPrimary,
kIOHIDGestureFlavorDockSecondary,
kIOHIDGestureFlavorNavagationPrimary,
kIOHIDGestureFlavorNavagationSecondary,
};
typedef uint16_t IOHIDGestureFlavor;
enum {
kIOHIDProximityDetectionLargeBodyContact = 1<<0,
kIOHIDProximityDetectionLargeBodyFarField = 1<<1,
kIOHIDProximityDetectionIrregularObjects = 1<<2,
kIOHIDProximityDetectionEdgeStraddling = 1<<3,
kIOHIDProximityDetectionFlatFingerClasp = 1<<4,
kIOHIDProximityDetectionFingerTouch = 1<<5,
kIOHIDProximityDetectionReceiver = 1<<6,
kIOHIDProximityDetectionSmallObjectsHovering = 1<<7,
kIOHIDProximityDetectionReceiverCrude = 1<<8,
kIOHIDProximityDetectionReceiverMonitoring = 1<<9
};
typedef uint32_t IOHIDProximityDetectionMask;
enum {
kIOHIDDigitizerTransducerTypeStylus = 0,
kIOHIDDigitizerTransducerTypePuck,
kIOHIDDigitizerTransducerTypeFinger,
kIOHIDDigitizerTransducerTypeHand
};
typedef uint32_t IOHIDDigitizerTransducerType;
enum {
kIOHIDDigitizerEventRange = 1<<0,
kIOHIDDigitizerEventTouch = 1<<1,
kIOHIDDigitizerEventPosition = 1<<2,
kIOHIDDigitizerEventStop = 1<<3,
kIOHIDDigitizerEventPeak = 1<<4,
kIOHIDDigitizerEventIdentity = 1<<5,
kIOHIDDigitizerEventAttribute = 1<<6,
kIOHIDDigitizerEventCancel = 1<<7,
kIOHIDDigitizerEventStart = 1<<8,
kIOHIDDigitizerEventResting = 1<<9,
kIOHIDDigitizerEventFromEdgeFlat = 1<<10,
kIOHIDDigitizerEventFromEdgeTip = 1<<11,
kIOHIDDigitizerEventFromCorner = 1<<12,
kIOHIDDigitizerEventSwipeUp = 1<<24,
kIOHIDDigitizerEventSwipeDown = 1<<25,
kIOHIDDigitizerEventSwipeLeft = 1<<26,
kIOHIDDigitizerEventSwipeRight = 1<<27,
kIOHIDDigitizerEventSwipeMask = 0xFF<<24,
};
typedef uint32_t IOHIDDigitizerEventMask;
enum {
kIOHIDEventOptionNone = 0,
kIOHIDEventOptionIsAbsolute = 1<<0,
kIOHIDEventOptionIsCollection = 1<<1,
kIOHIDEventOptionIsPixelUnits = 1<<2,
kIOHIDEventOptionIsCenterOrigin = 1<<3,
kIOHIDEventOptionIsBuiltIn = 1<<4,
kIOHIDEventOptionPixelUnits = kIOHIDEventOptionIsPixelUnits,
};
typedef uint32_t IOHIDEventOptionBits;
enum {
kIOHIDEventPhaseUndefined = 0,
kIOHIDEventPhaseBegan = 1<<0,
kIOHIDEventPhaseChanged = 1<<1,
kIOHIDEventPhaseEnded = 1<<2,
kIOHIDEventPhaseCancelled = 1<<3,
kIOHIDEventPhaseMayBegin = 1<<7,
kIOHIDEventEventPhaseMask = 0xFF,
kIOHIDEventEventOptionPhaseShift = 24,
};
typedef uint16_t IOHIDEventPhaseBits;
enum {
kIOHIDSymbolicHotKeyUndefined,
kIOHIDSymbolicHotKeyDictionaryApp,
kIOHIDSymbolicHotKeyIronwoodApp,
kIOHIDSymbolicHotKeyDictationApp,
};
typedef uint32_t IOHIDSymbolicHotKeyValue;
enum {
kIOHIDEventSenderIDUndefined = 0x0000000000000000LL,
};
typedef uint64_t IOHIDEventSenderID;
#ifndef KERNEL
#ifdef __LP64__
typedef double IOHIDFloat;
#else
typedef float IOHIDFloat;
#endif
typedef struct _IOHID3DPoint {
IOHIDFloat x;
IOHIDFloat y;
IOHIDFloat z;
} IOHID3DPoint;
#endif
#endif