key symbols (portable names for keycodes)

typedef enum mbtk_keymod_e { /* bitfield */ MBTK_KM_SHIFT = 1, MBTK_KM_ALT = 2, MBTK_KM_CTRL = 4, MBTK_KM_KEYPAD = 8 /* pressed on the keymap */ } mbtk_keymod_t; typedef enum mbtk_keysym_e { MBTK_KS_INVALID = 0, /* failed to decode */ /* values between 32 and 127 are ASCII, not defined here */ /* values below 32 are invalid, except for these: */ MBTK_KS_BACKSPACE = 8, MBTK_KS_TAB = 9, MBTK_KS_ENTER = 10, /* for both \r and \n */ MBTK_KS_ESC = 27, /* F1..Fx: use MBTK_KS_FN + x where x