#include <IOKit/hidsystem/IOLLEvent.h>

IOKit/hidsystem/IOLLEvent.h Kernel.framework

Interlock with dpsclient/event.h
158 macros · 9 typedefs · 5 structs · 1 union

macroEVENT_H

#define EVENT_H 

macroNX_NULLEVENT

#define NX_NULLEVENT 0
internal use

macroNX_LMOUSEDOWN

#define NX_LMOUSEDOWN 1
left mouse-down event

macroNX_LMOUSEUP

#define NX_LMOUSEUP 2
left mouse-up event

macroNX_RMOUSEDOWN

#define NX_RMOUSEDOWN 3
right mouse-down event

macroNX_RMOUSEUP

#define NX_RMOUSEUP 4
right mouse-up event

macroNX_MOUSEMOVED

#define NX_MOUSEMOVED 5
mouse-moved event

macroNX_LMOUSEDRAGGED

#define NX_LMOUSEDRAGGED 6
left mouse-dragged event

macroNX_RMOUSEDRAGGED

#define NX_RMOUSEDRAGGED 7
right mouse-dragged event

macroNX_MOUSEENTERED

#define NX_MOUSEENTERED 8
mouse-entered event

macroNX_MOUSEEXITED

#define NX_MOUSEEXITED 9
mouse-exited event

macroNX_OMOUSEDOWN

other mouse events event.data.mouse.buttonNumber should contain the button number (2-31) changing state.
#define NX_OMOUSEDOWN 25
other mouse-down event

macroNX_OMOUSEUP

#define NX_OMOUSEUP 26
other mouse-up event

macroNX_OMOUSEDRAGGED

#define NX_OMOUSEDRAGGED 27
other mouse-dragged event

macroNX_KEYDOWN

#define NX_KEYDOWN 10
key-down event

macroNX_KEYUP

#define NX_KEYUP 11
key-up event

macroNX_FLAGSCHANGED

#define NX_FLAGSCHANGED 12
flags-changed event

macroNX_KITDEFINED

#define NX_KITDEFINED 13
application-kit-defined event

macroNX_SYSDEFINED

#define NX_SYSDEFINED 14
system-defined event

macroNX_APPDEFINED

#define NX_APPDEFINED 15
application-defined event

macroNX_SCROLLWHEELMOVED

#define NX_SCROLLWHEELMOVED 22

macroNX_ZOOM

Zoom events
#define NX_ZOOM 28

macroNX_TABLETPOINTER

#define NX_TABLETPOINTER 23
for non-mousing transducers

macroNX_TABLETPROXIMITY

#define NX_TABLETPROXIMITY 24
for non-mousing transducers

macroNX_FIRSTEVENT

#define NX_FIRSTEVENT 0

macroNX_LASTEVENT

#define NX_LASTEVENT 28

macroNX_NUMPROCS

#define NX_NUMPROCS (NX_LASTEVENT-NX_FIRSTEVENT+1)

macroNX_NULLEVENTMASK

Event masks
#define NX_NULLEVENTMASK (1 << NX_NULLEVENT)
NULL event

macroNX_LMOUSEDOWNMASK

#define NX_LMOUSEDOWNMASK (1 << NX_LMOUSEDOWN)
left mouse-down

macroNX_LMOUSEUPMASK

#define NX_LMOUSEUPMASK (1 << NX_LMOUSEUP)
left mouse-up

macroNX_RMOUSEDOWNMASK

#define NX_RMOUSEDOWNMASK (1 << NX_RMOUSEDOWN)
right mouse-down

macroNX_RMOUSEUPMASK

#define NX_RMOUSEUPMASK (1 << NX_RMOUSEUP)
right mouse-up

macroNX_OMOUSEDOWNMASK

#define NX_OMOUSEDOWNMASK (1 << NX_OMOUSEDOWN)
other mouse-down

macroNX_OMOUSEUPMASK

#define NX_OMOUSEUPMASK (1 << NX_OMOUSEUP)
other mouse-up

macroNX_MOUSEMOVEDMASK

#define NX_MOUSEMOVEDMASK (1 << NX_MOUSEMOVED)
mouse-moved

