NRE_WindowsKeyTranslater.hpp
Go to the documentation of this file.
1 
10  #pragma once
11 
12  #include "../../../../../System/Event/Input/Keys/NRE_Keys.hpp"
13  #include <Windows.h>
14 
19  namespace NRE {
24  namespace Event {
25 
30  class KeyTranslater {
31  public : // Methods
32  //## Methods ##//
39  KeyCode translateKey(WPARAM wParam, LPARAM lParam) const;
40 
41 
42  private : // Static
47  static constexpr KeyCode translationMap[] = {
48  KeyCode::NONE,
49  KeyCode::NONE,
50  KeyCode::NONE,
51  KeyCode::NONE,
52  KeyCode::NONE,
53  KeyCode::NONE,
54  KeyCode::NONE,
55  KeyCode::NONE,
56  KeyCode::BACKSPACE,
57  KeyCode::TAB,
58  KeyCode::NONE,
59  KeyCode::NONE,
60  KeyCode::CLEAR,
61  KeyCode::ENTER,
62  KeyCode::NONE,
63  KeyCode::NONE,
64  KeyCode::SHIFT,
65  KeyCode::CONTROL,
66  KeyCode::ALT,
67  KeyCode::PAUSE,
68  KeyCode::CAPS_LOCK,
69  KeyCode::LANG_1,
70  KeyCode::NONE,
71  KeyCode::NONE,
72  KeyCode::NONE,
73  KeyCode::LANG_2,
74  KeyCode::NONE,
75  KeyCode::ESCAPE,
76  KeyCode::NONE,
77  KeyCode::NONE,
78  KeyCode::NONE,
79  KeyCode::NONE,
80  KeyCode::SPACE,
81  KeyCode::PAGE_UP,
82  KeyCode::PAGE_DOWN,
83  KeyCode::END,
84  KeyCode::HOME,
85  KeyCode::LEFT,
86  KeyCode::UP,
87  KeyCode::RIGHT,
88  KeyCode::DOWN,
89  KeyCode::NONE,
90  KeyCode::PRINT_SCREEN,
91  KeyCode::OPEN,
92  KeyCode::PRINT_SCREEN,
93  KeyCode::INSERT,
94  KeyCode::DELETE_KEY,
95  KeyCode::HELP,
96  KeyCode::NUM_0,
97  KeyCode::NUM_1,
98  KeyCode::NUM_2,
99  KeyCode::NUM_3,
100  KeyCode::NUM_4,
101  KeyCode::NUM_5,
102  KeyCode::NUM_6,
103  KeyCode::NUM_7,
104  KeyCode::NUM_8,
105  KeyCode::NUM_9,
106  KeyCode::NONE,
107  KeyCode::NONE,
108  KeyCode::NONE,
109  KeyCode::NONE,
110  KeyCode::NONE,
111  KeyCode::NONE,
112  KeyCode::NONE,
113  KeyCode::A,
114  KeyCode::B,
115  KeyCode::C,
116  KeyCode::D,
117  KeyCode::E,
118  KeyCode::F,
119  KeyCode::G,
120  KeyCode::H,
121  KeyCode::I,
122  KeyCode::J,
123  KeyCode::K,
124  KeyCode::L,
125  KeyCode::M,
126  KeyCode::N,
127  KeyCode::O,
128  KeyCode::P,
129  KeyCode::Q,
130  KeyCode::R,
131  KeyCode::S,
132  KeyCode::T,
133  KeyCode::U,
134  KeyCode::V,
135  KeyCode::W,
136  KeyCode::X,
137  KeyCode::Y,
138  KeyCode::Z,
139  KeyCode::LEFT_META,
140  KeyCode::RIGHT_META,
141  KeyCode::OPEN,
142  KeyCode::NONE,
143  KeyCode::MEDIA_SLEEP,
144  KeyCode::KEYPAD_0,
145  KeyCode::KEYPAD_1,
146  KeyCode::KEYPAD_2,
147  KeyCode::KEYPAD_3,
148  KeyCode::KEYPAD_4,
149  KeyCode::KEYPAD_5,
150  KeyCode::KEYPAD_6,
151  KeyCode::KEYPAD_7,
152  KeyCode::KEYPAD_8,
153  KeyCode::KEYPAD_9,
154  KeyCode::KEYPAD_ASTERISK,
155  KeyCode::KEYPAD_PLUS,
156  KeyCode::SEPARATOR,
157  KeyCode::KEYPAD_MINUS,
158  KeyCode::KEYPAD_DECIMAL,
159  KeyCode::KEYPAD_SLASH,
160  KeyCode::F1,
161  KeyCode::F2,
162  KeyCode::F3,
163  KeyCode::F4,
164  KeyCode::F5,
165  KeyCode::F6,
166  KeyCode::F7,
167  KeyCode::F8,
168  KeyCode::F9,
169  KeyCode::F10,
170  KeyCode::F11,
171  KeyCode::F12,
172  KeyCode::F13,
173  KeyCode::F14,
174  KeyCode::F15,
175  KeyCode::F16,
176  KeyCode::F17,
177  KeyCode::F18,
178  KeyCode::F19,
179  KeyCode::F20,
180  KeyCode::F21,
181  KeyCode::F22,
182  KeyCode::F23,
183  KeyCode::F24,
184  KeyCode::NONE,
185  KeyCode::NONE,
186  KeyCode::NONE,
187  KeyCode::NONE,
188  KeyCode::NONE,
189  KeyCode::NONE,
190  KeyCode::NONE,
191  KeyCode::NONE,
192  KeyCode::NUM_LOCK,
193  KeyCode::SCROLL_LOCK,
194  KeyCode::NONE,
195  KeyCode::NONE,
196  KeyCode::NONE,
197  KeyCode::NONE,
198  KeyCode::NONE,
199  KeyCode::NONE,
200  KeyCode::NONE,
201  KeyCode::NONE,
202  KeyCode::NONE,
203  KeyCode::NONE,
204  KeyCode::NONE,
205  KeyCode::NONE,
206  KeyCode::NONE,
207  KeyCode::NONE,
208  KeyCode::LEFT_SHIFT,
209  KeyCode::RIGHT_SHIFT,
210  KeyCode::LEFT_CONTROL,
211  KeyCode::RIGHT_CONTROL,
212  KeyCode::OPEN,
213  KeyCode::OPEN,
214  KeyCode::MEDIA_BACK,
215  KeyCode::MEDIA_FORWARD,
216  KeyCode::MEDIA_REFRESH,
217  KeyCode::MEDIA_STOP,
218  KeyCode::NONE,
219  KeyCode::NONE,
220  KeyCode::NONE,
221  KeyCode::MUTE,
222  KeyCode::VOLUME_DOWN,
223  KeyCode::VOLUME_UP,
224  KeyCode::MEDIA_NEXT_SONG,
225  KeyCode::MEDIA_PREVIOUS_SONG,
226  KeyCode::MEDIA_STOP,
227  KeyCode::MEDIA_PLAY_PAUSE,
228  KeyCode::NONE,
229  KeyCode::NONE,
230  KeyCode::NONE,
231  KeyCode::NONE,
232  KeyCode::NONE,
233  KeyCode::NONE,
234  KeyCode::SEMICOLON,
235  KeyCode::KEYPAD_EQUALS,
236  KeyCode::COMMA,
237  KeyCode::MINUS,
238  KeyCode::DOT,
239  KeyCode::SLASH,
240  KeyCode::NON_US_HASH_TILDE,
241  KeyCode::NONE,
242  KeyCode::NONE,
243  KeyCode::NONE,
244  KeyCode::NONE,
245  KeyCode::NONE,
246  KeyCode::NONE,
247  KeyCode::NONE,
248  KeyCode::NONE,
249  KeyCode::NONE,
250  KeyCode::NONE,
251  KeyCode::NONE,
252  KeyCode::NONE,
253  KeyCode::NONE,
254  KeyCode::NONE,
255  KeyCode::NONE,
256  KeyCode::NONE,
257  KeyCode::NONE,
258  KeyCode::NONE,
259  KeyCode::NONE,
260  KeyCode::NONE,
261  KeyCode::NONE,
262  KeyCode::NONE,
263  KeyCode::NONE,
264  KeyCode::NONE,
265  KeyCode::NONE,
266  KeyCode::NONE,
267  KeyCode::LEFT_BRACE,
268  KeyCode::BACKSLASH,
269  KeyCode::RIGHT_BRACE,
270  KeyCode::APOSTROPHE,
271  KeyCode::KEYPAD_EXCLAMATION,
272  KeyCode::NONE,
273  KeyCode::NONE,
274  KeyCode::NON_US_BACKSLASH,
275  KeyCode::NONE,
276  KeyCode::NONE,
277  KeyCode::NONE,
278  KeyCode::NONE,
279  KeyCode::NONE,
280  KeyCode::NONE,
281  KeyCode::NONE,
282  KeyCode::NONE,
283  KeyCode::NONE,
284  KeyCode::NONE,
285  KeyCode::NONE,
286  KeyCode::NONE,
287  KeyCode::NONE,
288  KeyCode::NONE,
289  KeyCode::NONE,
290  KeyCode::NONE,
291  KeyCode::NONE,
292  KeyCode::NONE,
293  KeyCode::NONE,
294  KeyCode::PAUSE,
295  KeyCode::CR_SEL_PROPS,
296  KeyCode::EX_SEL,
297  KeyCode::KEYPAD_CLEAR_ENTRY,
298  KeyCode::MEDIA_PLAY_PAUSE,
299  KeyCode::NONE,
300  KeyCode::NONE,
301  KeyCode::NONE,
302  KeyCode::KEYPAD_CLEAR_ENTRY
303  };
304  };
305  }
306  }
307 
308  #include "NRE_WindowsKeyTranslater.tpp"
KeyCode
Definition: NRE_Keys.hpp:27
Event&#39;s API.
KeyCode translateKey(XKeyEvent const &keyEvent) const
Definition: NRE_LinuxKeyTranslater.cpp:22
The NearlyRealEngine&#39;s global namespace.