Lugdunum  0.1.0
Keyboard.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <lug/Window/Export.hpp>
4 #if defined(LUG_SYSTEM_WINDOWS)
5 #ifndef WIN32_LEAN_AND_MEAN
6  #define WIN32_LEAN_AND_MEAN
7 #endif
8 #define NOMINMAX
9 #include <Windows.h>
10 #elif defined(LUG_SYSTEM_LINUX)
11 #include <X11/keysym.h>
12 #else
13 // Insert error message here
14 #endif
15 
16 namespace lug {
17 namespace Window {
18 namespace Keyboard {
19 
23 enum class LUG_WINDOW_API Key : int {
24  Unknown, // Unhandled key
25 
26  // Basic keys
27  A, // The A key
28  B, // The B key
29  C, // The C key
30  D, // The D key
31  E, // The E key
32  F, // The F key
33  G, // The G key
34  H, // The H key
35  I, // The I key
36  J, // The J key
37  K, // The K key
38  L, // The L key
39  M, // The M key
40  N, // The N key
41  O, // The O key
42  P, // The P key
43  Q, // The Q key
44  R, // The R key
45  S, // The S key
46  T, // The T key
47  U, // The U key
48  V, // The V key
49  W, // The W key
50  X, // The X key
51  Y, // The Y key
52  Z, // The Z key
53 
54  Num0, // The 0 key
55  Num1, // The 1 key
56  Num2, // The 2 key
57  Num3, // The 3 key
58  Num4, // The 4 key
59  Num5, // The 5 key
60  Num6, // The 6 key
61  Num7, // The 7 key
62  Num8, // The 8 key
63  Num9, // The 9 key
64 
65  // Modifiers
66  LControl, // The left Control key
67  LShift, // The left Shift key
68  LAlt, // The left Alt key
69  LSystem, // The left OS specific key: window (Windows and Linux), apple (macOS), ...
70  RControl, // The right Control key
71  RShift, // The right Shift key
72  RAlt, // The right Alt key
73  RSystem, // The right OS specific key: window (Windows and Linux), apple (macOS), ...
74 
75  // Advanced keys
76  Menu, // The Menu key
77  LBracket, // The [ key
78  RBracket, // The ] key
79  SemiColon, // The ; key
80  Comma, // The , key
81  Period, // The . key
82  Quote, // The ' key
83  Slash, // The / key
84  BackSlash, // The \ key
85  Tilde, // The ~ key
86  Equal, // The = key
87  Dash, // The - key
88  Space, // The Space key
89  Return, // The Return key
90  BackSpace, // The Backspace key
91  Tab, // The Tabulation key
92  PageUp, // The Page up key
93  PageDown, // The Page down key
94  End, // The End key
95  Home, // The Home key
96  Insert, // The Insert key
97  Delete, // The Delete key
98  Add, // The + key
99  Subtract, // The - key
100  Multiply, // The * key
101  Divide, // The / key
102  Left, // Left arrow
103  Right, // Right arrow
104  Up, // Up arrow
105  Down, // Down arrow
106  Pause, // The Pause key
107  CapsLock, // The Caps Lock key
108  Escape, // The Escape key
109 
110  // AZERTY Specifics
111  Twosuperior, // The ² key
112  Ampersand, // The & key
113  Eacute, // The é key
114  QuoteDouble, // The " key
115  LParen, // The ( key
116  Egrave, // The è key
117  Underscore, // The _ key
118  Ccedilla, // The ç key
119  Agrave, // The à key
120  RParen, // The ) key
121  DeadCircumflex, // The ^ key (dead variant)
122  Ugrave, // The ù key
123  Asterisk, // The * key
124  Dollar, // The $ key
125  Colon, // The : key
126  Exclam, // The ! key
127  Less, // The < key
128  Greater, // The > key
129 
130  // Numpad
131  Numpad0, // The numpad 0 key
132  Numpad1, // The numpad 1 key
133  Numpad2, // The numpad 2 key
134  Numpad3, // The numpad 3 key
135  Numpad4, // The numpad 4 key
136  Numpad5, // The numpad 5 key
137  Numpad6, // The numpad 6 key
138  Numpad7, // The numpad 7 key
139  Numpad8, // The numpad 8 key
140  Numpad9, // The numpad 9 key
141 
142  // Function keys
143  F1, // The F1 key
144  F2, // The F2 key
145  F3, // The F3 key
146  F4, // The F4 key
147  F5, // The F5 key
148  F6, // The F6 key
149  F7, // The F7 key
150  F8, // The F8 key
151  F9, // The F9 key
152  F10, // The F10 key
153  F11, // The F11 key
154  F12, // The F12 key
155  F13, // The F13 key
156  F14, // The F14 key
157  F15, // The F15 key
158 
160 };
161 
162 } // namespace Keyboard
163 } // namespace Window
164 } // namespace lug
Key
Abstraction of keyboard keys.
Definition: Keyboard.hpp:23
#define LUG_WINDOW_API
Definition: Export.hpp:11