macroNX_LMOUSEDRAGGEDMASK

#define NX_LMOUSEDRAGGEDMASK (1 << NX_LMOUSEDRAGGED)
left-dragged

macroNX_RMOUSEDRAGGEDMASK

#define NX_RMOUSEDRAGGEDMASK (1 << NX_RMOUSEDRAGGED)
right-dragged

macroNX_OMOUSEDRAGGEDMASK

#define NX_OMOUSEDRAGGEDMASK (1 << NX_OMOUSEDRAGGED)
other-dragged

macroNX_MOUSEENTEREDMASK

#define NX_MOUSEENTEREDMASK (1 << NX_MOUSEENTERED)
mouse-entered

macroNX_MOUSEEXITEDMASK

#define NX_MOUSEEXITEDMASK (1 << NX_MOUSEEXITED)
mouse-exited

macroNX_KEYDOWNMASK

#define NX_KEYDOWNMASK (1 << NX_KEYDOWN)
key-down

macroNX_KEYUPMASK

#define NX_KEYUPMASK (1 << NX_KEYUP)
key-up

macroNX_FLAGSCHANGEDMASK

#define NX_FLAGSCHANGEDMASK (1 << NX_FLAGSCHANGED)
flags-changed

macroNX_KITDEFINEDMASK

#define NX_KITDEFINEDMASK (1 << NX_KITDEFINED)
kit-defined

macroNX_SYSDEFINEDMASK

#define NX_SYSDEFINEDMASK (1 << NX_SYSDEFINED)
system-defined

macroNX_APPDEFINEDMASK

#define NX_APPDEFINEDMASK (1 << NX_APPDEFINED)
app-defined

macroNX_SCROLLWHEELMOVEDMASK

#define NX_SCROLLWHEELMOVEDMASK (1 << NX_SCROLLWHEELMOVED)
scroll wheel moved

macroNX_ZOOMMASK

#define NX_ZOOMMASK (1 << NX_ZOOM)
Zoom

macroNX_TABLETPOINTERMASK

#define NX_TABLETPOINTERMASK (1 << NX_TABLETPOINTER)
tablet pointer moved

macroNX_TABLETPROXIMITYMASK

#define NX_TABLETPROXIMITYMASK (1 << NX_TABLETPROXIMITY)
tablet pointer proximity

macroEventCodeMask

#define EventCodeMask(type) (1 << (type))

macroNX_ALLEVENTS

#define NX_ALLEVENTS -1
Check for all events

macroNX_SUBTYPE_DEFAULT

#define NX_SUBTYPE_DEFAULT 0

macroNX_SUBTYPE_TABLET_POINT

#define NX_SUBTYPE_TABLET_POINT 1

macroNX_SUBTYPE_TABLET_PROXIMITY

#define NX_SUBTYPE_TABLET_PROXIMITY 2

macroNX_SUBTYPE_MOUSE_TOUCH

#define NX_SUBTYPE_MOUSE_TOUCH 3

macroNX_SUBTYPE_POWER_KEY

#define NX_SUBTYPE_POWER_KEY 1

macroNX_SUBTYPE_AUX_MOUSE_BUTTONS

#define NX_SUBTYPE_AUX_MOUSE_BUTTONS 7

macroNX_SUBTYPE_AUX_CONTROL_BUTTONS

NX_SUBTYPE_AUX_CONTROL_BUTTONS usage The incoming NXEvent for other mouse button down/up has event.type NX_SYSDEFINED and event.data.compound.subtype NX_SUBTYPE_AUX_MOUSE_BUTTONS. Within the event.data.compound.misc.L[0] contains bits for all the buttons that have changed state, and event.data.compound.misc.L[1] contains the current button state as a bitmask, with 1 representing down, and 0 representing up. Bit 0 is the left button, bit one is the right button, bit 2 is the center button and so forth.
#define NX_SUBTYPE_AUX_CONTROL_BUTTONS 8

macroNX_SUBTYPE_EJECT_KEY

#define NX_SUBTYPE_EJECT_KEY 10

macroNX_SUBTYPE_SLEEP_EVENT

