1#ifndef __VTERM_INPUT_H__
2#define __VTERM_INPUT_H__
3
4typedef 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
13typedef 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