~ubuntu-branches/ubuntu/trusty/manaplus/trusty-proposed

« back to all changes in this revision

Viewing changes to src/keydata.h

  • Committer: Package Import Robot
  • Author(s): Patrick Matthäi
  • Date: 2013-09-17 10:35:51 UTC
  • mfrom: (1.1.10)
  • Revision ID: package-import@ubuntu.com-20130917103551-az7p3nz9jgxwqjfn
Tags: 1.3.9.15-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 *  Custom keyboard shortcuts configuration
3
 
 *  Copyright (C) 2007  Joshua Langley <joshlangley@optusnet.com.au>
4
 
 *  Copyright (C) 2009-2010  The Mana Developers
5
 
 *  Copyright (C) 2011-2013  The ManaPlus Developers
6
 
 *
7
 
 *  This file is part of The ManaPlus Client.
8
 
 *
9
 
 *  This program is free software; you can redistribute it and/or modify
10
 
 *  it under the terms of the GNU General Public License as published by
11
 
 *  the Free Software Foundation; either version 2 of the License, or
12
 
 *  any later version.
13
 
 *
14
 
 *  This program is distributed in the hope that it will be useful,
15
 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17
 
 *  GNU General Public License for more details.
18
 
 *
19
 
 *  You should have received a copy of the GNU General Public License
20
 
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
 
 */
22
 
 
23
 
#ifndef KEYDATA_H
24
 
#define KEYDATA_H
25
 
 
26
 
#include "inputevent.h"
27
 
 
28
 
#include <string>
29
 
 
30
 
typedef bool (*ActionFuncPtr) (const InputEvent &event);
31
 
 
32
 
struct KeyData final
33
 
{
34
 
    const char *configField;
35
 
    int defaultType1;
36
 
    int defaultValue1;
37
 
    int defaultType2;
38
 
    int defaultValue2;
39
 
    int grp;
40
 
    ActionFuncPtr action;
41
 
    int modKeyIndex;
42
 
    int priority;
43
 
    int condition;
44
 
};
45
 
 
46
 
namespace Input
47
 