#define NX_SUBTYPE_SLEEP_EVENT 11

macroNX_SUBTYPE_RESTART_EVENT

#define NX_SUBTYPE_RESTART_EVENT 12

macroNX_SUBTYPE_SHUTDOWN_EVENT

#define NX_SUBTYPE_SHUTDOWN_EVENT 13

macroNX_SUBTYPE_MENU

#define NX_SUBTYPE_MENU 16

macroNX_SUBTYPE_ACCESSIBILITY

#define NX_SUBTYPE_ACCESSIBILITY 17

macroNX_SUBTYPE_STICKYKEYS_ON

#define NX_SUBTYPE_STICKYKEYS_ON 100

macroNX_SUBTYPE_STICKYKEYS_OFF

#define NX_SUBTYPE_STICKYKEYS_OFF 101

macroNX_SUBTYPE_STICKYKEYS_SHIFT

#define NX_SUBTYPE_STICKYKEYS_SHIFT 102

macroNX_SUBTYPE_STICKYKEYS_CONTROL

#define NX_SUBTYPE_STICKYKEYS_CONTROL 103

macroNX_SUBTYPE_STICKYKEYS_ALTERNATE

#define NX_SUBTYPE_STICKYKEYS_ALTERNATE 104

macroNX_SUBTYPE_STICKYKEYS_COMMAND

#define NX_SUBTYPE_STICKYKEYS_COMMAND 105

macroNX_SUBTYPE_STICKYKEYS_RELEASE

#define NX_SUBTYPE_STICKYKEYS_RELEASE 106

macroNX_SUBTYPE_STICKYKEYS_TOGGLEMOUSEDRIVING

#define NX_SUBTYPE_STICKYKEYS_TOGGLEMOUSEDRIVING 107

macroNX_SUBTYPE_STICKYKEYS_SHIFT_DOWN

New stickykeys key events These were created to send an event describing the different state of the modifiers
#define NX_SUBTYPE_STICKYKEYS_SHIFT_DOWN 110

macroNX_SUBTYPE_STICKYKEYS_CONTROL_DOWN

#define NX_SUBTYPE_STICKYKEYS_CONTROL_DOWN 111

macroNX_SUBTYPE_STICKYKEYS_ALTERNATE_DOWN

#define NX_SUBTYPE_STICKYKEYS_ALTERNATE_DOWN 112

macroNX_SUBTYPE_STICKYKEYS_COMMAND_DOWN

#define NX_SUBTYPE_STICKYKEYS_COMMAND_DOWN 113

macroNX_SUBTYPE_STICKYKEYS_FN_DOWN

#define NX_SUBTYPE_STICKYKEYS_FN_DOWN 114

macroNX_SUBTYPE_STICKYKEYS_SHIFT_LOCK

#define NX_SUBTYPE_STICKYKEYS_SHIFT_LOCK 120

macroNX_SUBTYPE_STICKYKEYS_CONTROL_LOCK

#define NX_SUBTYPE_STICKYKEYS_CONTROL_LOCK 121

macroNX_SUBTYPE_STICKYKEYS_ALTERNATE_LOCK

#define NX_SUBTYPE_STICKYKEYS_ALTERNATE_LOCK 122

macroNX_SUBTYPE_STICKYKEYS_COMMAND_LOCK

#define NX_SUBTYPE_STICKYKEYS_COMMAND_LOCK 123

macroNX_SUBTYPE_STICKYKEYS_FN_LOCK

#define NX_SUBTYPE_STICKYKEYS_FN_LOCK 124

macroNX_SUBTYPE_STICKYKEYS_SHIFT_UP

#define NX_SUBTYPE_STICKYKEYS_SHIFT_UP 130

macroNX_SUBTYPE_STICKYKEYS_CONTROL_UP

#define NX_SUBTYPE_STICKYKEYS_CONTROL_UP 131

macroNX_SUBTYPE_STICKYKEYS_ALTERNATE_UP

#define NX_SUBTYPE_STICKYKEYS_ALTERNATE_UP 132

macroNX_SUBTYPE_STICKYKEYS_COMMAND_UP

#define NX_SUBTYPE_STICKYKEYS_COMMAND_UP 133

