diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-08-31 21:33:50 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-08-31 21:49:21 +0300 |
commit | 8a999b66fd697404c6640778a6dd1ce0e747334a (patch) | |
tree | b9d16368acff30878f28264286b1b8be8b01b168 /src/input/keydata.h | |
parent | b310c51796d1632aeefc834dc0e931c52f909a41 (diff) | |
download | manaplus-8a999b66fd697404c6640778a6dd1ce0e747334a.tar.gz manaplus-8a999b66fd697404c6640778a6dd1ce0e747334a.tar.bz2 manaplus-8a999b66fd697404c6640778a6dd1ce0e747334a.tar.xz manaplus-8a999b66fd697404c6640778a6dd1ce0e747334a.zip |
move input related files into input dir.
Diffstat (limited to 'src/input/keydata.h')
-rw-r--r-- | src/input/keydata.h | 348 |
1 files changed, 348 insertions, 0 deletions
diff --git a/src/input/keydata.h b/src/input/keydata.h new file mode 100644 index 000000000..bb5d27fd1 --- /dev/null +++ b/src/input/keydata.h @@ -0,0 +1,348 @@ +/* + * Custom keyboard shortcuts configuration + * Copyright (C) 2007 Joshua Langley <joshlangley@optusnet.com.au> + * Copyright (C) 2009-2010 The Mana Developers + * Copyright (C) 2011-2013 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 INPUT_KEYDATA_H +#define INPUT_KEYDATA_H + +#include "input/inputevent.h" + +#include <string> + +typedef bool (*ActionFuncPtr) (const InputEvent &event); + +struct KeyData final +{ + const char *configField; + int defaultType1; + int defaultValue1; + int defaultType2; + int defaultValue2; + int grp; + ActionFuncPtr action; + int modKeyIndex; + int priority; + int condition; +}; + +namespace Input +{ + enum KeyGroup + { + GRP_DEFAULT = 1, // default game key + GRP_CHAT = 2, // chat key + GRP_EMOTION = 4, // emotions key + GRP_OUTFIT = 8, // outfit key + GRP_GUI = 16, // gui key + GRP_MOVETOPOINT = 32, // move to point key + GRP_GUICHAN = 64, // for guichan based controls + GRP_REPEAT = 128 // repeat emulation keys + }; + + /** + * All the key functions. + * KEY_NO_VALUE is used in initialization, and should be unchanged. + * KEY_TOTAL should always be last (used as a conditional in loops). + * The key assignment view gets arranged according to the order of + * these values. + */ + enum KeyAction + { + KEY_NO_VALUE = -1, + KEY_MOVE_UP, + KEY_MOVE_DOWN, + KEY_MOVE_LEFT, + KEY_MOVE_RIGHT, + KEY_ATTACK, + KEY_TARGET_ATTACK, + KEY_MOVE_TO_TARGET, + KEY_CHANGE_MOVE_TO_TARGET, + KEY_MOVE_TO_HOME, + KEY_SET_HOME, + KEY_MOVE_TO_POINT, + KEY_TALK, + KEY_STOP_ATTACK, + KEY_UNTARGET, + KEY_TARGET_MONSTER, + KEY_TARGET_NPC, + KEY_TARGET_PLAYER, + KEY_PICKUP, + KEY_CHANGE_PICKUP_TYPE, + KEY_HIDE_WINDOWS, + KEY_SIT, + KEY_SCREENSHOT, + KEY_TRADE, + KEY_PATHFIND, + KEY_OK, + KEY_QUIT, + KEY_SHORTCUTS_KEY, + KEY_SHORTCUT_1, + KEY_SHORTCUT_2, + KEY_SHORTCUT_3, + KEY_SHORTCUT_4, + KEY_SHORTCUT_5, + KEY_SHORTCUT_6, + KEY_SHORTCUT_7, + KEY_SHORTCUT_8, + KEY_SHORTCUT_9, + KEY_SHORTCUT_10, + KEY_SHORTCUT_11, + KEY_SHORTCUT_12, + KEY_SHORTCUT_13, + KEY_SHORTCUT_14, + KEY_SHORTCUT_15, + KEY_SHORTCUT_16, + KEY_SHORTCUT_17, + KEY_SHORTCUT_18, + KEY_SHORTCUT_19, + KEY_SHORTCUT_20, + KEY_WINDOW_HELP, + KEY_WINDOW_STATUS, + KEY_WINDOW_INVENTORY, + KEY_WINDOW_EQUIPMENT, + KEY_WINDOW_SKILL, + KEY_WINDOW_MINIMAP, + KEY_WINDOW_CHAT, + KEY_WINDOW_SHORTCUT, + KEY_WINDOW_SETUP, + KEY_WINDOW_DEBUG, + KEY_WINDOW_SOCIAL, + KEY_WINDOW_EMOTE_SHORTCUT, + KEY_WINDOW_OUTFIT, + KEY_WINDOW_SHOP, + KEY_WINDOW_DROP, + KEY_WINDOW_KILLS, + KEY_WINDOW_SPELLS, + KEY_WINDOW_BOT_CHECKER, + KEY_WINDOW_ONLINE, + KEY_WINDOW_DIDYOUKNOW, + KEY_WINDOW_QUESTS, + KEY_PREV_SOCIAL_TAB, + KEY_NEXT_SOCIAL_TAB, + KEY_EMOTE, + KEY_EMOTE_1, + KEY_EMOTE_2, + KEY_EMOTE_3, + KEY_EMOTE_4, + KEY_EMOTE_5, + KEY_EMOTE_6, + KEY_EMOTE_7, + KEY_EMOTE_8, + KEY_EMOTE_9, + KEY_EMOTE_10, + KEY_EMOTE_11, + KEY_EMOTE_12, + KEY_EMOTE_13, + KEY_EMOTE_14, + KEY_EMOTE_15, + KEY_EMOTE_16, + KEY_EMOTE_17, + KEY_EMOTE_18, + KEY_EMOTE_19, + KEY_EMOTE_20, + KEY_EMOTE_21, + KEY_EMOTE_22, + KEY_EMOTE_23, + KEY_EMOTE_24, + KEY_EMOTE_25, + KEY_EMOTE_26, + KEY_EMOTE_27, + KEY_EMOTE_28, + KEY_EMOTE_29, + KEY_EMOTE_30, + KEY_EMOTE_31, + KEY_EMOTE_32, + KEY_EMOTE_33, + KEY_EMOTE_34, + KEY_EMOTE_35, + KEY_EMOTE_36, + KEY_EMOTE_37, + KEY_EMOTE_38, + KEY_EMOTE_39, + KEY_EMOTE_40, + KEY_EMOTE_41, + KEY_EMOTE_42, + KEY_EMOTE_43, + KEY_EMOTE_44, + KEY_EMOTE_45, + KEY_EMOTE_46, + KEY_EMOTE_47, + KEY_EMOTE_48, + KEY_WEAR_OUTFIT, + KEY_COPY_OUTFIT, + KEY_COPY_EQUIPED_OUTFIT, + KEY_OUTFIT_1, + KEY_OUTFIT_2, + KEY_OUTFIT_3, + KEY_OUTFIT_4, + KEY_OUTFIT_5, + KEY_OUTFIT_6, + KEY_OUTFIT_7, + KEY_OUTFIT_8, + KEY_OUTFIT_9, + KEY_OUTFIT_10, + KEY_OUTFIT_11, + KEY_OUTFIT_12, + KEY_OUTFIT_13, + KEY_OUTFIT_14, + KEY_OUTFIT_15, + KEY_OUTFIT_16, + KEY_OUTFIT_17, + KEY_OUTFIT_18, + KEY_OUTFIT_19, + KEY_OUTFIT_20, + KEY_OUTFIT_21, + KEY_OUTFIT_22, + KEY_OUTFIT_23, + KEY_OUTFIT_24, + KEY_OUTFIT_25, + KEY_OUTFIT_26, + KEY_OUTFIT_27, + KEY_OUTFIT_28, + KEY_OUTFIT_29, + KEY_OUTFIT_30, + KEY_OUTFIT_31, + KEY_OUTFIT_32, + KEY_OUTFIT_33, + KEY_OUTFIT_34, + KEY_OUTFIT_35, + KEY_OUTFIT_36, + KEY_OUTFIT_37, + KEY_OUTFIT_38, + KEY_OUTFIT_39, + KEY_OUTFIT_40, + KEY_OUTFIT_41, + KEY_OUTFIT_42, + KEY_OUTFIT_43, + KEY_OUTFIT_44, + KEY_OUTFIT_45, + KEY_OUTFIT_46, + KEY_OUTFIT_47, + KEY_OUTFIT_48, + KEY_MOVE_TO_POINT_1, + KEY_MOVE_TO_POINT_2, + KEY_MOVE_TO_POINT_3, + KEY_MOVE_TO_POINT_4, + KEY_MOVE_TO_POINT_5, + KEY_MOVE_TO_POINT_6, + KEY_MOVE_TO_POINT_7, + KEY_MOVE_TO_POINT_8, + KEY_MOVE_TO_POINT_9, + KEY_MOVE_TO_POINT_10, + KEY_MOVE_TO_POINT_11, + KEY_MOVE_TO_POINT_12, + KEY_MOVE_TO_POINT_13, + KEY_MOVE_TO_POINT_14, + KEY_MOVE_TO_POINT_15, + KEY_MOVE_TO_POINT_16, + KEY_MOVE_TO_POINT_17, + KEY_MOVE_TO_POINT_18, + KEY_MOVE_TO_POINT_19, + KEY_MOVE_TO_POINT_20, + KEY_MOVE_TO_POINT_21, + KEY_MOVE_TO_POINT_22, + KEY_MOVE_TO_POINT_23, + KEY_MOVE_TO_POINT_24, + KEY_MOVE_TO_POINT_25, + KEY_MOVE_TO_POINT_26, + KEY_MOVE_TO_POINT_27, + KEY_MOVE_TO_POINT_28, + KEY_MOVE_TO_POINT_29, + KEY_MOVE_TO_POINT_30, + KEY_MOVE_TO_POINT_31, + KEY_MOVE_TO_POINT_32, + KEY_MOVE_TO_POINT_33, + KEY_MOVE_TO_POINT_34, + KEY_MOVE_TO_POINT_35, + KEY_MOVE_TO_POINT_36, + KEY_MOVE_TO_POINT_37, + KEY_MOVE_TO_POINT_38, + KEY_MOVE_TO_POINT_39, + KEY_MOVE_TO_POINT_40, + KEY_MOVE_TO_POINT_41, + KEY_MOVE_TO_POINT_42, + KEY_MOVE_TO_POINT_43, + KEY_MOVE_TO_POINT_44, + KEY_MOVE_TO_POINT_45, + KEY_MOVE_TO_POINT_46, + KEY_MOVE_TO_POINT_47, + KEY_MOVE_TO_POINT_48, + KEY_TOGGLE_CHAT, + KEY_SCROLL_CHAT_UP, + KEY_SCROLL_CHAT_DOWN, + KEY_PREV_CHAT_TAB, + KEY_NEXT_CHAT_TAB, + KEY_CLOSE_CHAT_TAB, + KEY_CHAT_PREV_HISTORY, + KEY_CHAT_NEXT_HISTORY, + KEY_IGNORE_INPUT_1, + KEY_IGNORE_INPUT_2, + KEY_DIRECT_UP, + KEY_DIRECT_DOWN, + KEY_DIRECT_LEFT, + KEY_DIRECT_RIGHT, + KEY_CRAZY_MOVES, + KEY_CHANGE_CRAZY_MOVES_TYPE, + KEY_QUICK_DROP, + KEY_QUICK_DROPN, + KEY_SWITCH_QUICK_DROP, + KEY_MAGIC_INMA1, + KEY_MAGIC_ITENPLZ, + KEY_MAGIC_ATTACK, + KEY_SWITCH_MAGIC_ATTACK, + KEY_SWITCH_PVP_ATTACK, + KEY_INVERT_DIRECTION, + KEY_CHANGE_ATTACK_WEAPON_TYPE, + KEY_CHANGE_ATTACK_TYPE, + KEY_CHANGE_FOLLOW_MODE, + KEY_CHANGE_IMITATION_MODE, + KEY_DISABLE_GAME_MODIFIERS, + KEY_CHANGE_AUDIO, + KEY_AWAY, + KEY_RIGHT_CLICK, + KEY_CAMERA, + KEY_MOD, + KEY_GUI_UP, + KEY_GUI_DOWN, + KEY_GUI_LEFT, + KEY_GUI_RIGHT, + KEY_GUI_SELECT, + KEY_GUI_SELECT2, + KEY_GUI_CANCEL, + KEY_GUI_HOME, + KEY_GUI_END, + KEY_GUI_DELETE, + KEY_GUI_BACKSPACE, + KEY_GUI_TAB, + KEY_GUI_PAGE_UP, + KEY_GUI_PAGE_DOWN, + KEY_GUI_INSERT, + KEY_GUI_MOD, + KEY_SAFE_VIDEO, + KEY_STOP_SIT, + KEY_SHOW_KEYBOARD, + KEY_SHOW_WINDOWS, + KEY_CHAT_MOD, + KEY_TOTAL + }; +} // namespace Input + +#endif // INPUT_KEYDATA_H |