Polyphase Game Engine
Loading...
Searching...
No Matches
InputTypes.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <vector>
6#include <stdint.h>
7
8#if PLATFORM_WINDOWS
9#include <windows.h>
10#include <Xinput.h>
11#define DIRECTINPUT_VERSION 0x0800
12#include <dinput.h>
13#elif PLATFORM_DOLPHIN
14#include <gccore.h>
15#elif PLATFORM_3DS
16#include <3ds.h>
17#endif
18
19class Signal;
20
21enum class GamepadType
22{
25 Wiimote,
29
30 Count
31};
32
43
76
88
90{
91 int32_t mDevice = -1;
94 float mAccel[3] = { }; // x, y, z accelerometer values
95 float mGyro[3] = { }; // x, y, z gyroscope values
96 float mOrientation[3] = { }; // pitch, yaw, roll in degrees
98 bool mConnected = false;
99};
100
102{
107
112
114 int32_t mScrollWheelDelta = 0;
115 int32_t mMouseDeltaX = 0;
116 int32_t mMouseDeltaY = 0;
117
118 int32_t mPointerX[INPUT_MAX_TOUCHES] = { 0 };
119 int32_t mPointerY[INPUT_MAX_TOUCHES] = { 0 };
120 int32_t mNumControllers = 0;
121
122 std::vector<int32_t> mJustDownKeys;
123
124 bool mCursorLocked = false;
125 bool mCursorTrapped = false;
126 bool mCursorShown = true;
127
128#if PLATFORM_WINDOWS
129 XINPUT_STATE mXinputStates[INPUT_MAX_GAMEPADS] = { };
130 XINPUT_STATE mXinputPrevStates[INPUT_MAX_GAMEPADS] = { };
131 bool mActiveControllers[INPUT_MAX_GAMEPADS] = { };
132
133 // DirectInput state (for non-XInput, non-Sony controllers)
134 IDirectInput8* mDirectInput = nullptr;
135 IDirectInputDevice8* mDInputDevices[INPUT_MAX_GAMEPADS] = { };
136 DIJOYSTATE2 mDInputStates[INPUT_MAX_GAMEPADS] = { };
137 GUID mDInputDeviceGUIDs[INPUT_MAX_GAMEPADS] = { };
138 bool mDInputSlotUsed[INPUT_MAX_GAMEPADS] = { };
139
140 // Raw HID state (for Sony DualSense/DualShock via HID API)
141 HANDLE mHidDevices[INPUT_MAX_GAMEPADS] = { };
142 bool mHidSlotUsed[INPUT_MAX_GAMEPADS] = { };
143 uint8_t mHidReportBuf[INPUT_MAX_GAMEPADS][128] = { };
144 OVERLAPPED mHidOverlapped[INPUT_MAX_GAMEPADS] = { };
145 bool mHidReadPending[INPUT_MAX_GAMEPADS] = { };
146#endif
147};
148
149#if PLATFORM_WINDOWS
150
151enum KeyCode
152{
155
156 POLYPHASE_KEY_0 = 48,
157 POLYPHASE_KEY_1 = 49,
158 POLYPHASE_KEY_2 = 50,
159 POLYPHASE_KEY_3 = 51,
160 POLYPHASE_KEY_4 = 52,
161 POLYPHASE_KEY_5 = 53,
162 POLYPHASE_KEY_6 = 54,
163 POLYPHASE_KEY_7 = 55,
164 POLYPHASE_KEY_8 = 56,
165 POLYPHASE_KEY_9 = 57,
166
167 POLYPHASE_KEY_A = 65,
168 POLYPHASE_KEY_B = 66,
169 POLYPHASE_KEY_C = 67,
170 POLYPHASE_KEY_D = 68,
171 POLYPHASE_KEY_E = 69,
172 POLYPHASE_KEY_F = 70,
173 POLYPHASE_KEY_G = 71,
174 POLYPHASE_KEY_H = 72,
175 POLYPHASE_KEY_I = 73,
176 POLYPHASE_KEY_J = 74,
177 POLYPHASE_KEY_K = 75,
178 POLYPHASE_KEY_L = 76,
179 POLYPHASE_KEY_M = 77,
180 POLYPHASE_KEY_N = 78,
181 POLYPHASE_KEY_O = 79,
182 POLYPHASE_KEY_P = 80,
183 POLYPHASE_KEY_Q = 81,
184 POLYPHASE_KEY_R = 82,
185 POLYPHASE_KEY_S = 83,
186 POLYPHASE_KEY_T = 84,
187 POLYPHASE_KEY_U = 85,
188 POLYPHASE_KEY_V = 86,
189 POLYPHASE_KEY_W = 87,
190 POLYPHASE_KEY_X = 88,
191 POLYPHASE_KEY_Y = 89,
192 POLYPHASE_KEY_Z = 90,
193
198
205
208 POLYPHASE_KEY_HOME = 0x24,
209 POLYPHASE_KEY_END = 0x23,
212
213 POLYPHASE_KEY_UP = 38,
217
228
229 POLYPHASE_KEY_F1 = 112,
230 POLYPHASE_KEY_F2 = 113,
231 POLYPHASE_KEY_F3 = 114,
232 POLYPHASE_KEY_F4 = 115,
233 POLYPHASE_KEY_F5 = 116,
234 POLYPHASE_KEY_F6 = 117,
235 POLYPHASE_KEY_F7 = 118,
236 POLYPHASE_KEY_F8 = 119,
237 POLYPHASE_KEY_F9 = 120,
238 POLYPHASE_KEY_F10 = 121,
239 POLYPHASE_KEY_F11 = 122,
240 POLYPHASE_KEY_F12 = 123,
241
243 POLYPHASE_KEY_COMMA = 0xBC,
244 POLYPHASE_KEY_PLUS = 0xBB,
245 POLYPHASE_KEY_MINUS = 0xBD,
246
247 POLYPHASE_KEY_COLON = 0xBA,
253 POLYPHASE_KEY_QUOTE = 0xDE,
254
256};
257
258#elif PLATFORM_ANDROID
259
260enum KeyCode
261{
264
265 POLYPHASE_KEY_0 = 7,
266 POLYPHASE_KEY_1 = 8,
267 POLYPHASE_KEY_2 = 9,
268 POLYPHASE_KEY_3 = 10,
269 POLYPHASE_KEY_4 = 11,
270 POLYPHASE_KEY_5 = 12,
271 POLYPHASE_KEY_6 = 13,
272 POLYPHASE_KEY_7 = 14,
273 POLYPHASE_KEY_8 = 15,
274 POLYPHASE_KEY_9 = 16,
275
276 POLYPHASE_KEY_A = 29,
277 POLYPHASE_KEY_B = 30,
278 POLYPHASE_KEY_C = 31,
279 POLYPHASE_KEY_D = 32,
280 POLYPHASE_KEY_E = 33,
281 POLYPHASE_KEY_F = 34,
282 POLYPHASE_KEY_G = 35,
283 POLYPHASE_KEY_H = 36,
284 POLYPHASE_KEY_I = 37,
285 POLYPHASE_KEY_J = 38,
286 POLYPHASE_KEY_K = 39,
287 POLYPHASE_KEY_L = 40,
288 POLYPHASE_KEY_M = 41,
289 POLYPHASE_KEY_N = 42,
290 POLYPHASE_KEY_O = 43,
291 POLYPHASE_KEY_P = 44,
292 POLYPHASE_KEY_Q = 45,
293 POLYPHASE_KEY_R = 46,
294 POLYPHASE_KEY_S = 47,
295 POLYPHASE_KEY_T = 48,
296 POLYPHASE_KEY_U = 49,
297 POLYPHASE_KEY_V = 50,
298 POLYPHASE_KEY_W = 51,
299 POLYPHASE_KEY_X = 52,
300 POLYPHASE_KEY_Y = 53,
301 POLYPHASE_KEY_Z = 54,
302
307
314
315 POLYPHASE_KEY_UP = 19,
319
330
331 POLYPHASE_KEY_F1 = 131,
332 POLYPHASE_KEY_F2 = 132,
333 POLYPHASE_KEY_F3 = 133,
334 POLYPHASE_KEY_F4 = 134,
335 POLYPHASE_KEY_F5 = 135,
336 POLYPHASE_KEY_F6 = 136,
337 POLYPHASE_KEY_F7 = 137,
338 POLYPHASE_KEY_F8 = 138,
339 POLYPHASE_KEY_F9 = 139,
340 POLYPHASE_KEY_F10 = 140,
341 POLYPHASE_KEY_F11 = 141,
342 POLYPHASE_KEY_F12 = 142,
343
350 POLYPHASE_KEY_SQUIGGLE = 216, // Couldnt find keycode
354 POLYPHASE_KEY_QUOTE = 218, // Couldnt find keycode
355
358 POLYPHASE_KEY_HOME = 255,
359 POLYPHASE_KEY_END = 255,
362
363 POLYPHASE_KEY_DECIMAL = 255 //???
364};
365
366// TODO: Use these button values in INP_Update()
367
368/*
369TODO: ANDROID-PLAT - These enum names conflict with the GamepadButtonCode enum above.
370enum GamepadCode
371{
372 GAMEPAD_A = 96,
373 GAMEPAD_B = 97,
374 GAMEPAD_C = 98,
375 GAMEPAD_X = 99,
376 GAMEPAD_Y = 100,
377 GAMEPAD_Z = 101,
378 GAMEPAD_L1 = 102,
379 GAMEPAD_R1 = 103,
380 GAMEPAD_L2 = 104,
381 GAMEPAD_R2 = 105,
382 GAMEPAD_THUMBL = 106,
383 GAMEPAD_THUMBR = 107,
384 GAMEPAD_START = 108,
385 GAMEPAD_SELECT = 109,
386 GAMEPAD_LEFT = 0,
387 GAMEPAD_RIGHT = 0,
388 GAMEPAD_UP = 0,
389 GAMEPAD_DOWN = 0,
390
391 GAMEPAD_AXIS_X = 0,
392 GAMEPAD_AXIS_Y = 1,
393 GAMEPAD_AXIS_Z = 11,
394 GAMEPAD_AXIS_RZ = 14,
395 GAMEPAD_AXIS_HAT_X = 15,
396 GAMEPAD_AXIS_HAT_Y = 16,
397 GAMEPAD_AXIS_LTRIGGER = 17,
398 GAMEPAD_AXIS_RTRIGGER = 18
399};
400*/
401
402#elif PLATFORM_3DS
403
404// 3DS has conflicts with POLYPHASE_KEY_A, POLYPHASE_KEY_B, POLYPHASE_KEY_L, POLYPHASE_KEY_DOWN, etc
405// because it uses those names for the gamepad buttons.
406// For now this version of the enum omits those
407
408enum KeyCode
409{
412
413 POLYPHASE_KEY_0 = 48,
414 POLYPHASE_KEY_1 = 49,
415 POLYPHASE_KEY_2 = 50,
416 POLYPHASE_KEY_3 = 51,
417 POLYPHASE_KEY_4 = 52,
418 POLYPHASE_KEY_5 = 53,
419 POLYPHASE_KEY_6 = 54,
420 POLYPHASE_KEY_7 = 55,
421 POLYPHASE_KEY_8 = 56,
422 POLYPHASE_KEY_9 = 57,
423
424 POLYPHASE_KEY_A = 65,
425 POLYPHASE_KEY_B = 66,
426 POLYPHASE_KEY_C = 67,
427 POLYPHASE_KEY_D = 68,
428 POLYPHASE_KEY_E = 69,
429 POLYPHASE_KEY_F = 70,
430 POLYPHASE_KEY_G = 71,
431 POLYPHASE_KEY_H = 72,
432 POLYPHASE_KEY_I = 73,
433 POLYPHASE_KEY_J = 74,
434 POLYPHASE_KEY_K = 75,
435 POLYPHASE_KEY_L = 76,
436 POLYPHASE_KEY_M = 77,
437 POLYPHASE_KEY_N = 78,
438 POLYPHASE_KEY_O = 79,
439 POLYPHASE_KEY_P = 80,
440 POLYPHASE_KEY_Q = 81,
441 POLYPHASE_KEY_R = 82,
442 POLYPHASE_KEY_S = 83,
443 POLYPHASE_KEY_T = 84,
444 POLYPHASE_KEY_U = 85,
445 POLYPHASE_KEY_V = 86,
446 POLYPHASE_KEY_W = 87,
447 POLYPHASE_KEY_X = 88,
448 POLYPHASE_KEY_Y = 89,
449 POLYPHASE_KEY_Z = 90,
450
455
462
465 POLYPHASE_KEY_HOME = 255,
466 POLYPHASE_KEY_END = 255,
469
470 POLYPHASE_KEY_UP = 38,
474
485
486 POLYPHASE_KEY_F1 = 112,
487 POLYPHASE_KEY_F2 = 113,
488 POLYPHASE_KEY_F3 = 114,
489 POLYPHASE_KEY_F4 = 115,
490 POLYPHASE_KEY_F5 = 116,
491 POLYPHASE_KEY_F6 = 117,
492 POLYPHASE_KEY_F7 = 118,
493 POLYPHASE_KEY_F8 = 119,
494 POLYPHASE_KEY_F9 = 120,
495 POLYPHASE_KEY_F10 = 121,
496 POLYPHASE_KEY_F11 = 122,
497 POLYPHASE_KEY_F12 = 123,
498
500 POLYPHASE_KEY_COMMA = 0xBC,
501 POLYPHASE_KEY_PLUS = 0xBB,
502 POLYPHASE_KEY_MINUS = 0xBD,
503
504 POLYPHASE_KEY_COLON = 0xBA,
510 POLYPHASE_KEY_QUOTE = 0xDE,
511
513};
514
515#elif PLATFORM_LINUX
516
517enum KeyCode
518{
521
522 POLYPHASE_KEY_0 = 19,
523 POLYPHASE_KEY_1 = 10,
524 POLYPHASE_KEY_2 = 11,
525 POLYPHASE_KEY_3 = 12,
526 POLYPHASE_KEY_4 = 13,
527 POLYPHASE_KEY_5 = 14,
528 POLYPHASE_KEY_6 = 15,
529 POLYPHASE_KEY_7 = 16,
530 POLYPHASE_KEY_8 = 17,
531 POLYPHASE_KEY_9 = 18,
532
533 POLYPHASE_KEY_A = 38,
534 POLYPHASE_KEY_B = 56,
535 POLYPHASE_KEY_C = 54,
536 POLYPHASE_KEY_D = 40,
537 POLYPHASE_KEY_E = 26,
538 POLYPHASE_KEY_F = 41,
539 POLYPHASE_KEY_G = 42,
540 POLYPHASE_KEY_H = 43,
541 POLYPHASE_KEY_I = 31,
542 POLYPHASE_KEY_J = 44,
543 POLYPHASE_KEY_K = 45,
544 POLYPHASE_KEY_L = 46,
545 POLYPHASE_KEY_M = 58,
546 POLYPHASE_KEY_N = 57,
547 POLYPHASE_KEY_O = 32,
548 POLYPHASE_KEY_P = 33,
549 POLYPHASE_KEY_Q = 24,
550 POLYPHASE_KEY_R = 27,
551 POLYPHASE_KEY_S = 39,
552 POLYPHASE_KEY_T = 28,
553 POLYPHASE_KEY_U = 30,
554 POLYPHASE_KEY_V = 55,
555 POLYPHASE_KEY_W = 25,
556 POLYPHASE_KEY_X = 53,
557 POLYPHASE_KEY_Y = 29,
558 POLYPHASE_KEY_Z = 52,
559
564
571
574 POLYPHASE_KEY_HOME = 110,
575 POLYPHASE_KEY_END = 115,
578
579 POLYPHASE_KEY_UP = 111,
580 POLYPHASE_KEY_DOWN = 116,
581 POLYPHASE_KEY_LEFT = 113,
583
594
595 POLYPHASE_KEY_F1 = 67,
596 POLYPHASE_KEY_F2 = 68,
597 POLYPHASE_KEY_F3 = 69,
598 POLYPHASE_KEY_F4 = 70,
599 POLYPHASE_KEY_F5 = 71,
600 POLYPHASE_KEY_F6 = 72,
601 POLYPHASE_KEY_F7 = 73,
602 POLYPHASE_KEY_F8 = 74,
603 POLYPHASE_KEY_F9 = 75,
607
612
620
622};
623
624#else // All other platforms
625
627{
630
641
668
673
680
687
692
703
716
721
729
732
733#endif
#define INPUT_MAX_TOUCHES
Definition InputConstants.h:4
#define INPUT_MAX_GAMEPADS
Definition InputConstants.h:5
#define INPUT_MAX_KEYS
Definition InputConstants.h:3
GamepadButtonCode
Definition InputTypes.h:45
@ GAMEPAD_R_RIGHT
Definition InputTypes.h:69
@ GAMEPAD_R_UP
Definition InputTypes.h:70
@ GAMEPAD_C
Definition InputTypes.h:48
@ GAMEPAD_L2
Definition InputTypes.h:54
@ GAMEPAD_R1
Definition InputTypes.h:53
@ GAMEPAD_RIGHT
Definition InputTypes.h:61
@ GAMEPAD_L_DOWN
Definition InputTypes.h:67
@ GAMEPAD_THUMBL
Definition InputTypes.h:56
@ GAMEPAD_THUMBR
Definition InputTypes.h:57
@ GAMEPAD_BUTTON_COUNT
Definition InputTypes.h:74
@ GAMEPAD_R_DOWN
Definition InputTypes.h:71
@ GAMEPAD_L_RIGHT
Definition InputTypes.h:65
@ GAMEPAD_UP
Definition InputTypes.h:62
@ GAMEPAD_Z
Definition InputTypes.h:51
@ GAMEPAD_START
Definition InputTypes.h:58
@ GAMEPAD_A
Definition InputTypes.h:46
@ GAMEPAD_R2
Definition InputTypes.h:55
@ GAMEPAD_L_LEFT
Definition InputTypes.h:64
@ GAMEPAD_HOME
Definition InputTypes.h:72
@ GAMEPAD_X
Definition InputTypes.h:49
@ GAMEPAD_SELECT
Definition InputTypes.h:59
@ GAMEPAD_DOWN
Definition InputTypes.h:63
@ GAMEPAD_Y
Definition InputTypes.h:50
@ GAMEPAD_L_UP
Definition InputTypes.h:66
@ GAMEPAD_B
Definition InputTypes.h:47
@ GAMEPAD_R_LEFT
Definition InputTypes.h:68
@ GAMEPAD_LEFT
Definition InputTypes.h:60
@ GAMEPAD_L1
Definition InputTypes.h:52
MouseCode
Definition InputTypes.h:34
@ MOUSE_BUTTON_COUNT
Definition InputTypes.h:41
@ MOUSE_RIGHT
Definition InputTypes.h:36
@ MOUSE_X1
Definition InputTypes.h:38
@ MOUSE_MIDDLE
Definition InputTypes.h:37
@ MOUSE_X2
Definition InputTypes.h:39
@ MOUSE_LEFT
Definition InputTypes.h:35
KeyCode
Definition InputTypes.h:627
@ POLYPHASE_KEY_F2
Definition InputTypes.h:705
@ POLYPHASE_KEY_LEFT
Definition InputTypes.h:690
@ POLYPHASE_KEY_J
Definition InputTypes.h:651
@ POLYPHASE_KEY_Z
Definition InputTypes.h:667
@ POLYPHASE_KEY_A
Definition InputTypes.h:642
@ POLYPHASE_KEY_F6
Definition InputTypes.h:709
@ POLYPHASE_KEY_Q
Definition InputTypes.h:658
@ POLYPHASE_KEY_8
Definition InputTypes.h:639
@ POLYPHASE_KEY_NUMPAD9
Definition InputTypes.h:702
@ POLYPHASE_KEY_I
Definition InputTypes.h:650
@ POLYPHASE_KEY_C
Definition InputTypes.h:644
@ POLYPHASE_KEY_QUOTE
Definition InputTypes.h:728
@ POLYPHASE_KEY_COLON
Definition InputTypes.h:722
@ POLYPHASE_KEY_NUMPAD8
Definition InputTypes.h:701
@ POLYPHASE_KEY_PLUS
Definition InputTypes.h:719
@ POLYPHASE_KEY_UP
Definition InputTypes.h:688
@ POLYPHASE_KEY_G
Definition InputTypes.h:648
@ POLYPHASE_KEY_ALT_L
Definition InputTypes.h:676
@ POLYPHASE_KEY_W
Definition InputTypes.h:664
@ POLYPHASE_KEY_NUMPAD5
Definition InputTypes.h:698
@ POLYPHASE_KEY_COMMA
Definition InputTypes.h:718
@ POLYPHASE_KEY_ALT_R
Definition InputTypes.h:679
@ POLYPHASE_KEY_INSERT
Definition InputTypes.h:681
@ POLYPHASE_KEY_0
Definition InputTypes.h:631
@ POLYPHASE_KEY_K
Definition InputTypes.h:652
@ POLYPHASE_KEY_BACK_SLASH
Definition InputTypes.h:726
@ POLYPHASE_KEY_SHIFT_L
Definition InputTypes.h:674
@ POLYPHASE_KEY_MINUS
Definition InputTypes.h:720
@ POLYPHASE_KEY_X
Definition InputTypes.h:665
@ POLYPHASE_KEY_DOWN
Definition InputTypes.h:689
@ POLYPHASE_KEY_PAGE_UP
Definition InputTypes.h:685
@ POLYPHASE_KEY_3
Definition InputTypes.h:634
@ POLYPHASE_KEY_NUMPAD3
Definition InputTypes.h:696
@ POLYPHASE_KEY_F3
Definition InputTypes.h:706
@ POLYPHASE_KEY_NUMPAD4
Definition InputTypes.h:697
@ POLYPHASE_KEY_NUMPAD7
Definition InputTypes.h:700
@ POLYPHASE_KEY_PAGE_DOWN
Definition InputTypes.h:686
@ POLYPHASE_KEY_H
Definition InputTypes.h:649
@ POLYPHASE_KEY_SPACE
Definition InputTypes.h:669
@ POLYPHASE_KEY_F1
Definition InputTypes.h:704
@ POLYPHASE_KEY_F
Definition InputTypes.h:647
@ POLYPHASE_KEY_CONTROL_L
Definition InputTypes.h:675
@ POLYPHASE_KEY_LEFT_BRACKET
Definition InputTypes.h:725
@ POLYPHASE_KEY_T
Definition InputTypes.h:661
@ POLYPHASE_KEY_P
Definition InputTypes.h:657
@ POLYPHASE_KEY_NUMPAD6
Definition InputTypes.h:699
@ POLYPHASE_KEY_E
Definition InputTypes.h:646
@ POLYPHASE_KEY_BACKSPACE
Definition InputTypes.h:671
@ POLYPHASE_KEY_L
Definition InputTypes.h:653
@ POLYPHASE_KEY_O
Definition InputTypes.h:656
@ POLYPHASE_KEY_F12
Definition InputTypes.h:715
@ POLYPHASE_KEY_U
Definition InputTypes.h:662
@ POLYPHASE_KEY_S
Definition InputTypes.h:660
@ POLYPHASE_KEY_CONTROL_R
Definition InputTypes.h:678
@ POLYPHASE_KEY_SHIFT_R
Definition InputTypes.h:677
@ POLYPHASE_KEY_PERIOD
Definition InputTypes.h:717
@ POLYPHASE_KEY_D
Definition InputTypes.h:645
@ POLYPHASE_KEY_F7
Definition InputTypes.h:710
@ POLYPHASE_KEY_6
Definition InputTypes.h:637
@ POLYPHASE_KEY_M
Definition InputTypes.h:654
@ POLYPHASE_KEY_9
Definition InputTypes.h:640
@ POLYPHASE_KEY_END
Definition InputTypes.h:684
@ POLYPHASE_KEY_R
Definition InputTypes.h:659
@ POLYPHASE_KEY_7
Definition InputTypes.h:638
@ POLYPHASE_KEY_5
Definition InputTypes.h:636
@ POLYPHASE_KEY_RIGHT_BRACKET
Definition InputTypes.h:727
@ POLYPHASE_KEY_1
Definition InputTypes.h:632
@ POLYPHASE_KEY_ENTER
Definition InputTypes.h:670
@ POLYPHASE_KEY_F10
Definition InputTypes.h:713
@ POLYPHASE_KEY_DECIMAL
Definition InputTypes.h:730
@ POLYPHASE_KEY_B
Definition InputTypes.h:643
@ POLYPHASE_KEY_F9
Definition InputTypes.h:712
@ POLYPHASE_KEY_F11
Definition InputTypes.h:714
@ POLYPHASE_KEY_NUMPAD2
Definition InputTypes.h:695
@ POLYPHASE_KEY_F4
Definition InputTypes.h:707
@ POLYPHASE_KEY_TAB
Definition InputTypes.h:672
@ POLYPHASE_KEY_4
Definition InputTypes.h:635
@ POLYPHASE_KEY_Y
Definition InputTypes.h:666
@ POLYPHASE_KEY_N
Definition InputTypes.h:655
@ POLYPHASE_KEY_HOME
Definition InputTypes.h:683
@ POLYPHASE_KEY_BACK
Definition InputTypes.h:628
@ POLYPHASE_KEY_V
Definition InputTypes.h:663
@ POLYPHASE_KEY_ESCAPE
Definition InputTypes.h:629
@ POLYPHASE_KEY_RIGHT
Definition InputTypes.h:691
@ POLYPHASE_KEY_F8
Definition InputTypes.h:711
@ POLYPHASE_KEY_F5
Definition InputTypes.h:708
@ POLYPHASE_KEY_DELETE
Definition InputTypes.h:682
@ POLYPHASE_KEY_NUMPAD1
Definition InputTypes.h:694
@ POLYPHASE_KEY_NUMPAD0
Definition InputTypes.h:693
@ POLYPHASE_KEY_2
Definition InputTypes.h:633
@ POLYPHASE_KEY_QUESTION
Definition InputTypes.h:723
@ POLYPHASE_KEY_SQUIGGLE
Definition InputTypes.h:724
GamepadAxisCode
Definition InputTypes.h:78
@ GAMEPAD_AXIS_RTRIGGER
Definition InputTypes.h:80
@ GAMEPAD_AXIS_COUNT
Definition InputTypes.h:86
@ GAMEPAD_AXIS_RTHUMB_X
Definition InputTypes.h:83
@ GAMEPAD_AXIS_LTHUMB_X
Definition InputTypes.h:81
@ GAMEPAD_AXIS_LTRIGGER
Definition InputTypes.h:79
@ GAMEPAD_AXIS_LTHUMB_Y
Definition InputTypes.h:82
@ GAMEPAD_AXIS_RTHUMB_Y
Definition InputTypes.h:84
GamepadType
Definition InputTypes.h:22
Definition Signals.h:20
Definition InputTypes.h:90
GamepadType mType
Definition InputTypes.h:97
bool mConnected
Definition InputTypes.h:98
float mAxes[GAMEPAD_AXIS_COUNT]
Definition InputTypes.h:93
float mAccel[3]
Definition InputTypes.h:94
int32_t mButtons[GAMEPAD_BUTTON_COUNT]
Definition InputTypes.h:92
float mGyro[3]
Definition InputTypes.h:95
int32_t mDevice
Definition InputTypes.h:91
float mOrientation[3]
Definition InputTypes.h:96
Definition InputTypes.h:102
bool mCursorTrapped
Definition InputTypes.h:125
int32_t mPointerY[INPUT_MAX_TOUCHES]
Definition InputTypes.h:119
bool mKeys[INPUT_MAX_KEYS]
Definition InputTypes.h:103
int32_t mMouseDeltaY
Definition InputTypes.h:116
bool mTouches[INPUT_MAX_TOUCHES]
Definition InputTypes.h:105
std::vector< int32_t > mJustDownKeys
Definition InputTypes.h:122
int32_t mPointerX[INPUT_MAX_TOUCHES]
Definition InputTypes.h:118
int32_t mNumControllers
Definition InputTypes.h:120
GamepadState mPrevGamepads[INPUT_MAX_GAMEPADS]
Definition InputTypes.h:111
int32_t mScrollWheelDelta
Definition InputTypes.h:114
int32_t mMouseDeltaX
Definition InputTypes.h:115
bool mCursorLocked
Definition InputTypes.h:124
bool mPrevTouches[INPUT_MAX_TOUCHES]
Definition InputTypes.h:110
bool mPrevKeys[INPUT_MAX_KEYS]
Definition InputTypes.h:108
bool mCursorShown
Definition InputTypes.h:126
bool mRepeatKeys[INPUT_MAX_KEYS]
Definition InputTypes.h:113
GamepadState mGamepads[INPUT_MAX_GAMEPADS]
Definition InputTypes.h:106
bool mMouseButtons[MOUSE_BUTTON_COUNT]
Definition InputTypes.h:104
bool mPrevMouseButtons[MOUSE_BUTTON_COUNT]
Definition InputTypes.h:109