25 #include <CEGUI/CEGUI.h> 43 bool consumed =
false;
57 case SDL_MOUSEBUTTONUP:
58 case SDL_MOUSEBUTTONDOWN:
74 bool consumed =
false;
79 consumed |= CEGUI::System::getSingleton().getDefaultGUIContext().injectKeyDown(
m_keymap[event.key.keysym.sym]);
84 consumed = CEGUI::System::getSingleton().getDefaultGUIContext().injectKeyUp(
m_keymap[event.key.keysym.sym]);
95 CEGUI::String character(event.text.text);
96 bool consumed = CEGUI::System::getSingleton().getDefaultGUIContext().injectChar(character[0]);
102 bool consumed =
false;
105 case SDL_MOUSEBUTTONDOWN:
107 switch(event.button.button) {
108 case SDL_BUTTON_LEFT:
109 consumed = CEGUI::System::getSingleton().getDefaultGUIContext().injectMouseButtonDown(CEGUI::LeftButton);
112 case SDL_BUTTON_RIGHT:
113 consumed = CEGUI::System::getSingleton().getDefaultGUIContext().injectMouseButtonDown(CEGUI::RightButton);
116 case SDL_BUTTON_MIDDLE:
117 consumed = CEGUI::System::getSingleton().getDefaultGUIContext().injectMouseButtonDown(CEGUI::MiddleButton) ;
126 case SDL_MOUSEBUTTONUP:
128 switch(event.button.button) {
129 case SDL_BUTTON_LEFT:
130 consumed = CEGUI::System::getSingleton().getDefaultGUIContext().injectMouseButtonUp(CEGUI::LeftButton);
133 case SDL_BUTTON_RIGHT:
134 consumed = CEGUI::System::getSingleton().getDefaultGUIContext().injectMouseButtonUp(CEGUI::RightButton);
137 case SDL_BUTTON_MIDDLE:
138 consumed = CEGUI::System::getSingleton().getDefaultGUIContext().injectMouseButtonUp(CEGUI::MiddleButton) ;
150 int32_t wheelChange =
event.wheel.y;
151 if (wheelChange != 0) {
152 #if SDL_VERSION_ATLEAST(2,0,4) 153 if (event.wheel.direction == SDL_MOUSEWHEEL_FLIPPED) {
157 consumed = CEGUI::System::getSingleton().getDefaultGUIContext().injectMouseWheelChange(wheelChange);
170 return CEGUI::System::getSingleton().getDefaultGUIContext().injectMousePosition(static_cast<float>(event.motion.x), static_cast<float>(event.motion.y));
176 m_keymap[SDLK_3] = CEGUI::Key::Three;
177 m_keymap[SDLK_4] = CEGUI::Key::Four;
178 m_keymap[SDLK_5] = CEGUI::Key::Five;
180 m_keymap[SDLK_7] = CEGUI::Key::Seven;
181 m_keymap[SDLK_8] = CEGUI::Key::Eight;
182 m_keymap[SDLK_9] = CEGUI::Key::Nine;
183 m_keymap[SDLK_0] = CEGUI::Key::Zero;
212 m_keymap[SDLK_COMMA] = CEGUI::Key::Comma;
213 m_keymap[SDLK_PERIOD] = CEGUI::Key::Period;
214 m_keymap[SDLK_SLASH] = CEGUI::Key::Slash;
215 m_keymap[SDLK_BACKSLASH] = CEGUI::Key::Backslash;
216 m_keymap[SDLK_MINUS] = CEGUI::Key::Minus;
217 m_keymap[SDLK_EQUALS] = CEGUI::Key::Equals;
218 m_keymap[SDLK_SEMICOLON] = CEGUI::Key::Semicolon;
219 m_keymap[SDLK_COLON] = CEGUI::Key::Colon;
220 m_keymap[SDLK_LEFTBRACKET] = CEGUI::Key::LeftBracket;
221 m_keymap[SDLK_RIGHTBRACKET] = CEGUI::Key::RightBracket;
222 m_keymap[SDLK_QUOTE] = CEGUI::Key::Apostrophe;
223 m_keymap[SDLK_BACKQUOTE] = CEGUI::Key::Grave;
225 m_keymap[SDLK_UNDERSCORE] = CEGUI::Key::Underline;
227 m_keymap[SDLK_RETURN] = CEGUI::Key::Return;
228 m_keymap[SDLK_SPACE] = CEGUI::Key::Space;
229 m_keymap[SDLK_BACKSPACE] = CEGUI::Key::Backspace;
230 m_keymap[SDLK_TAB] = CEGUI::Key::Tab;
232 m_keymap[SDLK_ESCAPE] = CEGUI::Key::Escape;
233 m_keymap[SDLK_PAUSE] = CEGUI::Key::Pause;
234 m_keymap[SDLK_SYSREQ] = CEGUI::Key::SysRq;
235 m_keymap[SDLK_POWER] = CEGUI::Key::Power;
236 m_keymap[SDLK_SLEEP] = CEGUI::Key::Sleep;
238 m_keymap[SDLK_CALCULATOR] = CEGUI::Key::Calculator;
239 m_keymap[SDLK_MAIL] = CEGUI::Key::Mail;
240 m_keymap[SDLK_COMPUTER] = CEGUI::Key::MyComputer;
241 m_keymap[SDLK_MEDIASELECT] = CEGUI::Key::MediaSelect;
242 m_keymap[SDLK_AC_STOP] = CEGUI::Key::Stop;
244 m_keymap[SDLK_AUDIOPLAY] = CEGUI::Key::PlayPause;
245 m_keymap[SDLK_AUDIOSTOP] = CEGUI::Key::MediaStop;
246 m_keymap[SDLK_AUDIOPREV] = CEGUI::Key::PrevTrack;
247 m_keymap[SDLK_AUDIONEXT] = CEGUI::Key::NextTrack;
248 m_keymap[SDLK_AUDIOMUTE] = CEGUI::Key::Mute;
249 m_keymap[SDLK_VOLUMEUP] = CEGUI::Key::VolumeUp;
250 m_keymap[SDLK_VOLUMEDOWN] = CEGUI::Key::VolumeDown;
252 m_keymap[SDLK_AC_BACK] = CEGUI::Key::WebBack;
253 m_keymap[SDLK_AC_FORWARD] = CEGUI::Key::WebForward;
254 m_keymap[SDLK_AC_HOME] = CEGUI::Key::WebHome;
255 m_keymap[SDLK_AC_BOOKMARKS] = CEGUI::Key::WebFavorites;
256 m_keymap[SDLK_AC_SEARCH] = CEGUI::Key::WebSearch;
257 m_keymap[SDLK_AC_REFRESH] = CEGUI::Key::WebRefresh;
258 m_keymap[SDLK_AC_STOP] = CEGUI::Key::WebStop;
260 m_keymap[SDLK_NUMLOCKCLEAR] = CEGUI::Key::NumLock;
261 m_keymap[SDLK_SCROLLLOCK] = CEGUI::Key::ScrollLock;
262 m_keymap[SDLK_CAPSLOCK] = CEGUI::Key::Capital;
273 m_keymap[SDLK_F10] = CEGUI::Key::F10;
274 m_keymap[SDLK_F11] = CEGUI::Key::F11;
275 m_keymap[SDLK_F12] = CEGUI::Key::F12;
276 m_keymap[SDLK_F13] = CEGUI::Key::F13;
277 m_keymap[SDLK_F14] = CEGUI::Key::F14;
278 m_keymap[SDLK_F15] = CEGUI::Key::F15;
280 m_keymap[SDLK_LCTRL] = CEGUI::Key::LeftControl;
281 m_keymap[SDLK_LALT] = CEGUI::Key::LeftAlt;
282 m_keymap[SDLK_LSHIFT] = CEGUI::Key::LeftShift;
283 m_keymap[SDLK_LGUI] = CEGUI::Key::LeftWindows;
284 m_keymap[SDLK_RCTRL] = CEGUI::Key::RightControl;
285 m_keymap[SDLK_RALT] = CEGUI::Key::RightAlt;
286 m_keymap[SDLK_RSHIFT] = CEGUI::Key::RightShift;
287 m_keymap[SDLK_RGUI] = CEGUI::Key::RightWindows;
288 m_keymap[SDLK_MENU] = CEGUI::Key::AppMenu;
290 m_keymap[SDLK_KP_0] = CEGUI::Key::Numpad0;
291 m_keymap[SDLK_KP_1] = CEGUI::Key::Numpad1;
292 m_keymap[SDLK_KP_2] = CEGUI::Key::Numpad2;
293 m_keymap[SDLK_KP_3] = CEGUI::Key::Numpad3;
294 m_keymap[SDLK_KP_4] = CEGUI::Key::Numpad4;
295 m_keymap[SDLK_KP_5] = CEGUI::Key::Numpad5;
296 m_keymap[SDLK_KP_6] = CEGUI::Key::Numpad6;
297 m_keymap[SDLK_KP_7] = CEGUI::Key::Numpad7;
298 m_keymap[SDLK_KP_8] = CEGUI::Key::Numpad8;
299 m_keymap[SDLK_KP_9] = CEGUI::Key::Numpad9;
300 m_keymap[SDLK_KP_PERIOD] = CEGUI::Key::Decimal;
301 m_keymap[SDLK_KP_PLUS] = CEGUI::Key::Add;
302 m_keymap[SDLK_KP_MINUS] = CEGUI::Key::Subtract;
303 m_keymap[SDLK_KP_MULTIPLY] = CEGUI::Key::Multiply;
304 m_keymap[SDLK_KP_DIVIDE] = CEGUI::Key::Divide;
305 m_keymap[SDLK_KP_ENTER] = CEGUI::Key::NumpadEnter;
306 m_keymap[SDLK_KP_COMMA] = CEGUI::Key::NumpadComma;
307 m_keymap[SDLK_KP_EQUALS] = CEGUI::Key::NumpadEquals;
309 m_keymap[SDLK_UP] = CEGUI::Key::ArrowUp;
310 m_keymap[SDLK_LEFT] = CEGUI::Key::ArrowLeft;
311 m_keymap[SDLK_RIGHT] = CEGUI::Key::ArrowRight;
312 m_keymap[SDLK_DOWN] = CEGUI::Key::ArrowDown;
314 m_keymap[SDLK_HOME] = CEGUI::Key::Home;
315 m_keymap[SDLK_END] = CEGUI::Key::End;
316 m_keymap[SDLK_PAGEUP] = CEGUI::Key::PageUp;
317 m_keymap[SDLK_PAGEDOWN] = CEGUI::Key::PageDown;
318 m_keymap[SDLK_INSERT] = CEGUI::Key::Insert;
319 m_keymap[SDLK_DELETE] = CEGUI::Key::Delete;