macroNX_SUBTYPE_STICKYKEYS_FN_UP

#define NX_SUBTYPE_STICKYKEYS_FN_UP 134

macroNX_SUBTYPE_SLOWKEYS_START

SlowKeys
#define NX_SUBTYPE_SLOWKEYS_START 200

macroNX_SUBTYPE_SLOWKEYS_ABORT

#define NX_SUBTYPE_SLOWKEYS_ABORT 201

macroNX_SUBTYPE_SLOWKEYS_END

#define NX_SUBTYPE_SLOWKEYS_END 202

macroNX_SUBTYPE_HIDPARAMETER_MODIFIED

HID Parameter Property Modified
#define NX_SUBTYPE_HIDPARAMETER_MODIFIED 210

macroNX_ALPHASHIFTMASK

#define NX_ALPHASHIFTMASK 0x00010000

macroNX_SHIFTMASK

#define NX_SHIFTMASK 0x00020000

macroNX_CONTROLMASK

#define NX_CONTROLMASK 0x00040000

macroNX_ALTERNATEMASK

#define NX_ALTERNATEMASK 0x00080000

macroNX_COMMANDMASK

#define NX_COMMANDMASK 0x00100000

macroNX_NUMERICPADMASK

#define NX_NUMERICPADMASK 0x00200000

macroNX_HELPMASK

#define NX_HELPMASK 0x00400000

macroNX_SECONDARYFNMASK

#define NX_SECONDARYFNMASK 0x00800000

macroNX_ALPHASHIFT_STATELESS_MASK

#define NX_ALPHASHIFT_STATELESS_MASK 0x01000000

macroNX_DEVICELCTLKEYMASK

#define NX_DEVICELCTLKEYMASK 0x00000001

macroNX_DEVICELSHIFTKEYMASK

#define NX_DEVICELSHIFTKEYMASK 0x00000002

macroNX_DEVICERSHIFTKEYMASK

#define NX_DEVICERSHIFTKEYMASK 0x00000004

macroNX_DEVICELCMDKEYMASK

#define NX_DEVICELCMDKEYMASK 0x00000008

macroNX_DEVICERCMDKEYMASK

#define NX_DEVICERCMDKEYMASK 0x00000010

macroNX_DEVICELALTKEYMASK

#define NX_DEVICELALTKEYMASK 0x00000020

macroNX_DEVICERALTKEYMASK

#define NX_DEVICERALTKEYMASK 0x00000040

macroNX_DEVICE_ALPHASHIFT_STATELESS_MASK

#define NX_DEVICE_ALPHASHIFT_STATELESS_MASK 0x00000080

macroNX_DEVICERCTLKEYMASK

#define NX_DEVICERCTLKEYMASK 0x00002000

macroNX_STYLUSPROXIMITYMASK

#define NX_STYLUSPROXIMITYMASK 0x00000080
deprecated

macroNX_NONCOALSESCEDMASK

#define NX_NONCOALSESCEDMASK 0x00000100

macroNX_ASCIISET

#define NX_ASCIISET 0

macroNX_SYMBOLSET

#define NX_SYMBOLSET 1

macroNX_DINGBATSSET

#define NX_DINGBATSSET 2

macroNX_TABLET_BUTTON_PENTIPMASK

#define NX_TABLET_BUTTON_PENTIPMASK 0x0001

macroNX_TABLET_BUTTON_PENLOWERSIDEMASK

#define NX_TABLET_BUTTON_PENLOWERSIDEMASK 0x0002

macroNX_TABLET_BUTTON_PENUPPERSIDEMASK

#define NX_TABLET_BUTTON_PENUPPERSIDEMASK 0x0004

macroNX_TABLET_CAPABILITY_DEVICEIDMASK

tablet capability masks Mask bits for the tablet capabilities field. Use these masks with the capabilities field of a proximity event to determine what fields in a Tablet Event are valid for this device.
#define NX_TABLET_CAPABILITY_DEVICEIDMASK 0x0001

macroNX_TABLET_CAPABILITY_ABSXMASK

#define NX_TABLET_CAPABILITY_ABSXMASK 0x0002

