summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/inputlistener.cpp38
-rw-r--r--src/inputlistener.h40
-rw-r--r--src/keyboardconfig.cpp982
-rw-r--r--src/keyboarddata.h1005
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}
+};