]> git.lizzy.rs Git - dragonfireclient.git/blob - src/client/keys.h
7ee2867991a79974c89e09ef8833367bd6b651ee
[dragonfireclient.git] / src / client / keys.h
1 /*
2 Minetest
3 Copyright (C) 2016 est31, <MTest31@outlook.com>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation; either version 2.1 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #pragma once
21
22 #include <list>
23
24 class KeyType
25 {
26 public:
27         enum T
28         {
29                 // Player movement
30                 FORWARD,
31                 BACKWARD,
32                 LEFT,
33                 RIGHT,
34                 JUMP,
35                 SPECIAL1,
36                 SNEAK,
37                 AUTOFORWARD,
38
39                 ESC,
40
41                 // Other
42                 DROP,
43                 INVENTORY,
44                 CHAT,
45                 CMD,
46                 CMD_LOCAL,
47                 CONSOLE,
48                 MINIMAP,
49                 FREEMOVE,
50                 FASTMOVE,
51                 NOCLIP,
52                 HOTBAR_PREV,
53                 HOTBAR_NEXT,
54                 MUTE,
55                 INC_VOLUME,
56                 DEC_VOLUME,
57                 CINEMATIC,
58                 SCREENSHOT,
59                 TOGGLE_HUD,
60                 TOGGLE_CHAT,
61                 TOGGLE_FORCE_FOG_OFF,
62                 TOGGLE_UPDATE_CAMERA,
63                 TOGGLE_DEBUG,
64                 TOGGLE_PROFILER,
65                 CAMERA_MODE,
66                 INCREASE_VIEWING_RANGE,
67                 DECREASE_VIEWING_RANGE,
68                 RANGESELECT,
69                 ZOOM,
70
71                 QUICKTUNE_NEXT,
72                 QUICKTUNE_PREV,
73                 QUICKTUNE_INC,
74                 QUICKTUNE_DEC,
75
76                 DEBUG_STACKS,
77
78                 // hotbar
79                 SLOT_1,
80                 SLOT_2,
81                 SLOT_3,
82                 SLOT_4,
83                 SLOT_5,
84                 SLOT_6,
85                 SLOT_7,
86                 SLOT_8,
87                 SLOT_9,
88                 SLOT_10,
89                 SLOT_11,
90                 SLOT_12,
91                 SLOT_13,
92                 SLOT_14,
93                 SLOT_15,
94                 SLOT_16,
95                 SLOT_17,
96                 SLOT_18,
97                 SLOT_19,
98                 SLOT_20,
99                 SLOT_21,
100                 SLOT_22,
101                 SLOT_23,
102
103                 // joystick specific keys
104                 MOUSE_L,
105                 MOUSE_R,
106                 SCROLL_UP,
107                 SCROLL_DOWN,
108
109                 // Fake keycode for array size and internal checks
110                 INTERNAL_ENUM_COUNT
111
112         };
113 };
114
115 typedef KeyType::T GameKeyType;