macroNX_TABLET_CAPABILITY_ABSYMASK

#define NX_TABLET_CAPABILITY_ABSYMASK 0x0004

macroNX_TABLET_CAPABILITY_VENDOR1MASK

#define NX_TABLET_CAPABILITY_VENDOR1MASK 0x0008

macroNX_TABLET_CAPABILITY_VENDOR2MASK

#define NX_TABLET_CAPABILITY_VENDOR2MASK 0x0010

macroNX_TABLET_CAPABILITY_VENDOR3MASK

#define NX_TABLET_CAPABILITY_VENDOR3MASK 0x0020

macroNX_TABLET_CAPABILITY_BUTTONSMASK

#define NX_TABLET_CAPABILITY_BUTTONSMASK 0x0040

macroNX_TABLET_CAPABILITY_TILTXMASK

#define NX_TABLET_CAPABILITY_TILTXMASK 0x0080

macroNX_TABLET_CAPABILITY_TILTYMASK

#define NX_TABLET_CAPABILITY_TILTYMASK 0x0100

macroNX_TABLET_CAPABILITY_ABSZMASK

#define NX_TABLET_CAPABILITY_ABSZMASK 0x0200

macroNX_TABLET_CAPABILITY_PRESSUREMASK

#define NX_TABLET_CAPABILITY_PRESSUREMASK 0x0400

macroNX_TABLET_CAPABILITY_TANGENTIALPRESSUREMASK

#define NX_TABLET_CAPABILITY_TANGENTIALPRESSUREMASK 0x0800

macroNX_TABLET_CAPABILITY_ORIENTINFOMASK

#define NX_TABLET_CAPABILITY_ORIENTINFOMASK 0x1000

macroNX_TABLET_CAPABILITY_ROTATIONMASK

#define NX_TABLET_CAPABILITY_ROTATIONMASK 0x2000

macroNX_TABLET_POINTER_UNKNOWN

#define NX_TABLET_POINTER_UNKNOWN 0

macroNX_TABLET_POINTER_PEN

#define NX_TABLET_POINTER_PEN 1

macroNX_TABLET_POINTER_CURSOR

#define NX_TABLET_POINTER_CURSOR 2

macroNX_TABLET_POINTER_ERASER

#define NX_TABLET_POINTER_ERASER 3

struct_NXTabletPointData

size 32, align 4
SInt32xabsolute x coordinate in tablet space at full tablet resolution
SInt32yabsolute y coordinate in tablet space at full tablet resolution
SInt32zabsolute z coordinate in tablet space at full tablet resolution
UInt16buttonsone bit per button - bit 0 is first button - 1 = closed
UInt16pressurescaled pressure value; MAX=(2^16)-1, MIN=0
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:351:5tilt
SInt16xscaled tilt x value
SInt16yscaled tilt y value
UInt16rotationFixed-point representation of device rotation in a 10.6 format
SInt16tangentialPressuretangential pressure on the device; same range as tilt
UInt16deviceIDsystem-assigned unique device ID
SInt16vendor1vendor-defined signed 16-bit integer
SInt16vendor2vendor-defined signed 16-bit integer
SInt16vendor3vendor-defined signed 16-bit integer

typedefNXTabletPointData

typedef struct _NXTabletPointData NXTabletPointData;

typedefNXTabletPointDataPtr

typedef struct _NXTabletPointData * NXTabletPointDataPtr;

struct_NXTabletProximityData

size 32, align 4
UInt16vendorIDvendor-defined ID - typically the USB vendor ID
UInt16tabletIDvendor-defined tablet ID - typically the USB product ID
UInt16pointerIDvendor-defined ID of the specific pointing device
UInt16deviceIDsystem-assigned unique device ID
UInt16systemTabletIDsystem-assigned unique tablet ID
UInt16vendorPointerTypevendor-defined pointer type
UInt32pointerSerialNumbervendor-defined serial number
UInt64uniqueIDvendor-defined unique ID
UInt32capabilityMaskcapabilities mask of the device
UInt8pointerTypetype of pointing device
UInt8enterProximitynon-zero = entering; zero = leaving
SInt16reserved1

