#include <IOKit/hidsystem/IOHIDShared.h>

IOKit/hidsystem/IOHIDShared.h Kernel.framework

!KERNEL
13 macros · 8 typedefs · 6 structs · 5 enums · 1 variable

macroMINPRESSURE

Pressure Constants
#define MINPRESSURE EV_MINPRESSURE

macroMAXPRESSURE

#define MAXPRESSURE EV_MAXPRESSURE

macroLLEQSIZE

#define LLEQSIZE 240
Entries in low-level event queue

struct_NXEQElStruct

size 96, align 4
intnextSlot of lleq for next event
OSSpinLocksemaIs high-level code reading this event now?
NXEventeventThe event itself

typedefNXEQElement

typedef struct _NXEQElStruct NXEQElement;

struct_evOffsets

size 8, align 4
intevGlobalsOffsetOffset to EvGlobals structure
intevShmemOffsetOffset to private shmem regions

typedefEvOffsets

typedef volatile struct _evOffsets EvOffsets;

struct_evGlobals

size 23264, align 4
OSSpinLockcursorSemaset to disable periodic code
inteNumUnique id for mouse events
intbuttonsState of the mouse buttons 1==down, 0==up
inteventFlagsThe current value of event.flags
intVertRetraceClockThe current value of event.time
IOGPointcursorLocThe current location of the cursor, in desktop coordinates
intframecurrent cursor frame
IOGBoundsworkBoundsbounding box of all screens
IOGBoundsmouseRectRect for mouse-exited events
intversionfor run time checks
intstructSizefor run time checks
intlastFrame
IOFixedPoint32screenCursorFixedThe current location of the cursor, 24.8 bit fixed point format in Screen coordinates
IOFixedPoint32desktopCursorFixedin Desktop coordinates
unsigned int[27]reservedA
unsigned int:25reserved
unsigned int:1updateCursorPositionFromFixedif this is set, IOHIDSystem will take any cursor position updates from desktopCursorFixed instead of cursorLoc
unsigned int:1logCursorUpdateslog cursor updates
unsigned int:1wantPressurepressure in current mouseRect?
unsigned int:1wantPrecisionprecise coordinates in current mouseRect?
unsigned int:1dontWantCoalescecoalesce within the current mouseRect?
unsigned int:1dontCoalesceactual flag which determines coalescing
unsigned int:1mouseRectValidIf nonzero, post a mouse-exited whenever mouse outside mouseRect.
intmovedMaskThis contains an event mask for the three events MOUSEMOVED, LMOUSEDRAGGED, and RMOUSEDRAGGED. It says whether driver should generate those events.
OSSpinLockwaitCursorSemaprotects wait cursor fields
intAALastEventSenttimestamp for wait cursor
intAALastEventConsumedtimestamp for wait cursor
intwaitCursorUpIs wait cursor up?
charctxtTimedOutHas wait cursor timer expired?
charwaitCursorEnabledPlay wait cursor game (per ctxt)?
charglobalWaitCursorEnabledPlay wait cursor game (global)?
intwaitThresholdtime before wait cursor appears
intLLEHeadThe next event to be read
intLLETailWhere the next event will go
intLLELastThe last event entered
NXEQElement[240]lleqThe event queue itself

typedefEvGlobals

typedef volatile struct _evGlobals EvGlobals;

structevioLLEvent

size 68, align 4
intsetCursor
inttype
IOGPointlocation
NXEventDatadata
intsetFlags
intflags

typedef_NXLLEvent

typedef struct evioLLEvent _NXLLEvent

structevioSpecialKeyMsg

size 48, align 4
mach_msg_header_tHead
intkeyspecial key number, from bsd/dev/ev_keymap.h
intdirectionNX_KEYDOWN, NX_KEYUP from event.h
intflagsdevice independant flags from event.h
intlevelEV_AUDIO_MIN_VOLUME to EV_AUDIO_MAX_VOLUME

macroEV_SPECIAL_KEY_MSG_ID

#define EV_SPECIAL_KEY_MSG_ID (('S'<<24) | ('k'<<16) | ('e'<<8) | ('y'))

typedefevioSpecialKeyMsg_t

typedef struct evioSpecialKeyMsg *evioSpecialKeyMsg_t

macroEV_AUDIO_MIN_VOLUME

Volume ranges
#define EV_AUDIO_MIN_VOLUME 0

macroEV_AUDIO_MAX_VOLUME

#define EV_AUDIO_MAX_VOLUME 64

macrokIOHIDSystemClass

#define kIOHIDSystemClass "IOHIDSystem"

macrokIOHIKeyboardClass

#define kIOHIKeyboardClass "IOHIKeyboard"

macrokIOHIPointingClass

#define kIOHIPointingClass "IOHIPointing"

macroIOHIDSYSTEM_CONFORMSTO

#define IOHIDSYSTEM_CONFORMSTO kIOHIDSystemClass

enum(anonymous)

underlying type unsigned int
kIOHIDEventNotification0

macrokIOHIDCurrentShmemVersion

#define kIOHIDCurrentShmemVersion 4

macrokIOHIDLastCompatibleShmemVersion

#define kIOHIDLastCompatibleShmemVersion 3

enum(anonymous)

underlying type unsigned int
kIOHIDServerConnectType0
kIOHIDParamConnectType1
kIOHIDEventSystemConnectType3

enum(anonymous)

underlying type unsigned int
kIOHIDGlobalMemory0

enum(anonymous)

underlying type unsigned int
kIOHIDEventQueueTypeKernel0
kIOHIDEventQueueTypeUser1

typedefMasterVolumeUpdate

typedef UInt16 (*MasterVolumeUpdate)(void)

typedefMasterMuteUpdate

typedef bool (*MasterMuteUpdate)(void)

structMasterAudioFunctions

size 24, align 8
MasterVolumeUpdateincrementMasterVolume
MasterVolumeUpdatedecrementMasterVolume
MasterMuteUpdatetoggleMasterMute

typedefMasterAudioFunctions

typedef struct MasterAudioFunctions MasterAudioFunctions;

variablemasterAudioFunctions

extern MasterAudioFunctions *masterAudioFunctions

enum(anonymous)

underlying type unsigned int
kIOHIDOpenedByEventSystem65536@defined kIOHIDOpenedByEventSystem @abstract option passed to open for IOHIDInterface if opened by IOHIDEventDriver
kIOHIDOpenedByFastPathClient131072@defined kIOHIDOpenedByFastPathClient @abstract option passed to open for IOHIDEventService if opened by fast path client

macrokIOHIDMessageRelayServiceInterfaceActive

#define kIOHIDMessageRelayServiceInterfaceActive iokit_vendor_specific_msg(2)