2 #ifndef ENIGMA_KEY_CODES_H
3 #define ENIGMA_KEY_CODES_H
6 #include <GLFW/glfw3.h>
11 typedef enum class KeyCode : std::uint16_t {
12 Space = GLFW_KEY_SPACE,
14 Comma = GLFW_KEY_COMMA,
15 Minus = GLFW_KEY_MINUS,
17 Slash = GLFW_KEY_SLASH,
31 Equal = GLFW_KEY_EQUAL,
70 Enter = GLFW_KEY_ENTER,
75 Right = GLFW_KEY_RIGHT,
87 Pause = GLFW_KEY_PAUSE,
129 KPAdd = GLFW_KEY_KP_ADD,
146 return os << static_cast<std::uint16_t>(keyCode);
150 #define ENIGMA_KEY_SPACE ::Enigma::Key::Space
151 #define ENIGMA_KEY_APOSTROPHE ::Enigma::Key::Apostrophe
152 #define ENIGMA_KEY_COMMA ::Enigma::Key::Comma
153 #define ENIGMA_KEY_MINUS ::Enigma::Key::Minus
154 #define ENIGMA_KEY_PERIOD ::Enigma::Key::Period
155 #define ENIGMA_KEY_SLASH ::Enigma::Key::Slash
156 #define ENIGMA_KEY_0 ::Enigma::Key::D0
157 #define ENIGMA_KEY_1 ::Enigma::Key::D1
158 #define ENIGMA_KEY_2 ::Enigma::Key::D2
159 #define ENIGMA_KEY_3 ::Enigma::Key::D3
160 #define ENIGMA_KEY_4 ::Enigma::Key::D4
161 #define ENIGMA_KEY_5 ::Enigma::Key::D5
162 #define ENIGMA_KEY_6 ::Enigma::Key::D6
163 #define ENIGMA_KEY_7 ::Enigma::Key::D7
164 #define ENIGMA_KEY_8 ::Enigma::Key::D8
165 #define ENIGMA_KEY_9 ::Enigma::Key::D9
166 #define ENIGMA_KEY_SEMICOLON ::Enigma::Key::Semicolon
167 #define ENIGMA_KEY_EQUAL ::Enigma::Key::Equal
168 #define ENIGMA_KEY_A ::Enigma::Key::A
169 #define ENIGMA_KEY_B ::Enigma::Key::B
170 #define ENIGMA_KEY_C ::Enigma::Key::C
171 #define ENIGMA_KEY_D ::Enigma::Key::D
172 #define ENIGMA_KEY_E ::Enigma::Key::E
173 #define ENIGMA_KEY_F ::Enigma::Key::F
174 #define ENIGMA_KEY_G ::Enigma::Key::G
175 #define ENIGMA_KEY_H ::Enigma::Key::H
176 #define ENIGMA_KEY_I ::Enigma::Key::I
177 #define ENIGMA_KEY_J ::Enigma::Key::J
178 #define ENIGMA_KEY_K ::Enigma::Key::K
179 #define ENIGMA_KEY_L ::Enigma::Key::L
180 #define ENIGMA_KEY_M ::Enigma::Key::M
181 #define ENIGMA_KEY_N ::Enigma::Key::N
182 #define ENIGMA_KEY_O ::Enigma::Key::O
183 #define ENIGMA_KEY_P ::Enigma::Key::P
184 #define ENIGMA_KEY_Q ::Enigma::Key::Q
185 #define ENIGMA_KEY_R ::Enigma::Key::R
186 #define ENIGMA_KEY_S ::Enigma::Key::S
187 #define ENIGMA_KEY_T ::Enigma::Key::T
188 #define ENIGMA_KEY_U ::Enigma::Key::U
189 #define ENIGMA_KEY_V ::Enigma::Key::V
190 #define ENIGMA_KEY_W ::Enigma::Key::W
191 #define ENIGMA_KEY_X ::Enigma::Key::X
192 #define ENIGMA_KEY_Y ::Enigma::Key::Y
193 #define ENIGMA_KEY_Z ::Enigma::Key::Z
194 #define ENIGMA_KEY_LEFT_BRACKET ::Enigma::Key::LeftBracket
195 #define ENIGMA_KEY_BACKSLASH ::Enigma::Key::Backslash
196 #define ENIGMA_KEY_RIGHT_BRACKET ::Enigma::Key::RightBracket
197 #define ENIGMA_KEY_GRAVE_ACCENT ::Enigma::Key::GraveAccent
198 #define ENIGMA_KEY_WORLD_1 ::Enigma::Key::World1
199 #define ENIGMA_KEY_WORLD_2 ::Enigma::Key::World2
202 #define ENIGMA_KEY_ESCAPE ::Enigma::Key::Escape
203 #define ENIGMA_KEY_ENTER ::Enigma::Key::Enter
204 #define ENIGMA_KEY_TAB ::Enigma::Key::Tab
205 #define ENIGMA_KEY_BACKSPACE ::Enigma::Key::Backspace
206 #define ENIGMA_KEY_INSERT ::Enigma::Key::Insert
207 #define ENIGMA_KEY_DELETE ::Enigma::Key::Delete
208 #define ENIGMA_KEY_RIGHT ::Enigma::Key::Right
209 #define ENIGMA_KEY_LEFT ::Enigma::Key::Left
210 #define ENIGMA_KEY_DOWN ::Enigma::Key::Down
211 #define ENIGMA_KEY_UP ::Enigma::Key::Up
212 #define ENIGMA_KEY_PAGE_UP ::Enigma::Key::PageUp
213 #define ENIGMA_KEY_PAGE_DOWN ::Enigma::Key::PageDown
214 #define ENIGMA_KEY_HOME ::Enigma::Key::Home
215 #define ENIGMA_KEY_END ::Enigma::Key::End
216 #define ENIGMA_KEY_CAPS_LOCK ::Enigma::Key::CapsLock
217 #define ENIGMA_KEY_SCROLL_LOCK ::Enigma::Key::ScrollLock
218 #define ENIGMA_KEY_NUM_LOCK ::Enigma::Key::NumLock
219 #define ENIGMA_KEY_PRINT_SCREEN ::Enigma::Key::PrintScreen
220 #define ENIGMA_KEY_PAUSE ::Enigma::Key::Pause
221 #define ENIGMA_KEY_F1 ::Enigma::Key::F1
222 #define ENIGMA_KEY_F2 ::Enigma::Key::F2
223 #define ENIGMA_KEY_F3 ::Enigma::Key::F3
224 #define ENIGMA_KEY_F4 ::Enigma::Key::F4
225 #define ENIGMA_KEY_F5 ::Enigma::Key::F5
226 #define ENIGMA_KEY_F6 ::Enigma::Key::F6
227 #define ENIGMA_KEY_F7 ::Enigma::Key::F7
228 #define ENIGMA_KEY_F8 ::Enigma::Key::F8
229 #define ENIGMA_KEY_F9 ::Enigma::Key::F9
230 #define ENIGMA_KEY_F10 ::Enigma::Key::F10
231 #define ENIGMA_KEY_F11 ::Enigma::Key::F11
232 #define ENIGMA_KEY_F12 ::Enigma::Key::F12
233 #define ENIGMA_KEY_F13 ::Enigma::Key::F13
234 #define ENIGMA_KEY_F14 ::Enigma::Key::F14
235 #define ENIGMA_KEY_F15 ::Enigma::Key::F15
236 #define ENIGMA_KEY_F16 ::Enigma::Key::F16
237 #define ENIGMA_KEY_F17 ::Enigma::Key::F17
238 #define ENIGMA_KEY_F18 ::Enigma::Key::F18
239 #define ENIGMA_KEY_F19 ::Enigma::Key::F19
240 #define ENIGMA_KEY_F20 ::Enigma::Key::F20
241 #define ENIGMA_KEY_F21 ::Enigma::Key::F21
242 #define ENIGMA_KEY_F22 ::Enigma::Key::F22
243 #define ENIGMA_KEY_F23 ::Enigma::Key::F23
244 #define ENIGMA_KEY_F24 ::Enigma::Key::F24
245 #define ENIGMA_KEY_F25 ::Enigma::Key::F25
248 #define ENIGMA_KEY_KP_0 ::Enigma::Key::KP0
249 #define ENIGMA_KEY_KP_1 ::Enigma::Key::KP1
250 #define ENIGMA_KEY_KP_2 ::Enigma::Key::KP2
251 #define ENIGMA_KEY_KP_3 ::Enigma::Key::KP3
252 #define ENIGMA_KEY_KP_4 ::Enigma::Key::KP4
253 #define ENIGMA_KEY_KP_5 ::Enigma::Key::KP5
254 #define ENIGMA_KEY_KP_6 ::Enigma::Key::KP6
255 #define ENIGMA_KEY_KP_7 ::Enigma::Key::KP7
256 #define ENIGMA_KEY_KP_8 ::Enigma::Key::KP8
257 #define ENIGMA_KEY_KP_9 ::Enigma::Key::KP9
258 #define ENIGMA_KEY_KP_DECIMAL ::Enigma::Key::KPDecimal
259 #define ENIGMA_KEY_KP_DIVIDE ::Enigma::Key::KPDivide
260 #define ENIGMA_KEY_KP_MULTIPLY ::Enigma::Key::KPMultiply
261 #define ENIGMA_KEY_KP_SUBTRACT ::Enigma::Key::KPSubtract
262 #define ENIGMA_KEY_KP_ADD ::Enigma::Key::KPAdd
263 #define ENIGMA_KEY_KP_ENTER ::Enigma::Key::KPEnter
264 #define ENIGMA_KEY_KP_EQUAL ::Enigma::Key::KPEqual
266 #define ENIGMA_KEY_LEFT_SHIFT ::Enigma::Key::LeftShift
267 #define ENIGMA_KEY_LEFT_CONTROL ::Enigma::Key::LeftControl
268 #define ENIGMA_KEY_LEFT_ALT ::Enigma::Key::LeftAlt
269 #define ENIGMA_KEY_LEFT_SUPER ::Enigma::Key::LeftSuper
270 #define ENIGMA_KEY_RIGHT_SHIFT ::Enigma::Key::RightShift
271 #define ENIGMA_KEY_RIGHT_CONTROL ::Enigma::Key::RightControl
272 #define ENIGMA_KEY_RIGHT_ALT ::Enigma::Key::RightAlt
273 #define ENIGMA_KEY_RIGHT_SUPER ::Enigma::Key::RightSuper
274 #define ENIGMA_KEY_MENU ::Enigma::Key::Menu
NS_ENIGMA_BEGIN enum KeyCode Key
std::ostream & operator<<(std::ostream &os, const KeyCode &keyCode)
#define NS_ENIGMA_BEGIN
Enable/Disable Assertions.