#ifndef _IOKIT_IOHIDEVENTTYPES_H
#define _IOKIT_IOHIDEVENTTYPES_H
#include <TargetConditionals.h>
#include <IOKit/IOTypes.h>
#define IOHIDEventTypeMask(type) (1LL<<type)
#define IOHIDEventFieldBase(type) (type << 16)
#define IOHIDEventFieldOffsetOf(field) (field & 0xffff)
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, kIOHIDEventTypeLED,
kIOHIDEventTypeFluidTouchGesture, kIOHIDEventTypeBoundaryScroll,
kIOHIDEventTypeBiometric,
kIOHIDEventTypeUnicode, kIOHIDEventTypeAtmosphericPressure,
kIOHIDEventTypeForce,
kIOHIDEventTypeMotionActivity,
kIOHIDEventTypeMotionGesture,
kIOHIDEventTypeGameController, kIOHIDEventTypeHumidity,
kIOHIDEventTypeCollection,
kIOHIDEventTypeBrightness,
kIOHIDEventTypeGenericGesture,
kIOHIDEventTypeCount,
kIOHIDEventTypeSwipe = kIOHIDEventTypeNavigationSwipe,
kIOHIDEventTypeMouse = kIOHIDEventTypePointer
};
typedef uint32_t IOHIDEventType;
typedef uint32_t IOHIDEventField;
typedef uint32_t IOHIDGenericGestureType;
typedef uint8_t IOHIDDigitizerOrientationType;
#include <IOKit/hid/IOHIDEventFieldDefs.h>
enum {
kIOHIDGenericGestureTypeTap = 0,
kIOHIDGenericGestureTypeSwipe
};
enum {
kIOHIDDigitizerOrientationTypeTilt = 0,
kIOHIDDigitizerOrientationTypePolar,
kIOHIDDigitizerOrientationTypeQuality
};
enum {
kIOHIDEventFieldMultiAxisPointerButtonNumber = kIOHIDEventFieldButtonNumber,
kIOHIDEventFieldMultiAxisPointerButtonClickCount = kIOHIDEventFieldButtonClickCount,
kIOHIDEventFieldMultiAxisPointerButtonPressure = kIOHIDEventFieldButtonPressure
};
enum {
kIOHIDEventFieldPointerButtonNumber = kIOHIDEventFieldButtonNumber,
kIOHIDEventFieldPointerButtonClickCount = kIOHIDEventFieldButtonClickCount,
kIOHIDEventFieldPointerButtonPressure = kIOHIDEventFieldButtonPressure
};
enum {
kIOHIDEventFieldMouseX = kIOHIDEventFieldPointerX,
kIOHIDEventFieldMouseY = kIOHIDEventFieldPointerY,
kIOHIDEventFieldMouseZ = kIOHIDEventFieldPointerZ,
kIOHIDEventFieldMouseButtonMask = kIOHIDEventFieldPointerButtonMask,
kIOHIDEventFieldMouseNumber = kIOHIDEventFieldPointerButtonNumber,
kIOHIDEventFieldMouseClickCount = kIOHIDEventFieldPointerButtonClickCount,
kIOHIDEventFieldMousePressure = kIOHIDEventFieldPointerButtonPressure
};
enum {
kIOHIDEventFieldNavagationSwipeFlavor = kIOHIDEventFieldNavigationSwipeFlavor
};
enum {
kIOHIDEventFieldForceLean = kIOHIDEventFieldForceStagePressure,
kIOHIDEventFieldForceTransitionProgress = kIOHIDEventFieldForceProgress
};
enum {
kIOHIDEventFieldDigitizerEstimatedMask = (kIOHIDEventFieldDigitizerBase | 30)
};
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;
typedef IOHIDMotionType IOHIDGyroType;
typedef IOHIDMotionPath IOHIDGyroSubType;
typedef IOHIDMotionType IOHIDCompassType;
typedef IOHIDMotionPath IOHIDCompassSubType;
enum {
kIOHIDKeyboardLongPress = 1,
kIOHIDKeyboardLongPressBit = 0,
kIOHIDKeyboardLongPressMask = (kIOHIDKeyboardLongPress << kIOHIDKeyboardLongPressBit),
};
enum {
kIOHIDKeyboardClickSpeedNone = 0,
kIOHIDKeyboardClickSpeedSlow = 1,
kIOHIDKeyboardClickSpeedNormal = 2,
kIOHIDKeyboardClickSpeedFast = 3,
kIOHIDKeyboardClickSpeedStartBit = 1,
kIOHIDKeyboardClickSpeedMask = (0x3 << kIOHIDKeyboardClickSpeedStartBit),
};
enum {
kIOHIDKeyboardSlowKeyNone = 0,
kIOHIDKeyboardSlowKeyPhaseStart = 1,
kIOHIDKeyboardSlowKeyPhaseAbort = 2,
kIOHIDKeyboardSlowKeyOn = 3,
kIOHIDKeyboardSlowKeyPhaseBit = 3,
kIOHIDKeyboardSlowKeyPhaseMask = (0x3 << kIOHIDKeyboardSlowKeyPhaseBit),
};
enum {
kIOHIDKeyboardMouseKeyToggle = 1,
kIOHIDKeyboardMouseKeyToggleBit = 5,
kIOHIDKeyboardMouseKeyToggleMask = (1 << kIOHIDKeyboardMouseKeyToggleBit),
};
enum {
kIOHIDPowerTypePower = 0,
kIOHIDPowerTypeCurrent = 1,
kIOHIDPowerTypeVoltage = 2
};
typedef uint32_t IOHIDPowerType;
enum {
kIOHIDPowerSubTypeNormal = 0,
kIOHIDPowerSubTypeCumulative
};
typedef uint32_t IOHIDPowerSubType;
enum {
kIOHIDBiometricEventTypeHumanProximity = 0,
kIOHIDBiometricEventTypeHumanTouch,
kIOHIDBiometricEventTypeHumanForce,
kIOHIDBiometricEventTypeHumanPresence
};
typedef uint32_t IOHIDBiometricEventType;
enum {
kIOHIDUnicodeEncodingTypeUTF8,
kIOHIDUnicodeEncodingTypeUTF16LE,
kIOHIDUnicodeEncodingTypeUTF16BE,
kIOHIDUnicodeEncodingTypeUTF32LE,
kIOHIDUnicodeEncodingTypeUTF32BE,
};
typedef uint32_t IOHIDUnicodeEncodingType;
enum {
kIOHIDMotionActivityEventTypeUnknown = 0,
kIOHIDMotionActivityEventTypeStatic,
kIOHIDMotionActivityEventTypeMoving,
kIOHIDMotionActivityEventTypeSemiStationary,
kIOHIDMotionActivityEventTypeWalking,
kIOHIDMotionActivityEventTypeRunning,
kIOHIDMotionActivityEventTypeCycling,
kIOHIDMotionActivityEventTypeInVehicleStatic,
kIOHIDMotionActivityEventTypeDriving,
};
typedef uint32_t IOHIDMotionActivityEventType;
enum {
kIOHIDMotionGestureEventTypeUnknown = 0,
kIOHIDMotionGestureEventTypeRaiseToListen,
kIOHIDMotionGestureEventTypeRaiseToLook,
};
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,
kIOHIDGestureFlavorControlCenterPrimary,
kIOHIDGestureFlavorControlCenterSecondary,
};
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,
kIOHIDDigitizerEventSwipePending = 1<<13,
kIOHIDDigitizerEventFromEdgeForcePending = 1<<14,
kIOHIDDigitizerEventFromEdgeForceActive = 1<<15,
kIOHIDDigitizerEventForcePopped = 1<<16,
kIOHIDDigitizerEventTap = 1<<17,
kIOHIDDigitizerEventSwipeLocked = 1<<18,
kIOHIDDigitizerEventSwipeUp = 1<<24,
kIOHIDDigitizerEventSwipeDown = 1<<25,
kIOHIDDigitizerEventSwipeLeft = 1<<26,
kIOHIDDigitizerEventSwipeRight = 1<<27,
kIOHIDDigitizerEventEstimatedAltitude = 1<<28,
kIOHIDDigitizerEventEstimatedAzimuth = 1<<29,
kIOHIDDigitizerEventEstimatedPressure = 1<<30,
kIOHIDDigitizerEventSwipeMask = 0xF<<24,
};
typedef uint32_t IOHIDDigitizerEventMask;
enum {
kIOHIDDigitizerEventUpdateXMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerX),
kIOHIDDigitizerEventUpdateYMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerY),
kIOHIDDigitizerEventUpdateZMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerZ),
kIOHIDDigitizerEventUpdateButtonMaskMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerButtonMask),
kIOHIDDigitizerEventUpdateTypeMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerType),
kIOHIDDigitizerEventUpdateIndexMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerIndex),
kIOHIDDigitizerEventUpdateIdentityMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerIdentity),
kIOHIDDigitizerEventUpdateEventMaskMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerEventMask),
kIOHIDDigitizerEventUpdateRangeMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerRange),
kIOHIDDigitizerEventUpdateTouchMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerTouch),
kIOHIDDigitizerEventUpdatePressureMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerPressure),
kIOHIDDigitizerEventUpdateAuxiliaryPressureMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerAuxiliaryPressure),
kIOHIDDigitizerEventUpdateTwistMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerTwist),
kIOHIDDigitizerEventUpdateTiltXMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerTiltX),
kIOHIDDigitizerEventUpdateTiltYMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerTiltY),
kIOHIDDigitizerEventUpdateAltitudeMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerAltitude),
kIOHIDDigitizerEventUpdateAzimuthMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerAzimuth),
kIOHIDDigitizerEventUpdateQualityMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerQuality),
kIOHIDDigitizerEventUpdateDensityMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerDensity),
kIOHIDDigitizerEventUpdateIrregularityMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerIrregularity),
kIOHIDDigitizerEventUpdateMajorRadiusMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerMajorRadius),
kIOHIDDigitizerEventUpdateMinorRadiusMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerMinorRadius),
kIOHIDDigitizerEventUpdateCollectionMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerCollection),
kIOHIDDigitizerEventUpdateChildEventMaskMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerChildEventMask),
kIOHIDDigitizerEventUpdateIsDisplayIntegratedMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerIsDisplayIntegrated),
kIOHIDDigitizerEventUpdateQualityRadiiAccuracyMask = 1<<IOHIDEventFieldOffsetOf(kIOHIDEventFieldDigitizerQualityRadiiAccuracy),
};
typedef uint32_t IOHIDDigitizerEventUpdateMask;
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 {
kIOHIDEventScrollMomentumUndefined = 0,
kIOHIDEventScrollMomentumContinue = (1<<0),
kIOHIDEventScrollMomentumStart = (1<<1),
kIOHIDEventScrollMomentumEnd = (1<<2),
kIOHIDEventScrollMomentumMask = (kIOHIDEventScrollMomentumContinue | kIOHIDEventScrollMomentumStart | kIOHIDEventScrollMomentumEnd),
kIOHIDEventScrollMomentumShift = (kIOHIDEventEventOptionPhaseShift + 4)
};
typedef uint8_t IOHIDEventScrollMomentumBits;
enum {
kIOHIDSymbolicHotKeyUndefined,
kIOHIDSymbolicHotKeyDictionaryApp,
kIOHIDSymbolicHotKeyIronwoodApp,
kIOHIDSymbolicHotKeyDictationApp,
};
typedef uint32_t IOHIDSymbolicHotKeyValue;
enum {
kIOHIDOrientationTypePolar = 0,
kIOHIDOrientationTypeCMUsage = 1, kIOHIDOrientationTypeTilt = 2
};
enum {
kIOHIDEventSenderIDUndefined = 0x0000000000000000LL,
};
typedef uint64_t IOHIDEventSenderID;
typedef double IOHIDDouble;
#ifndef KERNEL
#ifdef __LP64__
typedef double IOHIDFloat;
#else
typedef float IOHIDFloat;
#endif
typedef struct _IOHID3DPoint {
IOHIDFloat x;
IOHIDFloat y;
IOHIDFloat z;
} IOHID3DPoint;
#endif
enum {
kIOHIDEventColorSpaceUndefined = 0,
kIOHIDEventColorSpaceXYZ = 1
};
typedef uint8_t IOHIDEventColorSpace;
typedef struct {
uint64_t driverDispatchTime;
uint64_t eventSystemReceiveTime;
uint64_t eventSystemDispatchTime;
uint64_t eventSystemFilterTime;
uint64_t eventSystemClientDispatchTime;
} IOHIDEventPerfData;
enum {
kIOHIDEventPerfDataPointDriverDispatch,
kIOHIDEventPerfDataPointEventSystemReceive,
kIOHIDEventPerfDataPointEventSystemDispatch,
kIOHIDEventPerfDataPointEventSystemFilter,
kIOHIDEventPerfDataPointEventSystemClientDispatch
};
enum {
kIOHIDKeyboardStickyKeyPhaseDown = 1,
kIOHIDKeyboardStickyKeyPhaseLocked = 2,
kIOHIDKeyboardStickyKeyPhaseUp = 3
};
enum {
kIOHIDKeyboardStickyKeyToggleOn = 1,
kIOHIDKeyboardStickyKeyToggleOff = 2
};
#endif