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