diff options
-rw-r--r-- | src/inputlistener.cpp | 38 | ||||
-rw-r--r-- | src/inputlistener.h | 40 | ||||
-rw-r--r-- | src/keyboardconfig.cpp | 982 | ||||
-rw-r--r-- | src/keyboarddata.h | 1005 |
4 files changed, 1006 insertions, 1059 deletions
diff --git a/src/inputlistener.cpp b/src/inputlistener.cpp deleted file mode 100644 index e2660f94b..000000000 --- a/src/inputlistener.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2012 The ManaPlus Developers - * - * This file is part of The ManaPlus Client. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "inputlistener.h" - -#include "debug.h" - -InputListener::~InputListener() -{ - DepricatedEvent::remove(this); -} - -void InputListener::listen(Channels channel) -{ - DepricatedEvent::bind(this, channel); -} - -void InputListener::ignore(Channels channel) -{ - DepricatedEvent::unbind(this, channel); -} diff --git a/src/inputlistener.h b/src/inputlistener.h deleted file mode 100644 index 7b7c4ff03..000000000 --- a/src/inputlistener.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * The ManaPlus Client - * Copyright (C) 2012 The ManaPlus Developers - * - * This file is part of The ManaPlus Client. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef INPUTLISTENER_H -#define INPUTLISTENER_H - - -#include <string> - -class InputListener -{ - public: - virtual ~InputListener(); - - void listen(Channels channel); - - void ignore(Channels channel); - - virtual void processEvent(Channels channel, - const DepricatedEvent &event) = 0; -}; - -#endif diff --git a/src/keyboardconfig.cpp b/src/keyboardconfig.cpp index 01f9a7ddd..9552a0844 100644 --- a/src/keyboardconfig.cpp +++ b/src/keyboardconfig.cpp @@ -25,6 +25,7 @@ #include "configuration.h" #include "inputevent.h" #include "inputmanager.h" +#include "keyboarddata.h" #include "logger.h" #include "gui/sdlinput.h" @@ -51,987 +52,6 @@ class KeyFunctor } keySorter; -struct KeyData -{ - const char *configField; - int defaultValue; - std::string caption; - int grp; - ActionFuncPtr action; - int modKeyIndex; - int priority; - int condition; -}; - -// keyData must be in same order as enum keyAction. -static KeyData const keyData[KeyboardConfig::KEY_TOTAL] = { - {"", 0, - N_("Basic Keys"), - 0, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 0, - 0}, - {"keyMoveUp", SDLK_UP, - N_("Move Up"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::moveUp, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME2}, - {"keyMoveDown", SDLK_DOWN, - N_("Move Down"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::moveDown, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME2}, - {"keyMoveLeft", SDLK_LEFT, - N_("Move Left"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::moveLeft, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME}, - {"keyMoveRight", SDLK_RIGHT, - N_("Move Right"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::moveRight, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME}, - {"keyAttack", SDLK_LCTRL, - N_("Attack"), - KeyboardConfig::GRP_DEFAULT, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyTargetAttack", SDLK_x, - N_("Target & Attack"), - KeyboardConfig::GRP_DEFAULT, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyMoveToTarget", SDLK_v, - N_("Move to Target"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::moveToTarget, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keyChangeMoveToTarget", SDLK_PERIOD, - N_("Change Move to Target type"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeMoveToTarget, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED | COND_EMODS}, - {"keyMoveToHome", SDLK_d, - N_("Move to Home location"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::moveToHome, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keySetHome", SDLK_KP5, - N_("Set home location"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::setHome, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keyMoveToPoint", SDLK_RSHIFT, - N_("Move to navigation point"), - KeyboardConfig::GRP_DEFAULT, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyTalk", SDLK_t, - N_("Talk"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::talk, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME}, - {"keyTarget", SDLK_LSHIFT, - N_("Stop Attack"), - KeyboardConfig::GRP_DEFAULT, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME}, - {"keyUnTarget", KeyboardConfig::KEY_NO_VALUE, - N_("Untarget"), - KeyboardConfig::GRP_DEFAULT, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyTargetClosest", SDLK_a, - N_("Target Closest"), - KeyboardConfig::GRP_DEFAULT, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyTargetNPC", SDLK_n, - N_("Target NPC"), - KeyboardConfig::GRP_DEFAULT, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyTargetPlayer", SDLK_q, - N_("Target Player"), - KeyboardConfig::GRP_DEFAULT, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyPickup", SDLK_z, - N_("Pickup"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::pickup, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyChangePickupType", SDLK_o, - N_("Change Pickup Type"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changePickupType, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED | COND_EMODS}, - {"keyHideWindows", SDLK_h, - N_("Hide Windows"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::hideWindows, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyBeingSit", SDLK_s, - N_("Sit"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::sit, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyScreenshot", SDLK_p, - N_("Screenshot"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::screenshot, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyTrade", SDLK_r, - N_("Enable/Disable Trading"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeTrade, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyPathfind", SDLK_f, - N_("Change Map View Mode"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeMapMode, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET | COND_EMODS}, - {"keyOK", SDLK_SPACE, - N_("Select OK"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::ok, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOMODAL | COND_NOAWAY | COND_NONPCINPUT}, - {"keyQuit", SDLK_ESCAPE, - N_("Quit"), - KeyboardConfig::GRP_DEFAULT, -// nullptr, - &ActionManager::quit, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"", 0, - N_("Shortcuts Keys"), - 0, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyShortcutsKey", SDLK_MENU, - N_("Item Shortcuts Key"), - KeyboardConfig::GRP_DEFAULT, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyShortcut1", SDLK_1, - strprintf(N_("Item Shortcut %d"), 1), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut2", SDLK_2, - strprintf(N_("Item Shortcut %d"), 2), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut3", SDLK_3, - strprintf(N_("Item Shortcut %d"), 3), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut4", SDLK_4, - strprintf(N_("Item Shortcut %d"), 4), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut5", SDLK_5, - strprintf(N_("Item Shortcut %d"), 5), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut6", SDLK_6, - strprintf(N_("Item Shortcut %d"), 6), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut7", SDLK_7, - strprintf(N_("Item Shortcut %d"), 7), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut8", SDLK_8, - strprintf(N_("Item Shortcut %d"), 8), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut9", SDLK_9, - strprintf(N_("Item Shortcut %d"), 9), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut10", SDLK_0, - strprintf(N_("Item Shortcut %d"), 10), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut11", SDLK_MINUS, - strprintf(N_("Item Shortcut %d"), 11), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut12", SDLK_EQUALS, - strprintf(N_("Item Shortcut %d"), 12), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut13", SDLK_BACKSPACE, - strprintf(N_("Item Shortcut %d"), 13), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut14", SDLK_INSERT, - strprintf(N_("Item Shortcut %d"), 14), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut15", SDLK_HOME, - strprintf(N_("Item Shortcut %d"), 15), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut16", KeyboardConfig::KEY_NO_VALUE, - strprintf(N_("Item Shortcut %d"), 16), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut17", KeyboardConfig::KEY_NO_VALUE, - strprintf(N_("Item Shortcut %d"), 17), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut18", KeyboardConfig::KEY_NO_VALUE, - strprintf(N_("Item Shortcut %d"), 18), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut19", KeyboardConfig::KEY_NO_VALUE, - strprintf(N_("Item Shortcut %d"), 19), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyShortcut20", KeyboardConfig::KEY_NO_VALUE, - strprintf(N_("Item Shortcut %d"), 20), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::shortcut, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"", 0, - N_("Windows Keys"), - 0, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyWindowHelp", SDLK_F1, - N_("Help Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::helpWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowStatus", SDLK_F2, - N_("Status Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::statusWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowInventory", SDLK_F3, - N_("Inventory Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::inventoryWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowEquipment", SDLK_F4, - N_("Equipment Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::equipmentWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowSkill", SDLK_F5, - N_("Skill Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::skillDialogShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowMinimap", SDLK_F6, - N_("Minimap Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::minimapWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowChat", SDLK_F7, - N_("Chat Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::chatWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowShortcut", SDLK_F8, - N_("Item Shortcut Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::shortcutWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowSetup", SDLK_F9, - N_("Setup Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::setupWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, - {"keyWindowDebug", SDLK_F10, - N_("Debug Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::debugWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowSocial", SDLK_F11, - N_("Social Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::socialWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowEmoteBar", SDLK_F12, - N_("Emote Shortcut Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::emoteShortcutWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowOutfit", SDLK_BACKQUOTE, - N_("Outfits Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::outfitWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowShop", -1, - N_("Shop Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::shopWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowDrop", SDLK_w, - N_("Quick drop Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::dropShortcutWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowKills", SDLK_e, - N_("Kill Stats Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::killStatsWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowSpells", SDLK_j, - N_("Commands Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::spellShortcutWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowBotChecker", SDLK_LEFTBRACKET, - N_("Bot Checker Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::botcheckerWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowOnline", KeyboardConfig::KEY_NO_VALUE, - N_("Who Is Online Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::whoIsOnlineWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keyWindowDidYouKnow", KeyboardConfig::KEY_NO_VALUE, - N_("Did you know Window"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::didYouKnowWindowShow, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_NOTARGET}, - {"keySocialPrevTab", KeyboardConfig::KEY_NO_VALUE, - N_("Previous Social Tab"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::prevSocialTab, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOINPUT}, - {"keySocialNextTab", KeyboardConfig::KEY_NO_VALUE, - N_("Next Social Tab"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::nextSocialTab, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOINPUT}, - {"", 0, - N_("Emotes Keys"), - 0, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keySmilie", SDLK_LALT, - N_("Smilie"), - KeyboardConfig::GRP_DEFAULT, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyEmoteShortcut1", SDLK_1, - strprintf(N_("Emote Shortcut %d"), 1), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut2", SDLK_2, - strprintf(N_("Emote Shortcut %d"), 2), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut3", SDLK_3, - strprintf(N_("Emote Shortcut %d"), 3), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut4", SDLK_4, - strprintf(N_("Emote Shortcut %d"), 4), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut5", SDLK_5, - strprintf(N_("Emote Shortcut %d"), 5), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut6", SDLK_6, - strprintf(N_("Emote Shortcut %d"), 6), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut7", SDLK_7, - strprintf(N_("Emote Shortcut %d"), 7), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut8", SDLK_8, - strprintf(N_("Emote Shortcut %d"), 8), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut9", SDLK_9, - strprintf(N_("Emote Shortcut %d"), 9), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut10", SDLK_0, - strprintf(N_("Emote Shortcut %d"), 10), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut11", SDLK_MINUS, - strprintf(N_("Emote Shortcut %d"), 11), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut12", SDLK_EQUALS, - strprintf(N_("Emote Shortcut %d"), 12), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut13", SDLK_BACKSPACE, - strprintf(N_("Emote Shortcut %d"), 13), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut14", SDLK_INSERT, - strprintf(N_("Emote Shortcut %d"), 14), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut15", SDLK_HOME, - strprintf(N_("Emote Shortcut %d"), 15), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut16", SDLK_q, - strprintf(N_("Emote Shortcut %d"), 16), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut17", SDLK_w, - strprintf(N_("Emote Shortcut %d"), 17), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut18", SDLK_e, - strprintf(N_("Emote Shortcut %d"), 18), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut19", SDLK_r, - strprintf(N_("Emote Shortcut %d"), 19), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut20", SDLK_t, - strprintf(N_("Emote Shortcut %d"), 20), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut21", SDLK_y, - strprintf(N_("Emote Shortcut %d"), 21), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut22", SDLK_u, - strprintf(N_("Emote Shortcut %d"), 22), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut23", SDLK_i, - strprintf(N_("Emote Shortcut %d"), 23), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut24", SDLK_o, - strprintf(N_("Emote Shortcut %d"), 24), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut25", SDLK_p, - strprintf(N_("Emote Shortcut %d"), 25), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut26", SDLK_LEFTBRACKET, - strprintf(N_("Emote Shortcut %d"), 26), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut27", SDLK_RIGHTBRACKET, - strprintf(N_("Emote Shortcut %d"), 27), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut28", SDLK_BACKSLASH, - strprintf(N_("Emote Shortcut %d"), 28), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut29", SDLK_a, - strprintf(N_("Emote Shortcut %d"), 29), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut30", SDLK_s, - strprintf(N_("Emote Shortcut %d"), 30), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut31", SDLK_d, - strprintf(N_("Emote Shortcut %d"), 31), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut32", SDLK_f, - strprintf(N_("Emote Shortcut %d"), 32), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut33", SDLK_g, - strprintf(N_("Emote Shortcut %d"), 33), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut34", SDLK_h, - strprintf(N_("Emote Shortcut %d"), 34), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut35", SDLK_j, - strprintf(N_("Emote Shortcut %d"), 35), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut36", SDLK_k, - strprintf(N_("Emote Shortcut %d"), 36), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut37", SDLK_l, - strprintf(N_("Emote Shortcut %d"), 37), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut38", SDLK_SEMICOLON, - strprintf(N_("Emote Shortcut %d"), 38), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut39", SDLK_QUOTE, - strprintf(N_("Emote Shortcut %d"), 39), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut40", SDLK_z, - strprintf(N_("Emote Shortcut %d"), 40), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut41", SDLK_x, - strprintf(N_("Emote Shortcut %d"), 41), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut42", SDLK_c, - strprintf(N_("Emote Shortcut %d"), 42), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut43", SDLK_v, - strprintf(N_("Emote Shortcut %d"), 43), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut44", SDLK_b, - strprintf(N_("Emote Shortcut %d"), 44), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut45", SDLK_n, - strprintf(N_("Emote Shortcut %d"), 45), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut46", SDLK_m, - strprintf(N_("Emote Shortcut %d"), 46), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut47", SDLK_COMMA, - strprintf(N_("Emote Shortcut %d"), 47), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"keyEmoteShortcut48", SDLK_PERIOD, - strprintf(N_("Emote Shortcut %d"), 48), - KeyboardConfig::GRP_EMOTION, - &ActionManager::emote, - KeyboardConfig::KEY_NO_VALUE, 100, - COND_GAME}, - {"", 0, - N_("Outfits Keys"), - 0, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyWearOutfit", SDLK_RCTRL, N_("Wear Outfit"), - KeyboardConfig::GRP_DEFAULT, nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, COND_DEFAULT}, - {"keyCopyOutfit", SDLK_RALT, N_("Copy Outfit"), - KeyboardConfig::GRP_DEFAULT, nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, COND_DEFAULT}, - {"keyCopyEquipedOutfit", SDLK_RIGHTBRACKET, - N_("Copy equipped to Outfit"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::copyEquippedToOutfit, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"", 0, N_("Chat Keys"), 0, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyChat", SDLK_RETURN, - N_("Toggle Chat"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_CHAT, - &ActionManager::toggleChat, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME}, - {"keyChatScrollUp", SDLK_PAGEUP, - N_("Scroll Chat Up"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::scrollChatUp, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyChatScrollDown", SDLK_PAGEDOWN, - N_("Scroll Chat Down"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::scrollChatDown, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyChatPrevTab", SDLK_KP7, - N_("Previous Chat Tab"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::prevChatTab, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOINPUT}, - {"keyChatNextTab", SDLK_KP9, - N_("Next Chat Tab"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::nextChatTab, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOINPUT}, - {"keyChatCloseTab", KeyboardConfig::KEY_NO_VALUE, - N_("Close current Chat Tab"), - KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, - &ActionManager::closeChatTab, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOINPUT}, - {"keyChatPrevHistory", SDLK_KP7, N_("Previous chat line"), - KeyboardConfig::GRP_CHAT, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyChatNextHistory", SDLK_KP9, N_("Next chat line"), - KeyboardConfig::GRP_CHAT, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyAutoCompleteChat", SDLK_TAB, N_("Chat Auto Complete"), - KeyboardConfig::GRP_CHAT, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyDeActivateChat", SDLK_ESCAPE, N_("Deactivate Chat Input"), - KeyboardConfig::GRP_CHAT, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"", 0, N_("Other Keys"), 0, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyIgnoreInput1", SDLK_LSUPER, - N_("Ignore input 1"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::ignoreInput, - KeyboardConfig::KEY_NO_VALUE, 500, - COND_DEFAULT}, - {"keyIgnoreInput2", SDLK_RSUPER, - N_("Ignore input 2"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::ignoreInput, - KeyboardConfig::KEY_NO_VALUE, 500, - COND_DEFAULT}, - {"keyDirectUp", SDLK_l, - N_("Direct Up"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::directUp, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyDirectDown", SDLK_SEMICOLON, - N_("Direct Down"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::directDown, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyDirectLeft", SDLK_k, - N_("Direct Left"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::directLeft, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyDirectRight", SDLK_QUOTE, - N_("Direct Right"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::directRight, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT}, - {"keyCrazyMoves", SDLK_SLASH, - N_("Crazy moves"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::crazyMoves, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keyChangeCrazyMoveType", SDLK_BACKSLASH, - N_("Change Crazy Move mode"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeCrazyMove, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED | COND_EMODS}, - {"keyQuickDrop", SDLK_y, - N_("Quick Drop N Items from 0 slot"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::dropItem0, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keyQuickDropN", SDLK_u, - N_("Quick Drop N Items"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::dropItem, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keySwitchQuickDrop", SDLK_i, - N_("Switch Quick Drop Counter"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::switchQuickDrop, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keyMagicInma1", SDLK_c, - N_("Quick heal target or self"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::heal, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keyMagicItenplz", SDLK_m, - N_("Use #itenplz spell"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::itenplz, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keyMagicAttack", SDLK_b, - N_("Use magic attack"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::magicAttack, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keySwitchMagicAttack", SDLK_COMMA, - N_("Switch magic attack"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeMagicAttack, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED | COND_EMODS}, - {"keySwitchPvpAttack", KeyboardConfig::KEY_NO_VALUE, - N_("Switch pvp attack"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changePvpMode, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED | COND_EMODS}, - {"keyInvertDirection", SDLK_KP0, - N_("Change move type"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeMoveType, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED | COND_EMODS}, - {"keyChangeAttackWeaponType", SDLK_g, - N_("Change Attack Weapon Type"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeAttackWeaponType, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED | COND_EMODS}, - {"keyChangeAttackType", SDLK_END, - N_("Change Attack Type"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeAttackType, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED | COND_EMODS}, - {"keyChangeFollowMode", SDLK_KP1, - N_("Change Follow mode"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeFollowMode, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED | COND_EMODS}, - {"keyChangeImitationMode", SDLK_KP4, - N_("Change Imitation mode"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeImitationMode, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED | COND_EMODS}, - {"keyDisableGameModifiers", SDLK_KP8, - N_("Disable / Enable Game modifier keys"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeGameModifier, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keyChangeAudio", SDLK_KP3, - N_("On / Off audio"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::changeAudio, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keyAway", SDLK_KP2, - N_("Enable / Disable away mode"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::away, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED}, - {"keyRightClick", SDLK_TAB, - N_("Emulate right click from keyboard"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::mouseClick, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_NOINPUT | COND_NOAWAY | COND_NOMODAL}, - {"keyCameraMode", SDLK_KP_PLUS, - N_("Toggle camera mode"), - KeyboardConfig::GRP_DEFAULT, - &ActionManager::camera, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_GAME | COND_VALIDSPEED | COND_EMODS}, - {"keyMod", SDLK_LSHIFT, - N_("Modifier key"), - KeyboardConfig::GRP_GUI, - nullptr, - KeyboardConfig::KEY_NO_VALUE, 50, - COND_DEFAULT} -}; - void KeyboardConfig::init() { for (int i = 0; i < KEY_TOTAL; i++) diff --git a/src/keyboarddata.h b/src/keyboarddata.h new file mode 100644 index 000000000..78a6e990a --- /dev/null +++ b/src/keyboarddata.h @@ -0,0 +1,1005 @@ +/* + * Custom keyboard shortcuts configuration + * Copyright (C) 2007 Joshua Langley <joshlangley@optusnet.com.au> + * Copyright (C) 2009-2010 The Mana Developers + * Copyright (C) 2011-2012 The ManaPlus Developers + * + * This file is part of The ManaPlus Client. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "utils/gettext.h" + +struct KeyData +{ + const char *configField; + int defaultValue; + std::string caption; + int grp; + ActionFuncPtr action; + int modKeyIndex; + int priority; + int condition; +}; + + +// keyData must be in same order as enum keyAction. +static KeyData const keyData[KeyboardConfig::KEY_TOTAL] = { + {"", 0, + N_("Basic Keys"), + 0, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 0, + 0}, + {"keyMoveUp", SDLK_UP, + N_("Move Up"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::moveUp, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME2}, + {"keyMoveDown", SDLK_DOWN, + N_("Move Down"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::moveDown, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME2}, + {"keyMoveLeft", SDLK_LEFT, + N_("Move Left"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::moveLeft, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME}, + {"keyMoveRight", SDLK_RIGHT, + N_("Move Right"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::moveRight, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME}, + {"keyAttack", SDLK_LCTRL, + N_("Attack"), + KeyboardConfig::GRP_DEFAULT, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyTargetAttack", SDLK_x, + N_("Target & Attack"), + KeyboardConfig::GRP_DEFAULT, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyMoveToTarget", SDLK_v, + N_("Move to Target"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::moveToTarget, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keyChangeMoveToTarget", SDLK_PERIOD, + N_("Change Move to Target type"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeMoveToTarget, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED | COND_EMODS}, + {"keyMoveToHome", SDLK_d, + N_("Move to Home location"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::moveToHome, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keySetHome", SDLK_KP5, + N_("Set home location"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::setHome, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keyMoveToPoint", SDLK_RSHIFT, + N_("Move to navigation point"), + KeyboardConfig::GRP_DEFAULT, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyTalk", SDLK_t, + N_("Talk"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::talk, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME}, + {"keyTarget", SDLK_LSHIFT, + N_("Stop Attack"), + KeyboardConfig::GRP_DEFAULT, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME}, + {"keyUnTarget", KeyboardConfig::KEY_NO_VALUE, + N_("Untarget"), + KeyboardConfig::GRP_DEFAULT, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyTargetClosest", SDLK_a, + N_("Target Closest"), + KeyboardConfig::GRP_DEFAULT, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyTargetNPC", SDLK_n, + N_("Target NPC"), + KeyboardConfig::GRP_DEFAULT, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyTargetPlayer", SDLK_q, + N_("Target Player"), + KeyboardConfig::GRP_DEFAULT, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyPickup", SDLK_z, + N_("Pickup"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::pickup, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyChangePickupType", SDLK_o, + N_("Change Pickup Type"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changePickupType, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED | COND_EMODS}, + {"keyHideWindows", SDLK_h, + N_("Hide Windows"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::hideWindows, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyBeingSit", SDLK_s, + N_("Sit"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::sit, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyScreenshot", SDLK_p, + N_("Screenshot"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::screenshot, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyTrade", SDLK_r, + N_("Enable/Disable Trading"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeTrade, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyPathfind", SDLK_f, + N_("Change Map View Mode"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeMapMode, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET | COND_EMODS}, + {"keyOK", SDLK_SPACE, + N_("Select OK"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::ok, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOMODAL | COND_NOAWAY | COND_NONPCINPUT}, + {"keyQuit", SDLK_ESCAPE, + N_("Quit"), + KeyboardConfig::GRP_DEFAULT, +// nullptr, + &ActionManager::quit, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"", 0, + N_("Shortcuts Keys"), + 0, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyShortcutsKey", SDLK_MENU, + N_("Item Shortcuts Key"), + KeyboardConfig::GRP_DEFAULT, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyShortcut1", SDLK_1, + strprintf(N_("Item Shortcut %d"), 1), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut2", SDLK_2, + strprintf(N_("Item Shortcut %d"), 2), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut3", SDLK_3, + strprintf(N_("Item Shortcut %d"), 3), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut4", SDLK_4, + strprintf(N_("Item Shortcut %d"), 4), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut5", SDLK_5, + strprintf(N_("Item Shortcut %d"), 5), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut6", SDLK_6, + strprintf(N_("Item Shortcut %d"), 6), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut7", SDLK_7, + strprintf(N_("Item Shortcut %d"), 7), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut8", SDLK_8, + strprintf(N_("Item Shortcut %d"), 8), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut9", SDLK_9, + strprintf(N_("Item Shortcut %d"), 9), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut10", SDLK_0, + strprintf(N_("Item Shortcut %d"), 10), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut11", SDLK_MINUS, + strprintf(N_("Item Shortcut %d"), 11), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut12", SDLK_EQUALS, + strprintf(N_("Item Shortcut %d"), 12), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut13", SDLK_BACKSPACE, + strprintf(N_("Item Shortcut %d"), 13), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut14", SDLK_INSERT, + strprintf(N_("Item Shortcut %d"), 14), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut15", SDLK_HOME, + strprintf(N_("Item Shortcut %d"), 15), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut16", KeyboardConfig::KEY_NO_VALUE, + strprintf(N_("Item Shortcut %d"), 16), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut17", KeyboardConfig::KEY_NO_VALUE, + strprintf(N_("Item Shortcut %d"), 17), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut18", KeyboardConfig::KEY_NO_VALUE, + strprintf(N_("Item Shortcut %d"), 18), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut19", KeyboardConfig::KEY_NO_VALUE, + strprintf(N_("Item Shortcut %d"), 19), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyShortcut20", KeyboardConfig::KEY_NO_VALUE, + strprintf(N_("Item Shortcut %d"), 20), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::shortcut, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"", 0, + N_("Windows Keys"), + 0, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyWindowHelp", SDLK_F1, + N_("Help Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::helpWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowStatus", SDLK_F2, + N_("Status Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::statusWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowInventory", SDLK_F3, + N_("Inventory Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::inventoryWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowEquipment", SDLK_F4, + N_("Equipment Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::equipmentWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowSkill", SDLK_F5, + N_("Skill Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::skillDialogShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowMinimap", SDLK_F6, + N_("Minimap Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::minimapWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowChat", SDLK_F7, + N_("Chat Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::chatWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowShortcut", SDLK_F8, + N_("Item Shortcut Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::shortcutWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowSetup", SDLK_F9, + N_("Setup Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::setupWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOTARGET | COND_NOINPUT | COND_ENABLED}, + {"keyWindowDebug", SDLK_F10, + N_("Debug Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::debugWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowSocial", SDLK_F11, + N_("Social Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::socialWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowEmoteBar", SDLK_F12, + N_("Emote Shortcut Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::emoteShortcutWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowOutfit", SDLK_BACKQUOTE, + N_("Outfits Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::outfitWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowShop", -1, + N_("Shop Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::shopWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowDrop", SDLK_w, + N_("Quick drop Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::dropShortcutWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowKills", SDLK_e, + N_("Kill Stats Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::killStatsWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowSpells", SDLK_j, + N_("Commands Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::spellShortcutWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowBotChecker", SDLK_LEFTBRACKET, + N_("Bot Checker Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::botcheckerWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowOnline", KeyboardConfig::KEY_NO_VALUE, + N_("Who Is Online Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::whoIsOnlineWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keyWindowDidYouKnow", KeyboardConfig::KEY_NO_VALUE, + N_("Did you know Window"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::didYouKnowWindowShow, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_NOTARGET}, + {"keySocialPrevTab", KeyboardConfig::KEY_NO_VALUE, + N_("Previous Social Tab"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::prevSocialTab, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOINPUT}, + {"keySocialNextTab", KeyboardConfig::KEY_NO_VALUE, + N_("Next Social Tab"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::nextSocialTab, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOINPUT}, + {"", 0, + N_("Emotes Keys"), + 0, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keySmilie", SDLK_LALT, + N_("Smilie"), + KeyboardConfig::GRP_DEFAULT, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyEmoteShortcut1", SDLK_1, + strprintf(N_("Emote Shortcut %d"), 1), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut2", SDLK_2, + strprintf(N_("Emote Shortcut %d"), 2), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut3", SDLK_3, + strprintf(N_("Emote Shortcut %d"), 3), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut4", SDLK_4, + strprintf(N_("Emote Shortcut %d"), 4), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut5", SDLK_5, + strprintf(N_("Emote Shortcut %d"), 5), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut6", SDLK_6, + strprintf(N_("Emote Shortcut %d"), 6), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut7", SDLK_7, + strprintf(N_("Emote Shortcut %d"), 7), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut8", SDLK_8, + strprintf(N_("Emote Shortcut %d"), 8), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut9", SDLK_9, + strprintf(N_("Emote Shortcut %d"), 9), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut10", SDLK_0, + strprintf(N_("Emote Shortcut %d"), 10), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut11", SDLK_MINUS, + strprintf(N_("Emote Shortcut %d"), 11), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut12", SDLK_EQUALS, + strprintf(N_("Emote Shortcut %d"), 12), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut13", SDLK_BACKSPACE, + strprintf(N_("Emote Shortcut %d"), 13), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut14", SDLK_INSERT, + strprintf(N_("Emote Shortcut %d"), 14), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut15", SDLK_HOME, + strprintf(N_("Emote Shortcut %d"), 15), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut16", SDLK_q, + strprintf(N_("Emote Shortcut %d"), 16), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut17", SDLK_w, + strprintf(N_("Emote Shortcut %d"), 17), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut18", SDLK_e, + strprintf(N_("Emote Shortcut %d"), 18), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut19", SDLK_r, + strprintf(N_("Emote Shortcut %d"), 19), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut20", SDLK_t, + strprintf(N_("Emote Shortcut %d"), 20), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut21", SDLK_y, + strprintf(N_("Emote Shortcut %d"), 21), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut22", SDLK_u, + strprintf(N_("Emote Shortcut %d"), 22), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut23", SDLK_i, + strprintf(N_("Emote Shortcut %d"), 23), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut24", SDLK_o, + strprintf(N_("Emote Shortcut %d"), 24), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut25", SDLK_p, + strprintf(N_("Emote Shortcut %d"), 25), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut26", SDLK_LEFTBRACKET, + strprintf(N_("Emote Shortcut %d"), 26), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut27", SDLK_RIGHTBRACKET, + strprintf(N_("Emote Shortcut %d"), 27), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut28", SDLK_BACKSLASH, + strprintf(N_("Emote Shortcut %d"), 28), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut29", SDLK_a, + strprintf(N_("Emote Shortcut %d"), 29), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut30", SDLK_s, + strprintf(N_("Emote Shortcut %d"), 30), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut31", SDLK_d, + strprintf(N_("Emote Shortcut %d"), 31), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut32", SDLK_f, + strprintf(N_("Emote Shortcut %d"), 32), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut33", SDLK_g, + strprintf(N_("Emote Shortcut %d"), 33), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut34", SDLK_h, + strprintf(N_("Emote Shortcut %d"), 34), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut35", SDLK_j, + strprintf(N_("Emote Shortcut %d"), 35), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut36", SDLK_k, + strprintf(N_("Emote Shortcut %d"), 36), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut37", SDLK_l, + strprintf(N_("Emote Shortcut %d"), 37), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut38", SDLK_SEMICOLON, + strprintf(N_("Emote Shortcut %d"), 38), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut39", SDLK_QUOTE, + strprintf(N_("Emote Shortcut %d"), 39), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut40", SDLK_z, + strprintf(N_("Emote Shortcut %d"), 40), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut41", SDLK_x, + strprintf(N_("Emote Shortcut %d"), 41), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut42", SDLK_c, + strprintf(N_("Emote Shortcut %d"), 42), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut43", SDLK_v, + strprintf(N_("Emote Shortcut %d"), 43), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut44", SDLK_b, + strprintf(N_("Emote Shortcut %d"), 44), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut45", SDLK_n, + strprintf(N_("Emote Shortcut %d"), 45), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut46", SDLK_m, + strprintf(N_("Emote Shortcut %d"), 46), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut47", SDLK_COMMA, + strprintf(N_("Emote Shortcut %d"), 47), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"keyEmoteShortcut48", SDLK_PERIOD, + strprintf(N_("Emote Shortcut %d"), 48), + KeyboardConfig::GRP_EMOTION, + &ActionManager::emote, + KeyboardConfig::KEY_NO_VALUE, 100, + COND_GAME}, + {"", 0, + N_("Outfits Keys"), + 0, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyWearOutfit", SDLK_RCTRL, N_("Wear Outfit"), + KeyboardConfig::GRP_DEFAULT, nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, COND_DEFAULT}, + {"keyCopyOutfit", SDLK_RALT, N_("Copy Outfit"), + KeyboardConfig::GRP_DEFAULT, nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, COND_DEFAULT}, + {"keyCopyEquipedOutfit", SDLK_RIGHTBRACKET, + N_("Copy equipped to Outfit"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::copyEquippedToOutfit, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"", 0, N_("Chat Keys"), 0, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyChat", SDLK_RETURN, + N_("Toggle Chat"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_CHAT, + &ActionManager::toggleChat, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME}, + {"keyChatScrollUp", SDLK_PAGEUP, + N_("Scroll Chat Up"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::scrollChatUp, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyChatScrollDown", SDLK_PAGEDOWN, + N_("Scroll Chat Down"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::scrollChatDown, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyChatPrevTab", SDLK_KP7, + N_("Previous Chat Tab"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::prevChatTab, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOINPUT}, + {"keyChatNextTab", SDLK_KP9, + N_("Next Chat Tab"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::nextChatTab, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOINPUT}, + {"keyChatCloseTab", KeyboardConfig::KEY_NO_VALUE, + N_("Close current Chat Tab"), + KeyboardConfig::GRP_DEFAULT | KeyboardConfig::GRP_GUI, + &ActionManager::closeChatTab, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOINPUT}, + {"keyChatPrevHistory", SDLK_KP7, N_("Previous chat line"), + KeyboardConfig::GRP_CHAT, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyChatNextHistory", SDLK_KP9, N_("Next chat line"), + KeyboardConfig::GRP_CHAT, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyAutoCompleteChat", SDLK_TAB, N_("Chat Auto Complete"), + KeyboardConfig::GRP_CHAT, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyDeActivateChat", SDLK_ESCAPE, N_("Deactivate Chat Input"), + KeyboardConfig::GRP_CHAT, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"", 0, N_("Other Keys"), 0, nullptr, KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyIgnoreInput1", SDLK_LSUPER, + N_("Ignore input 1"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::ignoreInput, + KeyboardConfig::KEY_NO_VALUE, 500, + COND_DEFAULT}, + {"keyIgnoreInput2", SDLK_RSUPER, + N_("Ignore input 2"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::ignoreInput, + KeyboardConfig::KEY_NO_VALUE, 500, + COND_DEFAULT}, + {"keyDirectUp", SDLK_l, + N_("Direct Up"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::directUp, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyDirectDown", SDLK_SEMICOLON, + N_("Direct Down"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::directDown, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyDirectLeft", SDLK_k, + N_("Direct Left"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::directLeft, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyDirectRight", SDLK_QUOTE, + N_("Direct Right"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::directRight, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT}, + {"keyCrazyMoves", SDLK_SLASH, + N_("Crazy moves"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::crazyMoves, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keyChangeCrazyMoveType", SDLK_BACKSLASH, + N_("Change Crazy Move mode"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeCrazyMove, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED | COND_EMODS}, + {"keyQuickDrop", SDLK_y, + N_("Quick Drop N Items from 0 slot"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::dropItem0, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keyQuickDropN", SDLK_u, + N_("Quick Drop N Items"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::dropItem, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keySwitchQuickDrop", SDLK_i, + N_("Switch Quick Drop Counter"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::switchQuickDrop, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keyMagicInma1", SDLK_c, + N_("Quick heal target or self"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::heal, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keyMagicItenplz", SDLK_m, + N_("Use #itenplz spell"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::itenplz, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keyMagicAttack", SDLK_b, + N_("Use magic attack"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::magicAttack, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keySwitchMagicAttack", SDLK_COMMA, + N_("Switch magic attack"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeMagicAttack, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED | COND_EMODS}, + {"keySwitchPvpAttack", KeyboardConfig::KEY_NO_VALUE, + N_("Switch pvp attack"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changePvpMode, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED | COND_EMODS}, + {"keyInvertDirection", SDLK_KP0, + N_("Change move type"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeMoveType, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED | COND_EMODS}, + {"keyChangeAttackWeaponType", SDLK_g, + N_("Change Attack Weapon Type"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeAttackWeaponType, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED | COND_EMODS}, + {"keyChangeAttackType", SDLK_END, + N_("Change Attack Type"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeAttackType, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED | COND_EMODS}, + {"keyChangeFollowMode", SDLK_KP1, + N_("Change Follow mode"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeFollowMode, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED | COND_EMODS}, + {"keyChangeImitationMode", SDLK_KP4, + N_("Change Imitation mode"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeImitationMode, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED | COND_EMODS}, + {"keyDisableGameModifiers", SDLK_KP8, + N_("Disable / Enable Game modifier keys"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeGameModifier, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keyChangeAudio", SDLK_KP3, + N_("On / Off audio"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::changeAudio, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keyAway", SDLK_KP2, + N_("Enable / Disable away mode"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::away, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED}, + {"keyRightClick", SDLK_TAB, + N_("Emulate right click from keyboard"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::mouseClick, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_NOINPUT | COND_NOAWAY | COND_NOMODAL}, + {"keyCameraMode", SDLK_KP_PLUS, + N_("Toggle camera mode"), + KeyboardConfig::GRP_DEFAULT, + &ActionManager::camera, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_GAME | COND_VALIDSPEED | COND_EMODS}, + {"keyMod", SDLK_LSHIFT, + N_("Modifier key"), + KeyboardConfig::GRP_GUI, + nullptr, + KeyboardConfig::KEY_NO_VALUE, 50, + COND_DEFAULT} +}; |