22 #ifndef FIFE_EVENTCHANNEL_KEY_H
23 #define FIFE_EVENTCHANNEL_KEY_H
47 BACKSPACE = SDLK_BACKSPACE,
54 EXCLAIM = SDLK_EXCLAIM,
55 QUOTEDBL = SDLK_QUOTEDBL,
58 AMPERSAND = SDLK_AMPERSAND,
60 LEFTPAREN = SDLK_LEFTPAREN,
61 RIGHTPAREN = SDLK_RIGHTPAREN,
62 ASTERISK = SDLK_ASTERISK,
79 SEMICOLON = SDLK_SEMICOLON,
82 GREATER = SDLK_GREATER,
83 QUESTION = SDLK_QUESTION,
85 LEFTBRACKET = SDLK_LEFTBRACKET,
86 BACKSLASH = SDLK_BACKSLASH,
87 RIGHTBRACKET = SDLK_RIGHTBRACKET,
89 UNDERSCORE = SDLK_UNDERSCORE,
90 BACKQUOTE = SDLK_BACKQUOTE,
117 DELETE = SDLK_DELETE,
118 WORLD_0 = SDLK_WORLD_0,
119 WORLD_1 = SDLK_WORLD_1,
120 WORLD_2 = SDLK_WORLD_2,
121 WORLD_3 = SDLK_WORLD_3,
122 WORLD_4 = SDLK_WORLD_4,
123 WORLD_5 = SDLK_WORLD_5,
124 WORLD_6 = SDLK_WORLD_6,
125 WORLD_7 = SDLK_WORLD_7,
126 WORLD_8 = SDLK_WORLD_8,
127 WORLD_9 = SDLK_WORLD_9,
128 WORLD_10 = SDLK_WORLD_10,
129 WORLD_11 = SDLK_WORLD_11,
130 WORLD_12 = SDLK_WORLD_12,
131 WORLD_13 = SDLK_WORLD_13,
132 WORLD_14 = SDLK_WORLD_14,
133 WORLD_15 = SDLK_WORLD_15,
134 WORLD_16 = SDLK_WORLD_16,
135 WORLD_17 = SDLK_WORLD_17,
136 WORLD_18 = SDLK_WORLD_18,
137 WORLD_19 = SDLK_WORLD_19,
138 WORLD_20 = SDLK_WORLD_20,
139 WORLD_21 = SDLK_WORLD_21,
140 WORLD_22 = SDLK_WORLD_22,
141 WORLD_23 = SDLK_WORLD_23,
142 WORLD_24 = SDLK_WORLD_24,
143 WORLD_25 = SDLK_WORLD_25,
144 WORLD_26 = SDLK_WORLD_26,
145 WORLD_27 = SDLK_WORLD_27,
146 WORLD_28 = SDLK_WORLD_28,
147 WORLD_29 = SDLK_WORLD_29,
148 WORLD_30 = SDLK_WORLD_30,
149 WORLD_31 = SDLK_WORLD_31,
150 WORLD_32 = SDLK_WORLD_32,
151 WORLD_33 = SDLK_WORLD_33,
152 WORLD_34 = SDLK_WORLD_34,
153 WORLD_35 = SDLK_WORLD_35,
154 WORLD_36 = SDLK_WORLD_36,
155 WORLD_37 = SDLK_WORLD_37,
156 WORLD_38 = SDLK_WORLD_38,
157 WORLD_39 = SDLK_WORLD_39,
158 WORLD_40 = SDLK_WORLD_40,
159 WORLD_41 = SDLK_WORLD_41,
160 WORLD_42 = SDLK_WORLD_42,
161 WORLD_43 = SDLK_WORLD_43,
162 WORLD_44 = SDLK_WORLD_44,
163 WORLD_45 = SDLK_WORLD_45,
164 WORLD_46 = SDLK_WORLD_46,
165 WORLD_47 = SDLK_WORLD_47,
166 WORLD_48 = SDLK_WORLD_48,
167 WORLD_49 = SDLK_WORLD_49,
168 WORLD_50 = SDLK_WORLD_50,
169 WORLD_51 = SDLK_WORLD_51,
170 WORLD_52 = SDLK_WORLD_52,
171 WORLD_53 = SDLK_WORLD_53,
172 WORLD_54 = SDLK_WORLD_54,
173 WORLD_55 = SDLK_WORLD_55,
174 WORLD_56 = SDLK_WORLD_56,
175 WORLD_57 = SDLK_WORLD_57,
176 WORLD_58 = SDLK_WORLD_58,
177 WORLD_59 = SDLK_WORLD_59,
178 WORLD_60 = SDLK_WORLD_60,
179 WORLD_61 = SDLK_WORLD_61,
180 WORLD_62 = SDLK_WORLD_62,
181 WORLD_63 = SDLK_WORLD_63,
182 WORLD_64 = SDLK_WORLD_64,
183 WORLD_65 = SDLK_WORLD_65,
184 WORLD_66 = SDLK_WORLD_66,
185 WORLD_67 = SDLK_WORLD_67,
186 WORLD_68 = SDLK_WORLD_68,
187 WORLD_69 = SDLK_WORLD_69,
188 WORLD_70 = SDLK_WORLD_70,
189 WORLD_71 = SDLK_WORLD_71,
190 WORLD_72 = SDLK_WORLD_72,
191 WORLD_73 = SDLK_WORLD_73,
192 WORLD_74 = SDLK_WORLD_74,
193 WORLD_75 = SDLK_WORLD_75,
194 WORLD_76 = SDLK_WORLD_76,
195 WORLD_77 = SDLK_WORLD_77,
196 WORLD_78 = SDLK_WORLD_78,
197 WORLD_79 = SDLK_WORLD_79,
198 WORLD_80 = SDLK_WORLD_80,
199 WORLD_81 = SDLK_WORLD_81,
200 WORLD_82 = SDLK_WORLD_82,
201 WORLD_83 = SDLK_WORLD_83,
202 WORLD_84 = SDLK_WORLD_84,
203 WORLD_85 = SDLK_WORLD_85,
204 WORLD_86 = SDLK_WORLD_86,
205 WORLD_87 = SDLK_WORLD_87,
206 WORLD_88 = SDLK_WORLD_88,
207 WORLD_89 = SDLK_WORLD_89,
208 WORLD_90 = SDLK_WORLD_90,
209 WORLD_91 = SDLK_WORLD_91,
210 WORLD_92 = SDLK_WORLD_92,
211 WORLD_93 = SDLK_WORLD_93,
212 WORLD_94 = SDLK_WORLD_94,
213 WORLD_95 = SDLK_WORLD_95,
224 KP_PERIOD = SDLK_KP_PERIOD,
225 KP_DIVIDE = SDLK_KP_DIVIDE,
226 KP_MULTIPLY = SDLK_KP_MULTIPLY,
227 KP_MINUS = SDLK_KP_MINUS,
228 KP_PLUS = SDLK_KP_PLUS,
229 KP_ENTER = SDLK_KP_ENTER,
230 KP_EQUALS = SDLK_KP_EQUALS,
235 INSERT = SDLK_INSERT,
238 PAGE_UP = SDLK_PAGEUP,
239 PAGE_DOWN = SDLK_PAGEDOWN,
255 NUM_LOCK = SDLK_NUMLOCK,
256 CAPS_LOCK = SDLK_CAPSLOCK,
257 SCROLL_LOCK = SDLK_SCROLLOCK,
258 RIGHT_SHIFT = SDLK_RSHIFT,
259 LEFT_SHIFT = SDLK_LSHIFT,
260 RIGHT_CONTROL = SDLK_RCTRL,
261 LEFT_CONTROL = SDLK_LCTRL,
262 RIGHT_ALT = SDLK_RALT,
263 LEFT_ALT = SDLK_LALT,
264 RIGHT_META = SDLK_RMETA,
265 LEFT_META = SDLK_LMETA,
266 RIGHT_SUPER = SDLK_RSUPER,
267 LEFT_SUPER = SDLK_LSUPER,
269 COMPOSE = SDLK_COMPOSE,
271 PRINT_SCREEN = SDLK_PRINT,
272 SYSREQ = SDLK_SYSREQ,
286 m_unicode(codepoint) {}
296 return m_unicode != 0;
299 bool isFunctionKey()
const {
300 return m_key >= F1 && m_key <= F15;
313 char* converted = SDL_iconv_string(
"UTF-8",
"UTF-32",
314 const_cast<char*>(reinterpret_cast<const char*>(&m_unicode)), 4);
315 std::string retval(converted);