12 #include "../../../../../System/Event/Input/Keys/NRE_Keys.hpp" 14 #include <X11/keysym.h> 47 struct NativeKeyToKey {
55 static constexpr NativeKeyToKey translationMap[] {
56 { XK_Right, KeyCode::RIGHT },
57 { XK_Left, KeyCode::LEFT },
58 { XK_Down, KeyCode::DOWN },
59 { XK_Up, KeyCode::UP },
60 { XK_space, KeyCode::SPACE },
61 { XK_Return, KeyCode::ENTER },
62 { XK_Escape, KeyCode::ESCAPE },
63 { XK_BackSpace, KeyCode::BACKSPACE },
64 { XK_Tab, KeyCode::TAB },
65 { XK_Caps_Lock, KeyCode::CAPS_LOCK },
66 { XK_Control_L, KeyCode::LEFT_CONTROL },
67 { XK_Shift_L, KeyCode::LEFT_SHIFT },
68 { XK_Alt_L, KeyCode::LEFT_ALT },
69 { XK_Meta_L, KeyCode::LEFT_META },
70 { XK_Super_L, KeyCode::LEFT_META },
71 { XK_Control_R, KeyCode::RIGHT_CONTROL },
72 { XK_Shift_R, KeyCode::RIGHT_SHIFT },
73 { XK_Alt_R, KeyCode::RIGHT_ALT },
74 { XK_ISO_Level3_Shift, KeyCode::RIGHT_ALT },
75 { XK_Meta_R, KeyCode::RIGHT_META },
76 { XK_Super_R, KeyCode::RIGHT_META },
77 { XK_KP_End, KeyCode::KEYPAD_1 },
78 { XK_KP_Down, KeyCode::KEYPAD_2 },
79 { XK_KP_Next, KeyCode::KEYPAD_3 },
80 { XK_KP_Left, KeyCode::KEYPAD_4 },
81 { XK_KP_Begin, KeyCode::KEYPAD_5 },
82 { XK_KP_Right, KeyCode::KEYPAD_6 },
83 { XK_KP_Home, KeyCode::KEYPAD_7 },
84 { XK_KP_Up, KeyCode::KEYPAD_8 },
85 { XK_KP_Prior, KeyCode::KEYPAD_9 },
86 { XK_KP_Insert, KeyCode::KEYPAD_0 },
87 { XK_KP_1, KeyCode::KEYPAD_1 },
88 { XK_KP_2, KeyCode::KEYPAD_2 },
89 { XK_KP_3, KeyCode::KEYPAD_3 },
90 { XK_KP_4, KeyCode::KEYPAD_4 },
91 { XK_KP_5, KeyCode::KEYPAD_5 },
92 { XK_KP_6, KeyCode::KEYPAD_6 },
93 { XK_KP_7, KeyCode::KEYPAD_7 },
94 { XK_KP_8, KeyCode::KEYPAD_8 },
95 { XK_KP_9, KeyCode::KEYPAD_9 },
96 { XK_KP_0, KeyCode::KEYPAD_0 },
97 { XK_ampersand, KeyCode::NUM_1 },
98 { XK_eacute, KeyCode::NUM_2 },
99 { XK_quotedbl, KeyCode::NUM_3 },
100 { XK_apostrophe, KeyCode::NUM_4 },
101 { XK_parenleft, KeyCode::NUM_5 },
102 { XK_minus, KeyCode::NUM_6 },
103 { XK_egrave, KeyCode::NUM_7 },
104 { XK_underscore, KeyCode::NUM_8 },
105 { XK_ccedilla, KeyCode::NUM_9 },
106 { XK_agrave, KeyCode::NUM_0 },
107 { XK_parenright, KeyCode::RIGHT_BRACE },
108 { XK_F1, KeyCode::F1 },
109 { XK_F2, KeyCode::F2 },
110 { XK_F3, KeyCode::F3 },
111 { XK_F4, KeyCode::F4 },
112 { XK_F5, KeyCode::F5 },
113 { XK_F6, KeyCode::F6 },
114 { XK_F7, KeyCode::F7 },
115 { XK_F8, KeyCode::F8 },
116 { XK_F9, KeyCode::F9 },
117 { XK_F10, KeyCode::F10 },
118 { XK_F11, KeyCode::F11 },
119 { XK_F12, KeyCode::F12 },
120 { XK_Print, KeyCode::PRINT_SCREEN },
121 { XK_Scroll_Lock, KeyCode::SCROLL_LOCK },
122 { XK_Insert, KeyCode::INSERT },
123 { XK_Home, KeyCode::HOME },
124 { XK_Prior, KeyCode::PAGE_UP },
125 { XK_Delete, KeyCode::DELETE_KEY },
126 { XK_End, KeyCode::END },
127 { XK_Next, KeyCode::PAGE_DOWN },
128 { XK_Num_Lock, KeyCode::NUM_LOCK },
129 { XK_KP_Divide, KeyCode::KEYPAD_SLASH },
130 { XK_KP_Multiply, KeyCode::KEYPAD_ASTERISK },
131 { XK_KP_Subtract, KeyCode::KEYPAD_MINUS },
132 { XK_KP_Add, KeyCode::KEYPAD_PLUS },
133 { XK_KP_Enter, KeyCode::KEYPAD_ENTER },
134 { XK_KP_Delete, KeyCode::KEYPAD_DECIMAL },
135 { XK_KP_Decimal, KeyCode::KEYPAD_DECIMAL },
136 { XK_KP_Decimal, KeyCode::KEYPAD_DECIMAL },
137 { XK_Hyper_R, KeyCode::OPEN },
138 { XK_KP_Equal, KeyCode::KEYPAD_EQUALS },
139 { XK_F13, KeyCode::F13 },
140 { XK_F14, KeyCode::F14 },
141 { XK_F15, KeyCode::F15 },
142 { XK_F16, KeyCode::F16 },
143 { XK_F17, KeyCode::F17 },
144 { XK_F18, KeyCode::F18 },
145 { XK_F19, KeyCode::F19 },
146 { XK_F20, KeyCode::F20 },
147 { XK_F21, KeyCode::F21 },
148 { XK_F22, KeyCode::F22 },
149 { XK_F23, KeyCode::F23 },
150 { XK_F24, KeyCode::F24 },
151 { XK_Execute, KeyCode::OPEN },
152 { XK_Help, KeyCode::HELP },
153 { XK_Cancel, KeyCode::CANCEL },
154 { XK_KP_Separator, KeyCode::SEPARATOR },
155 { XK_Sys_Req, KeyCode::SYSREQ_ATTENTION },
156 { XK_period, KeyCode::DOT },
157 { XK_comma, KeyCode::COMMA },
158 { XK_slash, KeyCode::SLASH },
159 { XK_backslash, KeyCode::BACKSLASH },
160 { XK_minus, KeyCode::MINUS },
161 { XK_equal, KeyCode::KEYPAD_EQUALS },
162 { XK_grave, KeyCode::GRAVE },
163 { XK_bracketleft, KeyCode::LEFT_BRACE },
164 { XK_bracketright, KeyCode::RIGHT_BRACE }
KeyCode
Definition: NRE_Keys.hpp:27
Manage the translation of native key.
Definition: NRE_LinuxKeyTranslater.hpp:31
KeyCode translateKey(XKeyEvent const &keyEvent) const
Definition: NRE_LinuxKeyTranslater.cpp:22
The NearlyRealEngine's global namespace.