InputTypes.h
1 /*
2 
3 Copyright (c) 2018, Johnathan Corkery. (jcorkery@umich.edu)
4 All rights reserved.
5 
6 This file is part of the Dynacoe project (https://github.com/jcorks/Dynacoe)
7 Dynacoe was released under the MIT License, as detailed below.
8 
9 
10 
11 Permission is hereby granted, free of charge, to any person obtaining a copy
12 of this software and associated documentation files (the "Software"), to deal
13 in the Software without restriction, including without limitation the rights
14 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15 copies of the Software, and to permit persons to whom the Software is furnished
16 to do so, subject to the following conditions:
17 
18 The above copyright notice and this permission notice shall
19 be included in all copies or substantial portions of the Software.
20 
21 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
25 DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27 DEALINGS IN THE SOFTWARE.
28 
29 
30 
31 */
32 
33 
34 #ifndef H_DC_INPUT_TYPES
35 #define H_DC_INPUT_TYPES
36 
37 
38 
39 namespace Dynacoe {
40 
43 
45 enum class Keyboard {
46  Key_0,
47  Key_1,
48  Key_2,
49  Key_3,
50  Key_4,
51  Key_5,
52  Key_6,
53  Key_7,
54  Key_8,
55  Key_9,
56  Key_a,
57  Key_b,
58  Key_c,
59  Key_d,
60  Key_e,
61  Key_f,
62  Key_g,
63  Key_h,
64  Key_i,
65  Key_j,
66  Key_k,
67  Key_l,
68  Key_m,
69  Key_n,
70  Key_o,
71  Key_p,
72  Key_q,
73  Key_r,
74  Key_s,
75  Key_t,
76  Key_u,
77  Key_v,
78  Key_w,
79  Key_x,
80  Key_y,
81  Key_z,
82  Key_lshift,
83  Key_rshift,
84  Key_lctrl,
85  Key_rctrl,
86  Key_lalt,
87  Key_ralt,
88  Key_tab,
89  Key_F1,
90  Key_F2,
91  Key_F3,
92  Key_F4,
93  Key_F5,
94  Key_F6,
95  Key_F7,
96  Key_F8,
97  Key_F9,
98  Key_F10,
99  Key_F11,
100  Key_F12,
101  Key_up,
102  Key_down,
103  Key_left,
104  Key_right,
105  Key_minus,
106  Key_equal,
107  Key_backspace,
108  Key_grave,
109  Key_esc,
110  Key_home,
111  Key_pageUp,
112  Key_pageDown,
113  Key_end,
114  Key_backslash,
115  Key_lbracket,
116  Key_rbracket,
117  Key_semicolon,
120  Key_enter,
121  Key_delete,
122  Key_numpad0,
123  Key_numpad1,
124  Key_numpad2,
125  Key_numpad3,
126  Key_numpad4,
127  Key_numpad5,
128  Key_numpad6,
129  Key_numpad7,
130  Key_numpad8,
131  Key_numpad9,
132  Key_prtscr,
133  Key_lsuper,
134  Key_rsuper,
135  Key_space,
136  Key_insert,
137  Key_comma,
138  Key_period,
139  NumButtons
140 };
141 
144 enum class MouseButtons {
145  Left,
146  Right,
147  Middle,
148  NumButtons
149 };
150 
153 enum class MouseAxes {
154  X,
155  Y,
156  Wheel,
157  NumAxes
158 };
159 
163 enum class PadButtons {
164  Pad_b0,
165  Pad_b1,
166  Pad_b2,
167  Pad_b3,
168  Pad_b4,
169  Pad_b5,
170  Pad_b6,
171  Pad_b7,
172  Pad_b8,
173  Pad_b9,
174  Pad_b10,
175  Pad_b11,
176  Pad_b12,
177  Pad_b13,
178  Pad_b14,
179  Pad_b15,
180  Pad_b16,
181  Pad_b17,
182  Pad_b18,
183  Pad_b19,
184  Pad_b20,
185  Pad_b21,
186  Pad_b22,
187  Pad_b23,
188  Pad_b24,
189  Pad_b25,
190  Pad_b26,
191  Pad_b27,
192  Pad_b28,
193  Pad_b29,
194  Pad_b30,
195  Pad_b31,
196  Pad_b32,
197 
198  NumButtons
199 };
200 
203 enum class PadAxes {
204 
205 
206  Pad_x,
207  Pad_y,
208  Pad_z,
209  Pad_x2,
210  Pad_y2,
211  Pad_z2,
212  Pad_x3,
213  Pad_y3,
214  Pad_z3,
215  Pad_x4,
216  Pad_y4,
217  Pad_z4,
218 
219  NumAxes
220 };
221 
222 
223 
226 enum class Pointers {
227  Mouse,
228  Touch,
229 
230  NumPointers
231 
232 };
233 
235 }
236 
237 
238 
239 #endif
MouseButtons
Mouse Button inputs.
Definition: InputTypes.h:144
The mouse pointer.
Horizontal axis.
Definition: AssetID.h:37
Right Super key (Windows key)
Vertical axis.
Keyboard
Enum containing all valid keyboard key inputs.
Definition: InputTypes.h:45
For touchscreens, this is the touch position.
Pointers
All valid pointers.
Definition: InputTypes.h:226
MouseAxes
Axes of movements for the mouse.
Definition: InputTypes.h:153
PadButtons
Valid inputs for an arbitrary input pad.
Definition: InputTypes.h:163
Right control key.
PadAxes
All the valid axes that an inputad can enter.
Definition: InputTypes.h:203
Print screen button.
Left Super key (Windows key)