typedefNXTabletProximityData

typedef struct _NXTabletProximityData NXTabletProximityData;

typedefNXTabletProximityDataPtr

typedef struct _NXTabletProximityData * NXTabletProximityDataPtr;

unionNXEventData

size 48, align 4
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:385:5mouse
UInt8subxsub-pixel position for x
UInt8subysub-pixel position for y
SInt16eventNumunique identifier for this button
SInt32clickclick state of this event
UInt8pressurepressure value: 0=none, 255=full
UInt8buttonNumberbutton generating other button event (0-31)
UInt8subType
UInt8reserved2
SInt32reserved3
unnamed union at Kernel/IOKit/hidsystem/IOLLEvent.h:395:9tablet
NXTabletPointDatapointtablet point data
NXTabletProximityDataproximitytablet proximity data
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:400:5mouseMove
SInt32dx
SInt32dy
UInt8subx
UInt8suby
UInt8subType
UInt8reserved1
SInt32reserved2
unnamed union at Kernel/IOKit/hidsystem/IOLLEvent.h:408:9tablet
NXTabletPointDatapointtablet point data
NXTabletProximityDataproximitytablet proximity data
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:413:5key
UInt16origCharSetunmodified character set code
SInt16repeatfor key-down: nonzero if really a repeat
UInt16charSetcharacter set code
UInt16charCodecharacter code in that set
UInt16keyCodedevice-dependent key number
UInt16origCharCodeunmodified character code
SInt32reserved1
UInt32keyboardType
SInt32reserved2
SInt32reserved3
SInt32reserved4
SInt32[4]reserved5
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:427:5tracking
SInt16reserved
SInt16eventNumunique identifier from mouse down event
SInt32trackingNumunique identifier from settrackingrect
SInt32userDatauninterpreted integer from settrackingrect
SInt32reserved1
SInt32reserved2
SInt32reserved3
SInt32reserved4
SInt32reserved5
SInt32[4]reserved6
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:439:5scrollWheel
SInt16deltaAxis1
SInt16deltaAxis2
SInt16deltaAxis3
SInt16reserved1
SInt32fixedDeltaAxis1
SInt32fixedDeltaAxis2
SInt32fixedDeltaAxis3
SInt32pointDeltaAxis1
SInt32pointDeltaAxis2
SInt32pointDeltaAxis3
SInt32[4]reserved8
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:439:5zoom
SInt16deltaAxis1
SInt16deltaAxis2
SInt16deltaAxis3
SInt16reserved1
SInt32fixedDeltaAxis1
SInt32fixedDeltaAxis2
SInt32fixedDeltaAxis3
SInt32pointDeltaAxis1
SInt32pointDeltaAxis2
SInt32pointDeltaAxis3
SInt32[4]reserved8
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:452:5compound
SInt16reserved
SInt16subTypeevent subtype for compound events
unnamed union at Kernel/IOKit/hidsystem/IOLLEvent.h:455:9misc
float[11]Ffor use in compound events
SInt32[11]Lfor use in compound events
SInt16[22]Sfor use in compound events
char[44]Cfor use in compound events
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:462:5tablet
SInt32xabsolute x coordinate in tablet space at full tablet resolution
SInt32yabsolute y coordinate in tablet space at full tablet resolution
SInt32zabsolute z coordinate in tablet space at full tablet resolution
UInt16buttonsone bit per button - bit 0 is first button - 1 = closed
UInt16pressurescaled pressure value; MAX=(2^16)-1, MIN=0
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:468:9tilt
SInt16xscaled tilt x value
SInt16yscaled tilt y value
UInt16rotationFixed-point representation of device rotation in a 10.6 format
SInt16tangentialPressuretangential pressure on the device; same range as tilt
UInt16deviceIDsystem-assigned unique device ID
SInt16vendor1vendor-defined signed 16-bit integer
SInt16vendor2vendor-defined signed 16-bit integer
SInt16vendor3vendor-defined signed 16-bit integer
SInt32[4]reserved
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:480:5proximity
UInt16vendorIDvendor-defined ID - typically the USB vendor ID
UInt16tabletIDvendor-defined tablet ID - typically the USB product ID
UInt16pointerIDvendor-defined ID of the specific pointing device
UInt16deviceIDsystem-assigned unique device ID
UInt16systemTabletIDsystem-assigned unique tablet ID
UInt16vendorPointerTypevendor-defined pointer type
UInt32pointerSerialNumbervendor-defined serial number
UInt64uniqueIDvendor-defined unique ID
UInt32capabilityMaskcapabilities mask of the device
UInt8pointerTypetype of pointing device
UInt8enterProximitynon-zero = entering; zero = leaving
SInt16reserved1
SInt32[4]reserved2

