#include <IOKit/hidsystem/ev_keymap.h>
IOKit/hidsystem/ev_keymap.h
macroNX_NUMKEYCODES
#define NX_NUMKEYCODES 256
Highest key code is 0xff. ADB used to use 0x80 for keydown state, but who the heck uses adb anymore.
macroNX_NOSPECIALKEY
Special keys currently known to and understood by the system.
If new specialty keys are invented, extend this list as appropriate.
The presence of these keys in a particular implementation is not
guaranteed.
#define NX_NOSPECIALKEY 0xFFFF
macroNX_KEYTYPE_SOUND_UP
#define NX_KEYTYPE_SOUND_UP 0
macroNX_KEYTYPE_SOUND_DOWN
#define NX_KEYTYPE_SOUND_DOWN 1
macroNX_KEYTYPE_BRIGHTNESS_UP
#define NX_KEYTYPE_BRIGHTNESS_UP 2
macroNX_KEYTYPE_BRIGHTNESS_DOWN
#define NX_KEYTYPE_BRIGHTNESS_DOWN 3
macroNX_KEYTYPE_CAPS_LOCK
#define NX_KEYTYPE_CAPS_LOCK 4
macroNX_KEYTYPE_HELP
#define NX_KEYTYPE_HELP 5
macroNX_POWER_KEY
#define NX_POWER_KEY 6
macroNX_KEYTYPE_MUTE
#define NX_KEYTYPE_MUTE 7
macroNX_UP_ARROW_KEY
#define NX_UP_ARROW_KEY 8
macroNX_DOWN_ARROW_KEY
#define NX_DOWN_ARROW_KEY 9
macroNX_KEYTYPE_NUM_LOCK
#define NX_KEYTYPE_NUM_LOCK 10
macroNX_KEYTYPE_CONTRAST_UP
#define NX_KEYTYPE_CONTRAST_UP 11
macroNX_KEYTYPE_CONTRAST_DOWN
#define NX_KEYTYPE_CONTRAST_DOWN 12
macroNX_KEYTYPE_LAUNCH_PANEL
#define NX_KEYTYPE_LAUNCH_PANEL 13
macroNX_KEYTYPE_EJECT
#define NX_KEYTYPE_EJECT 14
macroNX_KEYTYPE_VIDMIRROR
#define NX_KEYTYPE_VIDMIRROR 15
macroNX_KEYTYPE_PLAY
#define NX_KEYTYPE_PLAY 16
macroNX_KEYTYPE_NEXT
#define NX_KEYTYPE_NEXT 17
macroNX_KEYTYPE_PREVIOUS
#define NX_KEYTYPE_PREVIOUS 18
macroNX_KEYTYPE_FAST
#define NX_KEYTYPE_FAST 19
macroNX_KEYTYPE_REWIND
#define NX_KEYTYPE_REWIND 20
macroNX_KEYTYPE_ILLUMINATION_UP
#define NX_KEYTYPE_ILLUMINATION_UP 21
macroNX_KEYTYPE_ILLUMINATION_DOWN
#define NX_KEYTYPE_ILLUMINATION_DOWN 22
macroNX_KEYTYPE_ILLUMINATION_TOGGLE
#define NX_KEYTYPE_ILLUMINATION_TOGGLE 23
macroNX_KEYTYPE_MENU
#define NX_KEYTYPE_MENU 25
macroNX_SPECIALKEY_POST_MASK
#define NX_SPECIALKEY_POST_MASK ((1 << NX_KEYTYPE_SOUND_UP) | (1 << NX_KEYTYPE_SOUND_DOWN) | (1 << NX_POWER_KEY) | (1 << NX_KEYTYPE_MUTE) | (1 << NX_KEYTYPE_BRIGHTNESS_UP) | (1 << NX_KEYTYPE_BRIGHTNESS_DOWN) | (1 << NX_KEYTYPE_CONTRAST_UP) | (1 << NX_KEYTYPE_CONTRAST_UP) | (1 << NX_KEYTYPE_LAUNCH_PANEL) | (1 << NX_KEYTYPE_EJECT) | (1 << NX_KEYTYPE_VIDMIRROR) | (1 << NX_KEYTYPE_PLAY) | (1 << NX_KEYTYPE_NEXT) | (1 << NX_KEYTYPE_PREVIOUS) | (1 << NX_KEYTYPE_FAST) | (1 << NX_KEYTYPE_REWIND) | (1 << NX_KEYTYPE_ILLUMINATION_UP) | (1 << NX_KEYTYPE_ILLUMINATION_DOWN) | (1 << NX_KEYTYPE_ILLUMINATION_TOGGLE) | 0)
macroNX_MODIFIERKEY_SHIFT
#define NX_MODIFIERKEY_SHIFT 1
macroNX_MODIFIERKEY_CONTROL
#define NX_MODIFIERKEY_CONTROL 2
macroNX_MODIFIERKEY_ALTERNATE
#define NX_MODIFIERKEY_ALTERNATE 3
macroNX_MODIFIERKEY_COMMAND
#define NX_MODIFIERKEY_COMMAND 4
macroNX_MODIFIERKEY_NUMERICPAD
#define NX_MODIFIERKEY_NUMERICPAD 5
macroNX_MODIFIERKEY_HELP
#define NX_MODIFIERKEY_HELP 6
macroNX_MODIFIERKEY_SECONDARYFN
#define NX_MODIFIERKEY_SECONDARYFN 7
macroNX_MODIFIERKEY_NUMLOCK
#define NX_MODIFIERKEY_NUMLOCK 8
macroNX_MODIFIERKEY_RCONTROL
#define NX_MODIFIERKEY_RCONTROL 10
macroNX_MODIFIERKEY_RALTERNATE
#define NX_MODIFIERKEY_RALTERNATE 11
macroNX_MODIFIERKEY_RCOMMAND
#define NX_MODIFIERKEY_RCOMMAND 12
macroNX_MODIFIERKEY_ALPHALOCK_STATELESS
#define NX_MODIFIERKEY_ALPHALOCK_STATELESS 13
macroNX_MODIFIERKEY_LAST_KEY
#define NX_MODIFIERKEY_LAST_KEY 13
struct_NXParsedKeyMapping_
| short | shorts | If nonzero, all numbers are shorts; if zero, all numbers are bytes |
| char[256] | keyBits | For each keycode, low order bit says if the key generates characters. High order bit says if the key is assigned to a modifier bit. The second to low order bit gives the current state of the key. |
| int | maxMod | Bit number of highest numbered modifier bit |
| unsigned char *[16] | modDefs | Pointers to where the list of keys for each modifiers bit begins, or NULL. |
| int | numDefs | Key code of highest key deinfed to generate characters |
| unsigned char *[256] | keyDefs | Pointer into the keyMapping where this key's definitions begin |
| int | numSeqs | number of sequence definitions |
| unsigned char *[128] | seqDefs | pointers to sequences |
| int | numSpecialKeys | Special key definitions |
| unsigned short[24] | specialKeys | Special key values, or 0xFFFF if none |
| const unsigned char * | mapping | Pointer to the original keymapping string |
| int | mappingLen | Length of the original string |
typedefNXParsedKeyMapping
typedef struct _NXParsedKeyMapping_ NXParsedKeyMapping;