Mercurial > molko
comparison libcore/core/key.h @ 121:789b23e01f52
misc: reorganize hierarchy, closes #2490
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 05 Oct 2020 13:25:06 +0200 |
parents | src/core/key.h@6203e1ac9b18 |
children |
comparison
equal
deleted
inserted
replaced
120:b3429b26d60d | 121:789b23e01f52 |
---|---|
1 /* | |
2 * key.h -- keyboard definitions | |
3 * | |
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr> | |
5 * | |
6 * Permission to use, copy, modify, and/or distribute this software for any | |
7 * purpose with or without fee is hereby granted, provided that the above | |
8 * copyright notice and this permission notice appear in all copies. | |
9 * | |
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
17 */ | |
18 | |
19 #ifndef MOLKO_KEY_H | |
20 #define MOLKO_KEY_H | |
21 | |
22 /** | |
23 * \file key.h | |
24 * \brief Keyboard definitions. | |
25 * \ingroup input | |
26 */ | |
27 | |
28 /** | |
29 * \brief Key codes. | |
30 */ | |
31 enum key { | |
32 KEY_UNKNOWN, | |
33 KEY_ENTER, | |
34 KEY_ESCAPE, | |
35 KEY_BACKSPACE, | |
36 KEY_TAB, | |
37 KEY_SPACE, | |
38 KEY_EXCLAIM, | |
39 KEY_DOUBLE_QUOTE, | |
40 KEY_HASH, | |
41 KEY_PERCENT, | |
42 KEY_DOLLAR, | |
43 KEY_AMPERSAND, | |
44 KEY_QUOTE, | |
45 KEY_LEFT_PAREN, | |
46 KEY_RIGHT_PAREN, | |
47 KEY_ASTERISK, | |
48 KEY_PLUS, | |
49 KEY_COMMA, | |
50 KEY_MINUS, | |
51 KEY_PERIOD, | |
52 KEY_SLASH, | |
53 KEY_0, | |
54 KEY_1, | |
55 KEY_2, | |
56 KEY_3, | |
57 KEY_4, | |
58 KEY_5, | |
59 KEY_6, | |
60 KEY_7, | |
61 KEY_8, | |
62 KEY_9, | |
63 KEY_COLON, | |
64 KEY_SEMICOLON, | |
65 KEY_LESS, | |
66 KEY_EQUALS, | |
67 KEY_GREATER, | |
68 KEY_QUESTION, | |
69 KEY_AT, | |
70 KEY_LEFT_BRACKET, | |
71 KEY_BACKSLASH, | |
72 KEY_RIGHT_BRACKET, | |
73 KEY_CARET, | |
74 KEY_UNDERSCORE, | |
75 KEY_BACKQUOTE, | |
76 KEY_a, | |
77 KEY_b, | |
78 KEY_c, | |
79 KEY_d, | |
80 KEY_e, | |
81 KEY_f, | |
82 KEY_g, | |
83 KEY_h, | |
84 KEY_i, | |
85 KEY_j, | |
86 KEY_k, | |
87 KEY_l, | |
88 KEY_m, | |
89 KEY_n, | |
90 KEY_o, | |
91 KEY_p, | |
92 KEY_q, | |
93 KEY_r, | |
94 KEY_s, | |
95 KEY_t, | |
96 KEY_u, | |
97 KEY_v, | |
98 KEY_w, | |
99 KEY_x, | |
100 KEY_y, | |
101 KEY_z, | |
102 KEY_CAPSLOCK, | |
103 KEY_F1, | |
104 KEY_F2, | |
105 KEY_F3, | |
106 KEY_F4, | |
107 KEY_F5, | |
108 KEY_F6, | |
109 KEY_F7, | |
110 KEY_F8, | |
111 KEY_F9, | |
112 KEY_F10, | |
113 KEY_F11, | |
114 KEY_F12, | |
115 KEY_F13, | |
116 KEY_F14, | |
117 KEY_F15, | |
118 KEY_F16, | |
119 KEY_F17, | |
120 KEY_F18, | |
121 KEY_F19, | |
122 KEY_F20, | |
123 KEY_F21, | |
124 KEY_F22, | |
125 KEY_F23, | |
126 KEY_F24, | |
127 KEY_PRINTSCREEN, | |
128 KEY_SCROLLLOCK, | |
129 KEY_PAUSE, | |
130 KEY_INSERT, | |
131 KEY_HOME, | |
132 KEY_PAGEUP, | |
133 KEY_DELETE, | |
134 KEY_END, | |
135 KEY_PAGEDOWN, | |
136 KEY_RIGHT, | |
137 KEY_LEFT, | |
138 KEY_DOWN, | |
139 KEY_UP, | |
140 KEY_NUMLOCKCLEAR, | |
141 KEY_KP_DIVIDE, | |
142 KEY_KP_MULTIPLY, | |
143 KEY_KP_MINUS, | |
144 KEY_KP_PLUS, | |
145 KEY_KP_ENTER, | |
146 KEY_KP_00, | |
147 KEY_KP_000, | |
148 KEY_KP_1, | |
149 KEY_KP_2, | |
150 KEY_KP_3, | |
151 KEY_KP_4, | |
152 KEY_KP_5, | |
153 KEY_KP_6, | |
154 KEY_KP_7, | |
155 KEY_KP_8, | |
156 KEY_KP_9, | |
157 KEY_KP_0, | |
158 KEY_KP_PERIOD, | |
159 KEY_KP_COMMA, | |
160 KEY_MENU, | |
161 KEY_MUTE, | |
162 KEY_VOLUME_UP, | |
163 KEY_VOLUME_DOWN, | |
164 KEY_LCTRL, | |
165 KEY_LSHIFT, | |
166 KEY_LALT, | |
167 KEY_LSUPER, | |
168 KEY_RCTRL, | |
169 KEY_RSHIFT, | |
170 KEY_RALT, | |
171 KEY_RSUPER, | |
172 }; | |
173 | |
174 /** | |
175 * \brief Keybord modifiers. | |
176 * | |
177 * This enumeration is usually stored as OR'ed flags as several modifiers can | |
178 * be pressed at a time. | |
179 */ | |
180 enum keymod { | |
181 KEYMOD_LSHIFT = 1 << 0, /*!< Left shift */ | |
182 KEYMOD_LCTRL = 1 << 1, /*!< Left control */ | |
183 KEYMOD_LALT = 1 << 2, /*!< Left alt */ | |
184 KEYMOD_LSUPER = 1 << 3, /*!< Left super (logo) */ | |
185 KEYMOD_RSHIFT = 1 << 4, /*!< Right shift */ | |
186 KEYMOD_RCTRL = 1 << 5, /*!< Right control */ | |
187 KEYMOD_RALT = 1 << 6, /*!< Right alt */ | |
188 KEYMOD_RSUPER = 1 << 7 /*!< Right super (logo) */ | |
189 }; | |
190 | |
191 #endif /* !MOLKO_KEY_H */ |