typedefNXEventData

typedef union NXEventData NXEventData;

macrokNXEventDataVersion

#define kNXEventDataVersion 2

struct_NXEvent

Finally! The event record!
size 88, align 4
SInt32typeAn event type from above
unnamed struct at Kernel/IOKit/hidsystem/IOLLEvent.h:505:5location
SInt32xBase coordinates in window,
SInt32y
UInt64timetime since launch
SInt32flagskey state flags
UInt32windowwindow number of assigned window
UInt64service_idservice id
SInt32ext_pidexternal pid
NXEventDatadatatype-dependent data

typedefNXEvent

typedef struct _NXEvent NXEvent;

typedefNXEventPtr

typedef struct _NXEvent * NXEventPtr;

macrokNXEventVersion

#define kNXEventVersion 2

macroNX_NOWINDOW

How to pick window(s) for event (for PostEvent)
#define NX_NOWINDOW -1

macroNX_BYTYPE

#define NX_BYTYPE 0

macroNX_BROADCAST

#define NX_BROADCAST 1

macroNX_TOPWINDOW

#define NX_TOPWINDOW 2

macroNX_FIRSTWINDOW

#define NX_FIRSTWINDOW 3

macroNX_MOUSEWINDOW

#define NX_MOUSEWINDOW 4

macroNX_NEXTWINDOW

#define NX_NEXTWINDOW 5

macroNX_LASTLEFT

#define NX_LASTLEFT 6

macroNX_LASTRIGHT

#define NX_LASTRIGHT 7

macroNX_LASTKEY

#define NX_LASTKEY 8

macroNX_EXPLICIT

#define NX_EXPLICIT 9

macroNX_TRANSMIT

#define NX_TRANSMIT 10

macroNX_BYPSCONTEXT

#define NX_BYPSCONTEXT 11

macroNX_WAKEMASK

Mask of events that cause the screen to wake up
#define NX_WAKEMASK (   NX_KEYDOWNMASK | NX_FLAGSCHANGEDMASK |
                            NX_LMOUSEDOWNMASK | NX_LMOUSEUPMASK |
                            NX_RMOUSEDOWNMASK | NX_RMOUSEUPMASK |
                            NX_OMOUSEDOWNMASK | NX_OMOUSEUPMASK
                        )

macroNX_EVENT_EXTENSION_LOCATION_INVALID

#define NX_EVENT_EXTENSION_LOCATION_INVALID 0x1

macroNX_EVENT_EXTENSION_LOCATION_TYPE_FLOAT

#define NX_EVENT_EXTENSION_LOCATION_TYPE_FLOAT 0x2

macroNX_EVENT_EXTENSION_LOCATION_DEVICE_SCALED

#define NX_EVENT_EXTENSION_LOCATION_DEVICE_SCALED 0x4

macroNX_EVENT_EXTENSION_MOUSE_DELTA_TYPE_FLOAT

#define NX_EVENT_EXTENSION_MOUSE_DELTA_TYPE_FLOAT 0x8

macroNX_EVENT_EXTENSION_AUDIT_TOKEN

#define NX_EVENT_EXTENSION_AUDIT_TOKEN 0x10

struct_NXEventExtension

size 36, align 4
UInt32flags
audit_token_taudit

typedefNXEventExtension

typedef struct _NXEventExtension NXEventExtension;

struct_NXEventExt

size 124, align 4
NXEventpayload
NXEventExtensionextension

typedefNXEventExt

typedef struct _NXEventExt NXEventExt;