1 #ifndef __VTERM_INPUT_H__ 2 #define __VTERM_INPUT_H__ 3 4 typedef enum { 5 VTERM_MOD_NONE = 0x00, 6 VTERM_MOD_SHIFT = 0x01, 7 VTERM_MOD_ALT = 0x02, 8 VTERM_MOD_CTRL = 0x04, 9 10 VTERM_ALL_MODS_MASK = 0x07 11 } VTermModifier; 12 13 // The order here must match keycodes[] in src/keyboard.c! 14 typedef enum { 15 VTERM_KEY_NONE, 16 17 VTERM_KEY_ENTER, 18 VTERM_KEY_TAB, 19 VTERM_KEY_BACKSPACE, 20 VTERM_KEY_ESCAPE, 21 22 VTERM_KEY_UP, 23 VTERM_KEY_DOWN, 24 VTERM_KEY_LEFT, 25 VTERM_KEY_RIGHT, 26 27 VTERM_KEY_INS, 28 VTERM_KEY_DEL, 29 VTERM_KEY_HOME, 30 VTERM_KEY_END, 31 VTERM_KEY_PAGEUP, 32 VTERM_KEY_PAGEDOWN, 33 34 // F1 is VTERM_KEY_FUNCTION(1), F2 VTERM_KEY_FUNCTION(2), etc. 35 VTERM_KEY_FUNCTION_0 = 256, 36 VTERM_KEY_FUNCTION_MAX = VTERM_KEY_FUNCTION_0 + 255, 37 38 // keypad keys 39 VTERM_KEY_KP_0, 40 VTERM_KEY_KP_1, 41 VTERM_KEY_KP_2, 42 VTERM_KEY_KP_3, 43 VTERM_KEY_KP_4, 44 VTERM_KEY_KP_5, 45 VTERM_KEY_KP_6, 46 VTERM_KEY_KP_7, 47 VTERM_KEY_KP_8, 48 VTERM_KEY_KP_9, 49 VTERM_KEY_KP_MULT, 50 VTERM_KEY_KP_PLUS, 51 VTERM_KEY_KP_COMMA, 52 VTERM_KEY_KP_MINUS, 53 VTERM_KEY_KP_PERIOD, 54 VTERM_KEY_KP_DIVIDE, 55 VTERM_KEY_KP_ENTER, 56 VTERM_KEY_KP_EQUAL, 57 58 VTERM_KEY_MAX, // Must be last 59 VTERM_N_KEYS = VTERM_KEY_MAX 60 } VTermKey; 61 62 #define VTERM_KEY_FUNCTION(n) (VTERM_KEY_FUNCTION_0+(n)) 63 64 #endif 65