{
48
 
    enum KeyGroup
49
 
    {
50
 
        GRP_DEFAULT = 1,           // default game key
51
 
        GRP_CHAT = 2,              // chat key
52
 
        GRP_EMOTION = 4,           // emotions key
53
 
        GRP_OUTFIT = 8,            // outfit key
54
 
        GRP_GUI = 16,              // gui key
55
 
        GRP_MOVETOPOINT = 32,      // move to point key
56
 
        GRP_GUICHAN = 64,          // for guichan based controls
57
 
        GRP_REPEAT = 128           // repeat emulation keys
58
 
    };
59
 
 
60
 
    /**
61
 
      * All the key functions.
62
 
      * KEY_NO_VALUE is used in initialization, and should be unchanged.
63
 
      * KEY_TOTAL should always be last (used as a conditional in loops).
64
 
      * The key assignment view gets arranged according to the order of
65
 
      * these values.
66
 
      */
67
 
    enum KeyAction
68
 
    {
69
 
        KEY_NO_VALUE = -1,
70
 
        KEY_MOVE_UP,
71
 
        KEY_MOVE_DOWN,
72
 
        KEY_MOVE_LEFT,
73
 
        KEY_MOVE_RIGHT,
74
 
        KEY_ATTACK,
75
 
        KEY_TARGET_ATTACK,
76
 
        KEY_MOVE_TO_TARGET,
77
 
        KEY_CHANGE_MOVE_TO_TARGET,
78
 
        KEY_MOVE_TO_HOME,
79
 
        KEY_SET_HOME,
80
 
        KEY_MOVE_TO_POINT,
81
 
        KEY_TALK,
82
 
        KEY_STOP_ATTACK,
83
 
        KEY_UNTARGET,
84
 
        KEY_TARGET_MONSTER,
85
 
        KEY_TARGET_NPC,
86
 
        KEY_TARGET_PLAYER,
87
 
        KEY_PICKUP,
88
 
        KEY_CHANGE_PICKUP_TYPE,
89
 
        KEY_HIDE_WINDOWS,
90
 
        KEY_SIT,
91
 
        KEY_SCREENSHOT,
92
 
        KEY_TRADE,
93
 
        KEY_PATHFIND,
94
 
        KEY_OK,
95
 
        KEY_QUIT,
96
 
        KEY_SHORTCUTS_KEY,
97
 
        KEY_SHORTCUT_1,
98
 
        KEY_SHORTCUT_2,
99
 
        KEY_SHORTCUT_3,
100
 
        KEY_SHORTCUT_4,
101
 
        KEY_SHORTCUT_5,
102
 
        KEY_SHORTCUT_6,
103
 
        KEY_SHORTCUT_7,
104
 
        KEY_SHORTCUT_8,
105
 
        KEY_SHORTCUT_9,
106
 
        KEY_SHORTCUT_10,
107
 
        KEY_SHORTCUT_11,
108
 
        KEY_SHORTCUT_12,
109
 
        KEY_SHORTCUT_13,
110
 
        KEY_SHORTCUT_14,
111
 
        KEY_SHORTCUT_15,
112
 
        KEY_SHORTCUT_16,
113
 
        KEY_SHORTCUT_17,
114
 
        KEY_SHORTCUT_18,
115
 
        KEY_SHORTCUT_19,
116
 
        KEY_SHORTCUT_20,
117
 
        KEY_WINDOW_HELP,
118
 
        KEY_WINDOW_STATUS,
119
 
        KEY_WINDOW_INVENTORY,
120
 
        KEY_WINDOW_EQUIPMENT,
121
 
        KEY_WINDOW_SKILL,
122
 
        KEY_WINDOW_MINIMAP,
123
 
        KEY_WINDOW_CHAT,
124
 
        KEY_WINDOW_SHORTCUT,
125
 
        KEY_WINDOW_SETUP,
126
 
        KEY_WINDOW_DEBUG,
127
 
        KEY_WINDOW_SOCIAL,
128
 
        KEY_WINDOW_EMOTE_SHORTCUT,
129
 
        KEY_WINDOW_OUTFIT,
130
 
        KEY_WINDOW_SHOP,
131
 
        KEY_WINDOW_DROP,
132
 
        KEY_WINDOW_KILLS,
133
 
        KEY_WINDOW_SPELLS,
134
 
        KEY_WINDOW_BOT_CHECKER,
135
 
        KEY_WINDOW_ONLINE,
136
 
        KEY_WINDOW_DIDYOUKNOW,
137
 
        KEY_WINDOW_QUESTS,
138
 
        KEY_PREV_SOCIAL_TAB,
139
 
        KEY_NEXT_SOCIAL_TAB,
140
 
        KEY_EMOTE,
141
 
        KEY_EMOTE_1,
142
 
        KEY_EMOTE_2,
143
 
        KEY_EMOTE_3,
144
 
        KEY_EMOTE_4,
145
 
        KEY_EMOTE_5,
146
 
        KEY_EMOTE_6,
147
 
        KEY_EMOTE_7,
148
 
        KEY_EMOTE_8,
149
 
        KEY_EMOTE_9,
150
 
        KEY_EMOTE_10,
151
 
        KEY_EMOTE_11,
152
 
        KEY_EMOTE_12,
153
 
        KEY_EMOTE_13,
154
 
        KEY_EMOTE_14,
155
 
        KEY_EMOTE_15,
156
 
        KEY_EMOTE_16,
157
 
        KEY_EMOTE_17,
158
 
        KEY_EMOTE_18,
159
 
        KEY_EMOTE_19,
160
 
        KEY_EMOTE_20,
161
 
        KEY_EMOTE_21,
162
 
        KEY_EMOTE_22,
163
 
        KEY_EMOTE_23,
164
 
        KEY_EMOTE_24,
165
 
        KEY_EMOTE_25,
166
 
        KEY_EMOTE_26,
167
 
        KEY_EMOTE_27,
168
 
        KEY_EMOTE_28,
169
 
        KEY_EMOTE_29,
170
 
        KEY_EMOTE_30,
171
 
        KEY_EMOTE_31,
172
 
        KEY_EMOTE_32,
173
 
        KEY_EMOTE_33,
174
 
        KEY_EMOTE_34,
175
 
        KEY_EMOTE_35,
176
 
        KEY_EMOTE_36,
177
 
        KEY_EMOTE_37,
178
 
        KEY_EMOTE_38,
179
 
        KEY_EMOTE_39,
180
 
        KEY_EMOTE_40,
181
 
        KEY_EMOTE_41,
182
 
        KEY_EMOTE_42,
183
 
        KEY_EMOTE_43,
184
 
        KEY_EMOTE_44,
185
 
        KEY_EMOTE_45,
186
 
        KEY_EMOTE_46,
187
 
        KEY_EMOTE_47,
188
 
        KEY_EMOTE_48,
189
 
        KEY_WEAR_OUTFIT,
190
 
        KEY_COPY_OUTFIT,
191
 
        KEY_COPY_EQUIPED_OUTFIT,
192
 
        KEY_OUTFIT_1,
193
 
        KEY_OUTFIT_2,
194
 
        KEY_OUTFIT_3,
195
 
        KEY_OUTFIT_4,
196
 
        KEY_OUTFIT_5,
197
 
        KEY_OUTFIT_6,
198
 
        KEY_OUTFIT_7,
199
 
        KEY_OUTFIT_8,
200
 
        KEY_OUTFIT_9,
201
 
        KEY_OUTFIT_10,
202
 
        KEY_OUTFIT_11,
203
 
        KEY_OUTFIT_12,
204
 
        KEY_OUTFIT_13,
205
 
        KEY_OUTFIT_14,
206
 
        KEY_OUTFIT_15,
207
 
        KEY_OUTFIT_16,
208
 
        KEY_OUTFIT_17,
209
 
        KEY_OUTFIT_18,
210
 
        KEY_OUTFIT_19,
211
 
        KEY_OUTFIT_20,
212
 
        KEY_OUTFIT_21,
213
 
        KEY_OUTFIT_22,
214
 
        KEY_OUTFIT_23,
215
 
        KEY_OUTFIT_24,
216
 
        KEY_OUTFIT_25,
217
 
        KEY_OUTFIT_26,
218
 
        KEY_OUTFIT_27,
219
 
        KEY_OUTFIT_28,
220
 
        KEY_OUTFIT_29,
221
 
        KEY_OUTFIT_30,
222
 
        KEY_OUTFIT_31,
223
 
        KEY_OUTFIT_32,
224
 
        KEY_OUTFIT_33,
225
 
        KEY_OUTFIT_34,
226
 
        KEY_OUTFIT_35,
227
 
        KEY_OUTFIT_36,
228
 
        KEY_OUTFIT_37,
229
 
        KEY_OUTFIT_38,
230
 
        KEY_OUTFIT_39,
231
 
        KEY_OUTFIT_40,
232
 
        KEY_OUTFIT_41,
233
 
        KEY_OUTFIT_42,
234
 
        KEY_OUTFIT_43,
235
 
        KEY_OUTFIT_44,
236
 
        KEY_OUTFIT_45,
237
 
        KEY_OUTFIT_46,
238
 
        KEY_OUTFIT_47,
239
 
        KEY_OUTFIT_48,
240
 
        KEY_MOVE_TO_POINT_1,
241
 
        KEY_MOVE_TO_POINT_2,
242
 
        KEY_MOVE_TO_POINT_3,
243
 
        KEY_MOVE_TO_POINT_4,
244
 
        KEY_MOVE_TO_POINT_5,
245
 
        KEY_MOVE_TO_POINT_6,
246
 
        KEY_MOVE_TO_POINT_7,
247
 
        KEY_MOVE_TO_POINT_8,
248
 
        KEY_MOVE_TO_POINT_9,
249
 
        KEY_MOVE_TO_POINT_10,
250
 
        KEY_MOVE_TO_POINT_11,
251
 
        KEY_MOVE_TO_POINT_12,
252
 
        KEY_MOVE_TO_POINT_13,
253
 
        KEY_MOVE_TO_POINT_14,
254
 
        KEY_MOVE_TO_POINT_15,
255
 
        KEY_MOVE_TO_POINT_16,
256
 
        KEY_MOVE_TO_POINT_17,
257
 
        KEY_MOVE_TO_POINT_18,
258
 
        KEY_MOVE_TO_POINT_19,
259
 
        KEY_MOVE_TO_POINT_20,
260
 
        KEY_MOVE_TO_POINT_21,
261
 
        KEY_MOVE_TO_POINT_22,
262
 
        KEY_MOVE_TO_POINT_23,
263
 
        KEY_MOVE_TO_POINT_24,
264
 
        KEY_MOVE_TO_POINT_25,
265
 
        KEY_MOVE_TO_POINT_26,
266
 
        KEY_MOVE_TO_POINT_27,
267
 
        KEY_MOVE_TO_POINT_28,
268
 
        KEY_MOVE_TO_POINT_29,
269
 
        KEY_MOVE_TO_POINT_30,
270
 
        KEY_MOVE_TO_POINT_31,
271
 
        KEY_MOVE_TO_POINT_32,
272
 
        KEY_MOVE_TO_POINT_33,
273
 
        KEY_MOVE_TO_POINT_34,
274
 
        KEY_MOVE_TO_POINT_35,
275
 
        KEY_MOVE_TO_POINT_36,
276
 
        KEY_MOVE_TO_POINT_37,
277
 
        KEY_MOVE_TO_POINT_38,
278
 
        KEY_MOVE_TO_POINT_39,
279
 
        KEY_MOVE_TO_POINT_40,
280
 
        KEY_MOVE_TO_POINT_41,
281
 
        KEY_MOVE_TO_POINT_42,
282
 
        KEY_MOVE_TO_POINT_43,
283
 
        KEY_MOVE_TO_POINT_44,
284
 
        KEY_MOVE_TO_POINT_45,
285
 
        KEY_MOVE_TO_POINT_46,
286
 
        KEY_MOVE_TO_POINT_47,
287
 
        KEY_MOVE_TO_POINT_48,
288
 
        KEY_TOGGLE_CHAT,
289
 
        KEY_SCROLL_CHAT_UP,
290
 
        KEY_SCROLL_CHAT_DOWN,
291
 
        KEY_PREV_CHAT_TAB,
292
 
        KEY_NEXT_CHAT_TAB,
293
 
        KEY_CLOSE_CHAT_TAB,
294
 
        KEY_CHAT_PREV_HISTORY,
295
 
        KEY_CHAT_NEXT_HISTORY,
296
 
        KEY_IGNORE_INPUT_1,
297
 
        KEY_IGNORE_INPUT_2,
298
 
        KEY_DIRECT_UP,
299
 
        KEY_DIRECT_DOWN,
300
 
        KEY_DIRECT_LEFT,
301
 
        KEY_DIRECT_RIGHT,
302
 
        KEY_CRAZY_MOVES,
303
 
        KEY_CHANGE_CRAZY_MOVES_TYPE,
304
 
        KEY_QUICK_DROP,
305
 
        KEY_QUICK_DROPN,
306
 
        KEY_SWITCH_QUICK_DROP,
307
 
        KEY_MAGIC_INMA1,
308
 
        KEY_MAGIC_ITENPLZ,
309
 
        KEY_MAGIC_ATTACK,
310
 
        KEY_SWITCH_MAGIC_ATTACK,
311
 
        KEY_SWITCH_PVP_ATTACK,
312
 
        KEY_INVERT_DIRECTION,
313
 
        KEY_CHANGE_ATTACK_WEAPON_TYPE,
314
 
        KEY_CHANGE_ATTACK_TYPE,
315
 
        KEY_CHANGE_FOLLOW_MODE,
316
 
        KEY_CHANGE_IMITATION_MODE,
317
 
        KEY_DISABLE_GAME_MODIFIERS,
318
 
        KEY_CHANGE_AUDIO,
319
 
        KEY_AWAY,
320
 
        KEY_RIGHT_CLICK,
321
 
        KEY_CAMERA,
322
 
        KEY_MOD,
323
 
        KEY_GUI_UP,
324
 
        KEY_GUI_DOWN,
325
 
        KEY_GUI_LEFT,
326
 
        KEY_GUI_RIGHT,
327
 
        KEY_GUI_SELECT,
328
 
        KEY_GUI_SELECT2,
329
 
        KEY_GUI_CANCEL,
330
 
        KEY_GUI_HOME,
331
 
        KEY_GUI_END,
332
 
        KEY_GUI_DELETE,
333
 
        KEY_GUI_BACKSPACE,
334
 
        KEY_GUI_TAB,
335
 
        KEY_GUI_PAGE_UP,
336
 
        KEY_GUI_PAGE_DOWN,
337
 
        KEY_GUI_INSERT,
338
 
        KEY_GUI_MOD,
339
 
        KEY_SAFE_VIDEO,
340
 
        KEY_STOP_SIT,
341
 
        KEY_SHOW_KEYBOARD,
342
 
        KEY_SHOW_WINDOWS,
343
 
        KEY_CHAT_MOD,
344
 
        KEY_TOTAL
345
 
    };
346
 
}  // namespace Input
347
 
 
348
 
#endif  // KEYDATA_H