Kohi Game Engine
input_types.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "defines.h"
4 
8 typedef enum mouse_buttons {
17 
21 typedef enum keys {
23  KEY_BACKSPACE = 0x08,
25  KEY_ENTER = 0x0D,
27  KEY_TAB = 0x09,
29  KEY_SHIFT = 0x10,
31  KEY_CONTROL = 0x11,
32 
34  KEY_PAUSE = 0x13,
36  KEY_CAPITAL = 0x14,
37 
39  KEY_ESCAPE = 0x1B,
40 
41  KEY_CONVERT = 0x1C,
43  KEY_ACCEPT = 0x1E,
45 
47  KEY_SPACE = 0x20,
49  KEY_PAGEUP = 0x21,
51  KEY_PAGEDOWN = 0x22,
53  KEY_END = 0x23,
55  KEY_HOME = 0x24,
57  KEY_LEFT = 0x25,
59  KEY_UP = 0x26,
61  KEY_RIGHT = 0x27,
63  KEY_DOWN = 0x28,
64  KEY_SELECT = 0x29,
65  KEY_PRINT = 0x2A,
66  KEY_EXECUTE = 0x2B,
70  KEY_INSERT = 0x2D,
72  KEY_DELETE = 0x2E,
73  KEY_HELP = 0x2F,
74 
76  KEY_0 = 0x30,
78  KEY_1 = 0x31,
80  KEY_2 = 0x32,
82  KEY_3 = 0x33,
84  KEY_4 = 0x34,
86  KEY_5 = 0x35,
88  KEY_6 = 0x36,
90  KEY_7 = 0x37,
92  KEY_8 = 0x38,
94  KEY_9 = 0x39,
95 
97  KEY_A = 0x41,
99  KEY_B = 0x42,
101  KEY_C = 0x43,
103  KEY_D = 0x44,
105  KEY_E = 0x45,
107  KEY_F = 0x46,
109  KEY_G = 0x47,
111  KEY_H = 0x48,
113  KEY_I = 0x49,
115  KEY_J = 0x4A,
117  KEY_K = 0x4B,
119  KEY_L = 0x4C,
121  KEY_M = 0x4D,
123  KEY_N = 0x4E,
125  KEY_O = 0x4F,
127  KEY_P = 0x50,
129  KEY_Q = 0x51,
131  KEY_R = 0x52,
133  KEY_S = 0x53,
135  KEY_T = 0x54,
137  KEY_U = 0x55,
139  KEY_V = 0x56,
141  KEY_W = 0x57,
143  KEY_X = 0x58,
145  KEY_Y = 0x59,
147  KEY_Z = 0x5A,
148 
150  KEY_LSUPER = 0x5B,
152  KEY_RSUPER = 0x5C,
154  KEY_APPS = 0x5D,
155 
157  KEY_SLEEP = 0x5F,
158 
160  KEY_NUMPAD0 = 0x60,
162  KEY_NUMPAD1 = 0x61,
164  KEY_NUMPAD2 = 0x62,
166  KEY_NUMPAD3 = 0x63,
168  KEY_NUMPAD4 = 0x64,
170  KEY_NUMPAD5 = 0x65,
172  KEY_NUMPAD6 = 0x66,
174  KEY_NUMPAD7 = 0x67,
176  KEY_NUMPAD8 = 0x68,
178  KEY_NUMPAD9 = 0x69,
180  KEY_MULTIPLY = 0x6A,
182  KEY_ADD = 0x6B,
186  KEY_SUBTRACT = 0x6D,
188  KEY_DECIMAL = 0x6E,
190  KEY_DIVIDE = 0x6F,
191 
193  KEY_F1 = 0x70,
195  KEY_F2 = 0x71,
197  KEY_F3 = 0x72,
199  KEY_F4 = 0x73,
201  KEY_F5 = 0x74,
203  KEY_F6 = 0x75,
205  KEY_F7 = 0x76,
207  KEY_F8 = 0x77,
209  KEY_F9 = 0x78,
211  KEY_F10 = 0x79,
213  KEY_F11 = 0x7A,
215  KEY_F12 = 0x7B,
217  KEY_F13 = 0x7C,
219  KEY_F14 = 0x7D,
221  KEY_F15 = 0x7E,
223  KEY_F16 = 0x7F,
225  KEY_F17 = 0x80,
227  KEY_F18 = 0x81,
229  KEY_F19 = 0x82,
231  KEY_F20 = 0x83,
233  KEY_F21 = 0x84,
235  KEY_F22 = 0x85,
237  KEY_F23 = 0x86,
239  KEY_F24 = 0x87,
240 
242  KEY_NUMLOCK = 0x90,
243 
245  KEY_SCROLL = 0x91,
246 
249 
251  KEY_LSHIFT = 0xA0,
253  KEY_RSHIFT = 0xA1,
255  KEY_LCONTROL = 0xA2,
257  KEY_RCONTROL = 0xA3,
259  KEY_LALT = 0xA4,
261  KEY_RALT = 0xA5,
262 
265 
271  KEY_EQUAL = 0xBB,
273  KEY_COMMA = 0xBC,
275  KEY_MINUS = 0xBD,
277  KEY_PERIOD = 0xBE,
279  KEY_SLASH = 0xBF,
280 
282  KEY_GRAVE = 0xC0,
283 
285  KEY_LBRACKET = 0xDB,
287  KEY_PIPE = 0xDC,
291  KEY_RBRACKET = 0xDD,
292 
293  KEYS_MAX_KEYS = 0xFF
This file contains global type definitions which are used throughout the entire engine and applicatio...
keys
Represents available keyboard keys.
Definition: input_types.h:21
@ KEY_F4
The F4 key.
Definition: input_types.h:199
@ KEY_SPACE
The spacebar key.
Definition: input_types.h:47
@ KEY_UP
The up arrow key.
Definition: input_types.h:59
@ KEY_P
The P key.
Definition: input_types.h:127
@ KEY_MODECHANGE
Definition: input_types.h:44
@ KEY_M
The M key.
Definition: input_types.h:121
@ KEY_B
The B key.
Definition: input_types.h:99
@ KEY_SCROLL
The scroll lock key.
Definition: input_types.h:245
@ KEY_F9
The F9 key.
Definition: input_types.h:209
@ KEY_NONCONVERT
Definition: input_types.h:42
@ KEY_CONVERT
Definition: input_types.h:41
@ KEY_2
The 2 key.
Definition: input_types.h:80
@ KEY_F6
The F6 key.
Definition: input_types.h:203
@ KEY_F22
The F22 key.
Definition: input_types.h:235
@ KEY_NUMPAD8
The numberpad 8 key.
Definition: input_types.h:176
@ KEY_INSERT
The insert key.
Definition: input_types.h:70
@ KEY_F13
The F13 key.
Definition: input_types.h:217
@ KEY_SEMICOLON
The semicolon key.
Definition: input_types.h:264
@ KEY_ENTER
The enter key.
Definition: input_types.h:25
@ KEY_E
The E key.
Definition: input_types.h:105
@ KEY_ACCEPT
Definition: input_types.h:43
@ KEY_I
The I key.
Definition: input_types.h:113
@ KEY_W
The W key.
Definition: input_types.h:141
@ KEY_D
The D key.
Definition: input_types.h:103
@ KEY_6
The 6 key.
Definition: input_types.h:88
@ KEY_F7
The F7 key.
Definition: input_types.h:205
@ KEY_LALT
The left alt key.
Definition: input_types.h:259
@ KEY_1
The 1 key.
Definition: input_types.h:78
@ KEY_DIVIDE
The numberpad divide key.
Definition: input_types.h:190
@ KEY_GRAVE
The grave key.
Definition: input_types.h:282
@ KEY_F21
The F21 key.
Definition: input_types.h:233
@ KEY_ESCAPE
The Escape key.
Definition: input_types.h:39
@ KEY_SELECT
Definition: input_types.h:64
@ KEY_F10
The F10 key.
Definition: input_types.h:211
@ KEY_F
The F key.
Definition: input_types.h:107
@ KEY_H
The H key.
Definition: input_types.h:111
@ KEY_F24
The F24 key.
Definition: input_types.h:239
@ KEY_X
The X key.
Definition: input_types.h:143
@ KEY_PRINTSCREEN
The Print Screen key.
Definition: input_types.h:68
@ KEY_CONTROL
The Control/Ctrl key.
Definition: input_types.h:31
@ KEY_G
The G key.
Definition: input_types.h:109
@ KEY_SLASH
The slash key.
Definition: input_types.h:279
@ KEY_NUMPAD0
The numberpad 0 key.
Definition: input_types.h:160
@ KEY_F15
The F15 key.
Definition: input_types.h:221
@ KEY_PAGEDOWN
The page down key.
Definition: input_types.h:51
@ KEY_F17
The F17 key.
Definition: input_types.h:225
@ KEY_Y
The Y key.
Definition: input_types.h:145
@ KEY_PAGEUP
The page up key.
Definition: input_types.h:49
@ KEY_APPS
The applicatons key.
Definition: input_types.h:154
@ KEY_MINUS
The minus key.
Definition: input_types.h:275
@ KEY_9
The 9 key.
Definition: input_types.h:94
@ KEY_TAB
The tab key.
Definition: input_types.h:27
@ KEY_LEFT
The left arrow key.
Definition: input_types.h:57
@ KEY_T
The T key.
Definition: input_types.h:135
@ KEY_RIGHT
The right arrow key.
Definition: input_types.h:61
@ KEY_NUMPAD1
The numberpad 1 key.
Definition: input_types.h:162
@ KEY_F5
The F5 key.
Definition: input_types.h:201
@ KEY_NUMPAD9
The numberpad 9 key.
Definition: input_types.h:178
@ KEY_K
The K key.
Definition: input_types.h:117
@ KEY_0
The 0 key.
Definition: input_types.h:76
@ KEY_LSUPER
The left Windows/Super key.
Definition: input_types.h:150
@ KEY_NUMPAD4
The numberpad 4 key.
Definition: input_types.h:168
@ KEY_PERIOD
The period key.
Definition: input_types.h:277
@ KEY_NUMPAD2
The numberpad 2 key.
Definition: input_types.h:164
@ KEY_SEPARATOR
The numberpad separator key.
Definition: input_types.h:184
@ KEY_F14
The F14 key.
Definition: input_types.h:219
@ KEY_SHIFT
The shift key.
Definition: input_types.h:29
@ KEY_F12
The F12 key.
Definition: input_types.h:215
@ KEY_SLEEP
The sleep key.
Definition: input_types.h:157
@ KEY_F2
The F2 key.
Definition: input_types.h:195
@ KEY_ADD
The numberpad add key.
Definition: input_types.h:182
@ KEY_RALT
The right alt key.
Definition: input_types.h:261
@ KEY_NUMPAD5
The numberpad 5 key.
Definition: input_types.h:170
@ KEY_F3
The F3 key.
Definition: input_types.h:197
@ KEY_C
The C key.
Definition: input_types.h:101
@ KEY_RBRACKET
The right (square) bracket key e.g. ]}.
Definition: input_types.h:291
@ KEY_F8
The F8 key.
Definition: input_types.h:207
@ KEY_F20
The F20 key.
Definition: input_types.h:231
@ KEY_F19
The F19 key.
Definition: input_types.h:229
@ KEY_BACKSPACE
The backspace key.
Definition: input_types.h:23
@ KEY_R
The R key.
Definition: input_types.h:131
@ KEY_N
The N key.
Definition: input_types.h:123
@ KEY_A
The A key.
Definition: input_types.h:97
@ KEY_MULTIPLY
The numberpad multiply key.
Definition: input_types.h:180
@ KEY_END
The end key.
Definition: input_types.h:53
@ KEY_NUMLOCK
The number lock key.
Definition: input_types.h:242
@ KEY_DOWN
The down arrow key.
Definition: input_types.h:63
@ KEY_8
The 8 key.
Definition: input_types.h:92
@ KEY_F16
The F16 key.
Definition: input_types.h:223
@ KEY_Z
The Z key.
Definition: input_types.h:147
@ KEY_RSUPER
The right Windows/Super key.
Definition: input_types.h:152
@ KEY_F18
The F18 key.
Definition: input_types.h:227
@ KEY_S
The S key.
Definition: input_types.h:133
@ KEY_J
The J key.
Definition: input_types.h:115
@ KEY_LSHIFT
The left shift key.
Definition: input_types.h:251
@ KEY_NUMPAD6
The numberpad 6 key.
Definition: input_types.h:172
@ KEY_LBRACKET
The left (square) bracket key e.g. [{.
Definition: input_types.h:285
@ KEY_Q
The Q key.
Definition: input_types.h:129
@ KEY_NUMPAD_EQUAL
The numberpad equal key.
Definition: input_types.h:248
@ KEY_EQUAL
The equal/plus key.
Definition: input_types.h:271
@ KEY_QUOTE
An alias for KEY_APOSTROPHE, apostrophe/single-quote key.
Definition: input_types.h:269
@ KEY_LCONTROL
The left control key.
Definition: input_types.h:255
@ KEY_PAUSE
The pause key.
Definition: input_types.h:34
@ KEY_EXECUTE
Definition: input_types.h:66
@ KEY_U
The U key.
Definition: input_types.h:137
@ KEY_F11
The F11 key.
Definition: input_types.h:213
@ KEY_HOME
The home key.
Definition: input_types.h:55
@ KEY_HELP
Definition: input_types.h:73
@ KEY_RCONTROL
The right control key.
Definition: input_types.h:257
@ KEY_F23
The F23 key.
Definition: input_types.h:237
@ KEY_RSHIFT
The right shift key.
Definition: input_types.h:253
@ KEY_NUMPAD3
The numberpad 3 key.
Definition: input_types.h:166
@ KEY_NUMPAD7
The numberpad 7 key.
Definition: input_types.h:174
@ KEY_7
The 7 key.
Definition: input_types.h:90
@ KEY_DELETE
The delete key.
Definition: input_types.h:72
@ KEY_O
The O key.
Definition: input_types.h:125
@ KEY_PIPE
The pipe/backslash key.
Definition: input_types.h:287
@ KEY_4
The 4 key.
Definition: input_types.h:84
@ KEY_APOSTROPHE
The apostrophe/single-quote key.
Definition: input_types.h:267
@ KEY_L
The L key.
Definition: input_types.h:119
@ KEY_5
The 5 key.
Definition: input_types.h:86
@ KEY_3
The 3 key.
Definition: input_types.h:82
@ KEY_BACKSLASH
An alias for the pipe/backslash key.
Definition: input_types.h:289
@ KEY_SUBTRACT
The numberpad subtract key.
Definition: input_types.h:186
@ KEY_PRINT
Definition: input_types.h:65
@ KEY_COMMA
The comma key.
Definition: input_types.h:273
@ KEYS_MAX_KEYS
Definition: input_types.h:293
@ KEY_V
The V key.
Definition: input_types.h:139
@ KEY_CAPITAL
The Caps Lock key.
Definition: input_types.h:36
@ KEY_DECIMAL
The numberpad decimal key.
Definition: input_types.h:188
@ KEY_F1
The F1 key.
Definition: input_types.h:193
mouse_buttons
Represents available mouse buttons.
Definition: input_types.h:8
@ MOUSE_BUTTON_LEFT
The left mouse button.
Definition: input_types.h:10
@ MOUSE_BUTTON_RIGHT
The right mouse button.
Definition: input_types.h:12
@ MOUSE_BUTTON_MIDDLE
The middle mouse button (typically the wheel)
Definition: input_types.h:14
@ MOUSE_BUTTON_MAX
Definition: input_types.h:15