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 | typedef enum { |
14 | VTERM_KEY_NONE, |
15 | |
16 | VTERM_KEY_ENTER, |
17 | VTERM_KEY_TAB, |
18 | VTERM_KEY_BACKSPACE, |
19 | VTERM_KEY_ESCAPE, |
20 | |
21 | VTERM_KEY_UP, |
22 | VTERM_KEY_DOWN, |
23 | VTERM_KEY_LEFT, |
24 | VTERM_KEY_RIGHT, |
25 | |
26 | VTERM_KEY_INS, |
27 | VTERM_KEY_DEL, |
28 | VTERM_KEY_HOME, |
29 | VTERM_KEY_END, |
30 | VTERM_KEY_PAGEUP, |
31 | VTERM_KEY_PAGEDOWN, |
32 | |
33 | VTERM_KEY_FUNCTION_0 = 256, |
34 | VTERM_KEY_FUNCTION_MAX = VTERM_KEY_FUNCTION_0 + 255, |
35 | |
36 | VTERM_KEY_KP_0, |
37 | VTERM_KEY_KP_1, |
38 | VTERM_KEY_KP_2, |
39 | VTERM_KEY_KP_3, |
40 | VTERM_KEY_KP_4, |
41 | VTERM_KEY_KP_5, |
42 | VTERM_KEY_KP_6, |
43 | VTERM_KEY_KP_7, |
44 | VTERM_KEY_KP_8, |
45 | VTERM_KEY_KP_9, |
46 | VTERM_KEY_KP_MULT, |
47 | VTERM_KEY_KP_PLUS, |
48 | VTERM_KEY_KP_COMMA, |
49 | VTERM_KEY_KP_MINUS, |
50 | VTERM_KEY_KP_PERIOD, |
51 | VTERM_KEY_KP_DIVIDE, |
52 | VTERM_KEY_KP_ENTER, |
53 | VTERM_KEY_KP_EQUAL, |
54 | |
55 | VTERM_KEY_MAX, // Must be last |
56 | VTERM_N_KEYS = VTERM_KEY_MAX |
57 | } VTermKey; |
58 | |
59 | #define VTERM_KEY_FUNCTION(n) (VTERM_KEY_FUNCTION_0+(n)) |
60 | |
61 | #endif |
62 | |