#include <IOKit/hidsystem/ev_keymap.h>

IOKit/hidsystem/ev_keymap.h Kernel.framework

53 macros · 1 struct · 1 typedef

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_NUMSEQUENCES

#define NX_NUMSEQUENCES 128
Maximum possible number of sequences

macroNX_NUMMODIFIERS

#define NX_NUMMODIFIERS 16
Maximum number of modifier bits

macroNX_BYTE_CODES

#define NX_BYTE_CODES 0
If first short 0, all are bytes (else shorts)

macroNX_WHICHMODMASK

#define NX_WHICHMODMASK 0x0f
bits out of keyBits for bucky bits

macroNX_MODMASK

#define NX_MODMASK 0x10
Bit out of keyBits indicates modifier bit

macroNX_CHARGENMASK

#define NX_CHARGENMASK 0x20
bit out of keyBits for char gen

macroNX_SPECIALKEYMASK

#define NX_SPECIALKEYMASK 0x40
bit out of keyBits for specialty key

macroNX_KEYSTATEMASK

#define NX_KEYSTATEMASK 0x80
OBSOLETE - DO NOT USE IN NEW DESIGNS

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_NUMSPECIALKEYS

#define NX_NUMSPECIALKEYS 24
Maximum number of special keys

macroNX_NUM_SCANNED_SPECIALKEYS

#define NX_NUM_SCANNED_SPECIALKEYS 24
First 24 special keys are

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_ALPHALOCK

Modifier key indices into modDefs[]
#define NX_MODIFIERKEY_ALPHALOCK 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_RSHIFT

support for right hand modifier
#define NX_MODIFIERKEY_RSHIFT 9

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_

size 3552, align 8
shortshortsIf nonzero, all numbers are shorts; if zero, all numbers are bytes
char[256]keyBitsFor 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.
intmaxModBit number of highest numbered modifier bit
unsigned char *[16]modDefsPointers to where the list of keys for each modifiers bit begins, or NULL.
intnumDefsKey code of highest key deinfed to generate characters
unsigned char *[256]keyDefsPointer into the keyMapping where this key's definitions begin
intnumSeqsnumber of sequence definitions
unsigned char *[128]seqDefspointers to sequences
intnumSpecialKeysSpecial key definitions
unsigned short[24]specialKeysSpecial key values, or 0xFFFF if none
const unsigned char *mappingPointer to the original keymapping string
intmappingLenLength of the original string

typedefNXParsedKeyMapping

typedef struct _NXParsedKeyMapping_ NXParsedKeyMapping;