diff --git a/src/modules/event/Event.cpp b/src/modules/event/Event.cpp index 973eacd55..af5e1dd8a 100644 --- a/src/modules/event/Event.cpp +++ b/src/modules/event/Event.cpp @@ -117,187 +117,5 @@ void Event::clear() } } -bool Event::getConstant(const char *in, love::mouse::Mouse::Button &out) -{ - return buttons.find(in, out); -} - -bool Event::getConstant(love::mouse::Mouse::Button in, const char *&out) -{ - return buttons.find(in, out); -} - -bool Event::getConstant(const char *in, love::keyboard::Keyboard::Key &out) -{ - return keys.find(in, out); -} - -bool Event::getConstant(love::keyboard::Keyboard::Key in, const char *&out) -{ - return keys.find(in, out); -} - -StringMap::Entry Event::buttonEntries[] = -{ - {"l", love::mouse::Mouse::BUTTON_LEFT}, - {"m", love::mouse::Mouse::BUTTON_MIDDLE}, - {"r", love::mouse::Mouse::BUTTON_RIGHT}, - {"wu", love::mouse::Mouse::BUTTON_WHEELUP}, - {"wd", love::mouse::Mouse::BUTTON_WHEELDOWN}, - {"x1", love::mouse::Mouse::BUTTON_X1}, - {"x2", love::mouse::Mouse::BUTTON_X2}, -}; - -StringMap Event::buttons(Event::buttonEntries, sizeof(Event::buttonEntries)); - -StringMap::Entry Event::keyEntries[] = -{ - {"backspace", love::keyboard::Keyboard::KEY_BACKSPACE}, - {"tab", love::keyboard::Keyboard::KEY_TAB}, - {"clear", love::keyboard::Keyboard::KEY_CLEAR}, - {"return", love::keyboard::Keyboard::KEY_RETURN}, - {"pause", love::keyboard::Keyboard::KEY_PAUSE}, - {"escape", love::keyboard::Keyboard::KEY_ESCAPE}, - {" ", love::keyboard::Keyboard::KEY_SPACE}, - {"!", love::keyboard::Keyboard::KEY_EXCLAIM}, - {"\"", love::keyboard::Keyboard::KEY_QUOTEDBL}, - {"#", love::keyboard::Keyboard::KEY_HASH}, - {"$", love::keyboard::Keyboard::KEY_DOLLAR}, - {"&", love::keyboard::Keyboard::KEY_AMPERSAND}, - {"'", love::keyboard::Keyboard::KEY_QUOTE}, - {"(", love::keyboard::Keyboard::KEY_LEFTPAREN}, - {")", love::keyboard::Keyboard::KEY_RIGHTPAREN}, - {"*", love::keyboard::Keyboard::KEY_ASTERISK}, - {"+", love::keyboard::Keyboard::KEY_PLUS}, - {",", love::keyboard::Keyboard::KEY_COMMA}, - {"-", love::keyboard::Keyboard::KEY_MINUS}, - {".", love::keyboard::Keyboard::KEY_PERIOD}, - {"/", love::keyboard::Keyboard::KEY_SLASH}, - {"0", love::keyboard::Keyboard::KEY_0}, - {"1", love::keyboard::Keyboard::KEY_1}, - {"2", love::keyboard::Keyboard::KEY_2}, - {"3", love::keyboard::Keyboard::KEY_3}, - {"4", love::keyboard::Keyboard::KEY_4}, - {"5", love::keyboard::Keyboard::KEY_5}, - {"6", love::keyboard::Keyboard::KEY_6}, - {"7", love::keyboard::Keyboard::KEY_7}, - {"8", love::keyboard::Keyboard::KEY_8}, - {"9", love::keyboard::Keyboard::KEY_9}, - {":", love::keyboard::Keyboard::KEY_COLON}, - {";", love::keyboard::Keyboard::KEY_SEMICOLON}, - {"<", love::keyboard::Keyboard::KEY_LESS}, - {"=", love::keyboard::Keyboard::KEY_EQUALS}, - {">", love::keyboard::Keyboard::KEY_GREATER}, - {"?", love::keyboard::Keyboard::KEY_QUESTION}, - {"@", love::keyboard::Keyboard::KEY_AT}, - - {"[", love::keyboard::Keyboard::KEY_LEFTBRACKET}, - {"\\", love::keyboard::Keyboard::KEY_BACKSLASH}, - {"]", love::keyboard::Keyboard::KEY_RIGHTBRACKET}, - {"^", love::keyboard::Keyboard::KEY_CARET}, - {"_", love::keyboard::Keyboard::KEY_UNDERSCORE}, - {"`", love::keyboard::Keyboard::KEY_BACKQUOTE}, - {"a", love::keyboard::Keyboard::KEY_A}, - {"b", love::keyboard::Keyboard::KEY_B}, - {"c", love::keyboard::Keyboard::KEY_C}, - {"d", love::keyboard::Keyboard::KEY_D}, - {"e", love::keyboard::Keyboard::KEY_E}, - {"f", love::keyboard::Keyboard::KEY_F}, - {"g", love::keyboard::Keyboard::KEY_G}, - {"h", love::keyboard::Keyboard::KEY_H}, - {"i", love::keyboard::Keyboard::KEY_I}, - {"j", love::keyboard::Keyboard::KEY_J}, - {"k", love::keyboard::Keyboard::KEY_K}, - {"l", love::keyboard::Keyboard::KEY_L}, - {"m", love::keyboard::Keyboard::KEY_M}, - {"n", love::keyboard::Keyboard::KEY_N}, - {"o", love::keyboard::Keyboard::KEY_O}, - {"p", love::keyboard::Keyboard::KEY_P}, - {"q", love::keyboard::Keyboard::KEY_Q}, - {"r", love::keyboard::Keyboard::KEY_R}, - {"s", love::keyboard::Keyboard::KEY_S}, - {"t", love::keyboard::Keyboard::KEY_T}, - {"u", love::keyboard::Keyboard::KEY_U}, - {"v", love::keyboard::Keyboard::KEY_V}, - {"w", love::keyboard::Keyboard::KEY_W}, - {"x", love::keyboard::Keyboard::KEY_X}, - {"y", love::keyboard::Keyboard::KEY_Y}, - {"z", love::keyboard::Keyboard::KEY_Z}, - {"delete", love::keyboard::Keyboard::KEY_DELETE}, - - {"kp0", love::keyboard::Keyboard::KEY_KP0}, - {"kp1", love::keyboard::Keyboard::KEY_KP1}, - {"kp2", love::keyboard::Keyboard::KEY_KP2}, - {"kp3", love::keyboard::Keyboard::KEY_KP3}, - {"kp4", love::keyboard::Keyboard::KEY_KP4}, - {"kp5", love::keyboard::Keyboard::KEY_KP5}, - {"kp6", love::keyboard::Keyboard::KEY_KP6}, - {"kp7", love::keyboard::Keyboard::KEY_KP7}, - {"kp8", love::keyboard::Keyboard::KEY_KP8}, - {"kp9", love::keyboard::Keyboard::KEY_KP9}, - {"kp.", love::keyboard::Keyboard::KEY_KP_PERIOD}, - {"kp/", love::keyboard::Keyboard::KEY_KP_DIVIDE}, - {"kp*", love::keyboard::Keyboard::KEY_KP_MULTIPLY}, - {"kp-", love::keyboard::Keyboard::KEY_KP_MINUS}, - {"kp+", love::keyboard::Keyboard::KEY_KP_PLUS}, - {"kpenter", love::keyboard::Keyboard::KEY_KP_ENTER}, - {"kp=", love::keyboard::Keyboard::KEY_KP_EQUALS}, - - {"up", love::keyboard::Keyboard::KEY_UP}, - {"down", love::keyboard::Keyboard::KEY_DOWN}, - {"right", love::keyboard::Keyboard::KEY_RIGHT}, - {"left", love::keyboard::Keyboard::KEY_LEFT}, - {"insert", love::keyboard::Keyboard::KEY_INSERT}, - {"home", love::keyboard::Keyboard::KEY_HOME}, - {"end", love::keyboard::Keyboard::KEY_END}, - {"pageup", love::keyboard::Keyboard::KEY_PAGEUP}, - {"pagedown", love::keyboard::Keyboard::KEY_PAGEDOWN}, - - {"f1", love::keyboard::Keyboard::KEY_F1}, - {"f2", love::keyboard::Keyboard::KEY_F2}, - {"f3", love::keyboard::Keyboard::KEY_F3}, - {"f4", love::keyboard::Keyboard::KEY_F4}, - {"f5", love::keyboard::Keyboard::KEY_F5}, - {"f6", love::keyboard::Keyboard::KEY_F6}, - {"f7", love::keyboard::Keyboard::KEY_F7}, - {"f8", love::keyboard::Keyboard::KEY_F8}, - {"f9", love::keyboard::Keyboard::KEY_F9}, - {"f10", love::keyboard::Keyboard::KEY_F10}, - {"f11", love::keyboard::Keyboard::KEY_F11}, - {"f12", love::keyboard::Keyboard::KEY_F12}, - {"f13", love::keyboard::Keyboard::KEY_F13}, - {"f14", love::keyboard::Keyboard::KEY_F14}, - {"f15", love::keyboard::Keyboard::KEY_F15}, - - {"numlock", love::keyboard::Keyboard::KEY_NUMLOCK}, - {"capslock", love::keyboard::Keyboard::KEY_CAPSLOCK}, - {"scrollock", love::keyboard::Keyboard::KEY_SCROLLOCK}, - {"rshift", love::keyboard::Keyboard::KEY_RSHIFT}, - {"lshift", love::keyboard::Keyboard::KEY_LSHIFT}, - {"rctrl", love::keyboard::Keyboard::KEY_RCTRL}, - {"lctrl", love::keyboard::Keyboard::KEY_LCTRL}, - {"ralt", love::keyboard::Keyboard::KEY_RALT}, - {"lalt", love::keyboard::Keyboard::KEY_LALT}, - {"rmeta", love::keyboard::Keyboard::KEY_RMETA}, - {"lmeta", love::keyboard::Keyboard::KEY_LMETA}, - {"lsuper", love::keyboard::Keyboard::KEY_LSUPER}, - {"rsuper", love::keyboard::Keyboard::KEY_RSUPER}, - {"mode", love::keyboard::Keyboard::KEY_MODE}, - {"compose", love::keyboard::Keyboard::KEY_COMPOSE}, - - {"help", love::keyboard::Keyboard::KEY_HELP}, - {"print", love::keyboard::Keyboard::KEY_PRINT}, - {"sysreq", love::keyboard::Keyboard::KEY_SYSREQ}, - {"break", love::keyboard::Keyboard::KEY_BREAK}, - {"menu", love::keyboard::Keyboard::KEY_MENU}, - {"power", love::keyboard::Keyboard::KEY_POWER}, - {"euro", love::keyboard::Keyboard::KEY_EURO}, - {"undo", love::keyboard::Keyboard::KEY_UNDO}, - - {"unknown", love::keyboard::Keyboard::KEY_UNKNOWN}, -}; - -StringMap Event::keys(Event::keyEntries, sizeof(Event::keyEntries)); - } // event } // love diff --git a/src/modules/event/Event.h b/src/modules/event/Event.h index e28f36c8c..c1a83a465 100644 --- a/src/modules/event/Event.h +++ b/src/modules/event/Event.h @@ -63,18 +63,10 @@ public: virtual void pump() = 0; - static bool getConstant(const char *in, love::mouse::Mouse::Button &out); - static bool getConstant(love::mouse::Mouse::Button in, const char *&out); - static bool getConstant(const char *in, love::keyboard::Keyboard::Key &out); - static bool getConstant(love::keyboard::Keyboard::Key in, const char *&out); - protected: thread::Mutex *mutex; std::queue queue; - static StringMap::Entry buttonEntries[]; - static StringMap buttons; - static StringMap::Entry keyEntries[]; - static StringMap keys; + }; // Event } // event diff --git a/src/modules/event/sdl/Event.cpp b/src/modules/event/sdl/Event.cpp index 25ce5f1f6..6c1bd07af 100644 --- a/src/modules/event/sdl/Event.cpp +++ b/src/modules/event/sdl/Event.cpp @@ -93,7 +93,7 @@ Message *Event::convert(SDL_Event &e) case SDL_KEYDOWN: if (!keys.find(e.key.keysym.sym, key)) key = love::keyboard::Keyboard::KEY_UNKNOWN; - if (!love::event::Event::keys.find(key, txt)) + if (!love::keyboard::Keyboard::getConstant(key, txt)) txt = "unknown"; arg1 = new Variant(txt, strlen(txt)); arg2 = new Variant((double) e.key.keysym.unicode); @@ -104,7 +104,7 @@ Message *Event::convert(SDL_Event &e) case SDL_KEYUP: if (!keys.find(e.key.keysym.sym, key)) key = love::keyboard::Keyboard::KEY_UNKNOWN; - if (!love::event::Event::keys.find(key, txt)) + if (!love::keyboard::Keyboard::getConstant(key, txt)) txt = "unknown"; arg1 = new Variant(txt, strlen(txt)); msg = new Message("keyreleased", arg1); @@ -112,7 +112,7 @@ Message *Event::convert(SDL_Event &e) break; case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONUP: - if (buttons.find(e.button.button, button) && love::event::Event::buttons.find(button, txt)) + if (buttons.find(e.button.button, button) && love::mouse::Mouse::getConstant(button, txt)) { arg1 = new Variant((double) e.button.x); arg2 = new Variant((double) e.button.y);