]> git.tdb.fi Git - libs/gui.git/blob - source/input/keys.h
Support some additional keys
[libs/gui.git] / source / input / keys.h
1 #ifndef MSP_INPUT_KEYS_H_
2 #define MSP_INPUT_KEYS_H_
3
4 namespace Msp {
5 namespace Input {
6
7 enum
8 {
9         KEY_NONE = 0x00,
10
11         // Codes 0x01-0x7E reserved for ASCII
12         KEY_BACKSPACE = 0x08,
13         KEY_TAB = 0x09,
14         KEY_ENTER = 0x0A,
15         KEY_ESC = 0x1B,
16         KEY_SPACE = 0x20,
17
18         KEY_APOSTROPHE = 0x27,
19         KEY_PLUS = 0x2B,
20         KEY_COMMA = 0x2C,
21         KEY_MINUS = 0x2D,
22         KEY_PERIOD = 0x2E,
23         KEY_SLASH = 0x2F,
24
25         KEY_0 = 0x30,
26         KEY_1,
27         KEY_2,
28         KEY_3,
29         KEY_4,
30         KEY_5,
31         KEY_6,
32         KEY_7,
33         KEY_8,
34         KEY_9,
35
36         KEY_SEMICOLON = 0x3B,
37         KEY_LESS = 0x3C,
38         KEY_EQUAL = 0x3D,
39
40         KEY_A = 0x41,
41         KEY_B,
42         KEY_C,
43         KEY_D,
44         KEY_E,
45         KEY_F,
46         KEY_G,
47         KEY_H,
48         KEY_I,
49         KEY_J,
50         KEY_K,
51         KEY_L,
52         KEY_M,
53         KEY_N,
54         KEY_O,
55         KEY_P,
56         KEY_Q,
57         KEY_R,
58         KEY_S,
59         KEY_T,
60         KEY_U,
61         KEY_V,
62         KEY_W,
63         KEY_X,
64         KEY_Y,
65         KEY_Z,
66
67         KEY_BRACKET_L = 0x5B,
68         KEY_BACKSLASH = 0x5C,
69         KEY_BRACKET_R = 0x5D,
70         KEY_GRAVE = 0x60,
71
72         // Various non-ASCII characters
73         KEY_ADIAERESIS = 0x80,
74         KEY_ODIAERESIS,
75         KEY_UDIAERESIS,
76         KEY_ARING,
77
78         // Arrow keys
79         KEY_LEFT = 0xA0,
80         KEY_RIGHT,
81         KEY_UP,
82         KEY_DOWN,
83
84         // The block above arrow keys
85         KEY_HOME = 0xA8,
86         KEY_END,
87         KEY_PGUP,
88         KEY_PGDN,
89         KEY_INSERT,
90         KEY_DELETE,
91
92         // Function keys
93         KEY_F1 = 0xB1,
94         KEY_F2,
95         KEY_F3,
96         KEY_F4,
97         KEY_F5,
98         KEY_F6,
99         KEY_F7,
100         KEY_F8,
101         KEY_F9,
102         KEY_F10,
103         KEY_F11,
104         KEY_F12,
105
106         // Modifier keys
107         KEY_SHIFT_L = 0xC0,
108         KEY_SHIFT_R,
109         KEY_CTRL_L,
110         KEY_CTRL_R,
111         KEY_ALT_L,
112         KEY_ALT_R,
113         KEY_SUPER_L,
114         KEY_SUPER_R,
115         KEY_CAPS_LOCK,
116         KEY_SCROLL_LOCK,
117         KEY_NUM_LOCK,
118
119         // Keypad
120         KEY_KP0 = 0xD0,
121         KEY_KP1,
122         KEY_KP2,
123         KEY_KP3,
124         KEY_KP4,
125         KEY_KP5,
126         KEY_KP6,
127         KEY_KP7,
128         KEY_KP8,
129         KEY_KP9,
130         KEY_KP_ADD,
131         KEY_KP_SUBTRACT,
132         KEY_KP_MULTIPLY,
133         KEY_KP_DIVIDE,
134         KEY_KP_SEPARATOR,
135
136         // Miscellaneous keys
137         KEY_PAUSE = 0xE0,
138         KEY_PRINT_SCREEN,
139         KEY_MENU,
140         KEY_BACK,
141         KEY_VOLUME_UP,
142         KEY_VOLUME_DOWN,
143
144         N_KEYS_ = 0x100
145 };
146
147 } // namespace Input
148 } // namespace Msp
149
150 #endif