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