Enigma 3.2.2
A Simple, Reliable and Efficient Encryption Tool
Loading...
Searching...
No Matches
KeyCodes.hpp
Go to the documentation of this file.
1#pragma once
2#ifndef ENIGMA_KEY_CODES_H
3#define ENIGMA_KEY_CODES_H
4
5#include <Core/Core.hpp>
6#include <GLFW/glfw3.h>
7
9
11typedef enum class KeyCode : std::uint16_t {
12 Space = GLFW_KEY_SPACE,
13 Apostrophe = GLFW_KEY_APOSTROPHE, /* ' */
14 Comma = GLFW_KEY_COMMA, /* , */
15 Minus = GLFW_KEY_MINUS, /* - */
16 Period = GLFW_KEY_PERIOD, /* . */
17 Slash = GLFW_KEY_SLASH, /* / */
18
19 D0 = GLFW_KEY_0, /* 0 */
20 D1 = GLFW_KEY_1, /* 1 */
21 D2 = GLFW_KEY_2, /* 2 */
22 D3 = GLFW_KEY_3, /* 3 */
23 D4 = GLFW_KEY_4, /* 4 */
24 D5 = GLFW_KEY_5, /* 5 */
25 D6 = GLFW_KEY_6, /* 6 */
26 D7 = GLFW_KEY_7, /* 7 */
27 D8 = GLFW_KEY_8, /* 8 */
28 D9 = GLFW_KEY_9, /* 9 */
29
30 Semicolon = GLFW_KEY_SEMICOLON, /* ; */
31 Equal = GLFW_KEY_EQUAL, /* = */
32
33 A = GLFW_KEY_A,
34 B = GLFW_KEY_B,
35 C = GLFW_KEY_C,
36 D = GLFW_KEY_D,
37 E = GLFW_KEY_E,
38 F = GLFW_KEY_F,
39 G = GLFW_KEY_G,
40 H = GLFW_KEY_H,
41 I = GLFW_KEY_I,
42 J = GLFW_KEY_J,
43 K = GLFW_KEY_K,
44 L = GLFW_KEY_L,
45 M = GLFW_KEY_M,
46 N = GLFW_KEY_N,
47 O = GLFW_KEY_O,
48 P = GLFW_KEY_P,
49 Q = GLFW_KEY_Q,
50 R = GLFW_KEY_R,
51 S = GLFW_KEY_S,
52 T = GLFW_KEY_T,
53 U = GLFW_KEY_U,
54 V = GLFW_KEY_V,
55 W = GLFW_KEY_W,
56 X = GLFW_KEY_X,
57 Y = GLFW_KEY_Y,
58 Z = GLFW_KEY_Z,
59
60 LeftBracket = GLFW_KEY_LEFT_BRACKET, /* [ */
61 Backslash = GLFW_KEY_BACKSLASH, /* \ */
62 RightBracket = GLFW_KEY_RIGHT_BRACKET, /* ] */
63 GraveAccent = GLFW_KEY_GRAVE_ACCENT, /* ` */
64
65 World1 = GLFW_KEY_WORLD_1, /* non-US #1 */
66 World2 = GLFW_KEY_WORLD_2, /* non-US #2 */
67
68 /* Function keys */
69 Escape = GLFW_KEY_ESCAPE,
70 Enter = GLFW_KEY_ENTER, // OR RETURN
71 Tab = GLFW_KEY_TAB,
72 Backspace = GLFW_KEY_BACKSPACE,
73 Insert = GLFW_KEY_INSERT,
74 Delete = GLFW_KEY_DELETE,
75 Right = GLFW_KEY_RIGHT,
76 Left = GLFW_KEY_LEFT,
77 Down = GLFW_KEY_DOWN,
78 Up = GLFW_KEY_UP,
79 PageUp = GLFW_KEY_PAGE_UP,
80 PageDown = GLFW_KEY_PAGE_DOWN,
81 Home = GLFW_KEY_HOME,
82 End = GLFW_KEY_END,
83 CapsLock = GLFW_KEY_CAPS_LOCK,
84 ScrollLock = GLFW_KEY_SCROLL_LOCK,
85 NumLock = GLFW_KEY_NUM_LOCK,
86 PrintScreen = GLFW_KEY_PRINT_SCREEN,
87 Pause = GLFW_KEY_PAUSE,
88 F1 = GLFW_KEY_F1,
89 F2 = GLFW_KEY_F2,
90 F3 = GLFW_KEY_F3,
91 F4 = GLFW_KEY_F4,
92 F5 = GLFW_KEY_F5,
93 F6 = GLFW_KEY_F6,
94 F7 = GLFW_KEY_F7,
95 F8 = GLFW_KEY_F8,
96 F9 = GLFW_KEY_F9,
97 F10 = GLFW_KEY_F10,
98 F11 = GLFW_KEY_F11,
99 F12 = GLFW_KEY_F12,
100 F13 = GLFW_KEY_F13,
101 F14 = GLFW_KEY_F14,
102 F15 = GLFW_KEY_F15,
103 F16 = GLFW_KEY_F16,
104 F17 = GLFW_KEY_F17,
105 F18 = GLFW_KEY_F18,
106 F19 = GLFW_KEY_F19,
107 F20 = GLFW_KEY_F20,
108 F21 = GLFW_KEY_F21,
109 F22 = GLFW_KEY_F22,
110 F23 = GLFW_KEY_F23,
111 F24 = GLFW_KEY_F24,
112 F25 = GLFW_KEY_F25,
113
114 /* Keypad */
115 KP0 = GLFW_KEY_KP_0,
116 KP1 = GLFW_KEY_KP_1,
117 KP2 = GLFW_KEY_KP_2,
118 KP3 = GLFW_KEY_KP_3,
119 KP4 = GLFW_KEY_KP_4,
120 KP5 = GLFW_KEY_KP_5,
121 KP6 = GLFW_KEY_KP_6,
122 KP7 = GLFW_KEY_KP_7,
123 KP8 = GLFW_KEY_KP_8,
124 KP9 = GLFW_KEY_KP_9,
125 KPDecimal = GLFW_KEY_KP_DECIMAL,
126 KPDivide = GLFW_KEY_KP_DIVIDE,
127 KPMultiply = GLFW_KEY_KP_MULTIPLY,
128 KPSubtract = GLFW_KEY_KP_SUBTRACT,
129 KPAdd = GLFW_KEY_KP_ADD,
130 KPEnter = GLFW_KEY_KP_ENTER,
131 KPEqual = GLFW_KEY_KP_EQUAL,
132
133 LeftShift = GLFW_KEY_LEFT_SHIFT,
134 LeftControl = GLFW_KEY_LEFT_CONTROL,
135 LeftAlt = GLFW_KEY_LEFT_ALT,
136 LeftSuper = GLFW_KEY_LEFT_SUPER,
137 RightShift = GLFW_KEY_RIGHT_SHIFT,
138 RightControl = GLFW_KEY_RIGHT_CONTROL,
139 RightAlt = GLFW_KEY_RIGHT_ALT,
140 RightSuper = GLFW_KEY_RIGHT_SUPER,
141 Menu = GLFW_KEY_MENU
143
144
145inline std::ostream& operator<<(std::ostream& os, const KeyCode& keyCode) {
146 return os << static_cast<std::uint16_t>(keyCode);
147}
148
149
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 /* non-US #1 */
199#define ENIGMA_KEY_WORLD_2 ::Enigma::Key::World2 /* non-US #2 */
200
201/* Function keys */
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
246
247/* Keypad */
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
265
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
275
276
278
279#endif // !ENIGMA_KEY_CODES_H
KeyCode
Definition KeyCodes.hpp:11
@ RightBracket
@ RightControl
NS_ENIGMA_BEGIN enum KeyCode Key
std::ostream & operator<<(std::ostream &os, const KeyCode &keyCode)
Definition KeyCodes.hpp:145
#define NS_ENIGMA_BEGIN
Enable/Disable Assertions.
Definition Macros.hpp:13
#define NS_ENIGMA_END
Definition Macros.hpp:14