Skip to content

Commit 31de2f6

Browse files
committed
Improvements: changing motion shaking buttons, disabling and enabling button centering and fixes
1 parent a42f166 commit 31de2f6

File tree

5 files changed

+90
-55
lines changed

5 files changed

+90
-55
lines changed

README.FR.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ Pour le plein-écran, Playstation Plus utilise la combinaison de touches `ALT` +
8383

8484
DualShock 4 | Souris/clavier
8585
------------ | -------------
86-
L1 | CTRL
87-
R1 | Alt
86+
L1 | Alt
87+
R1 | Control
8888
L2 | Clic droit
8989
R2 | Clic gauche
9090
SHARE | F12
@@ -94,9 +94,9 @@ HAUT | 1
9494
GAUCHE | 2
9595
DROITE | 3
9696
BAS | 4
97-
TRIANGLE | Q
98-
CARRÉ | E
99-
ROND | R
97+
TRIANGLE | E
98+
CARRÉ | R
99+
ROND | Q
100100
CROIX | Espace
101101
L3 (appui sur le joystick) | Shift
102102
R3 (appui sur le joystick) | Bouton du milieu souris

README.RU.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ Uncharted 3: Иллюзии Дрейка (2011) | Кнопка "Share" (F12) д
8181

8282
DualShock 4 | Клавиатура и мышь
8383
------------ | -------------
84-
L1 | Control
85-
R2 | Alt
84+
L1 | Alt
85+
R1 | Control
8686
L2 | Правая кнопка мыши
8787
R2 | Левая кнопка мыши
8888
SHARE | F12
@@ -92,9 +92,9 @@ DPAD UP (стрелка вверх) | 1
9292
DPAD LEFT (стрелка влево) | 2
9393
DPAD RIGHT (стрелка вправо) | 3
9494
DPAD DOWN (стрелка вниз) | 4
95-
TRIANGLE (треугольник) | Q
96-
SQUARE (квадрат) | E
97-
CIRCLE (круг) | R
95+
TRIANGLE (треугольник) | E
96+
SQUARE (квадрат) | R
97+
CIRCLE (круг) | Q
9898
CROSS (крестик) | Space
9999
L3 (нажатие стика) | Shift
100100
R3 (нажатие стика) | Средняя кнопка мыши

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ For full-screen Playstation Plus use the keys "ALT" + "F10", the upper black bar
8383

8484
DualShock 4 | Keyboard and mouse
8585
------------ | -------------
86-
L1 | Control
87-
R1 | Alt
86+
L1 | Alt
87+
R1 | Control
8888
L2 | Right mouse button
8989
R2 | Left mouse button
9090
SHARE | F12
@@ -94,9 +94,9 @@ DPAD UP | 1
9494
DPAD LEFT | 2
9595
DPAD RIGHT | 3
9696
DPAD DOWN | 4
97-
TRIANGLE | Q
98-
SQUARE | E
99-
CIRCLE | R
97+
TRIANGLE | E
98+
SQUARE | R
99+
CIRCLE | Q
100100
CROSS | Space
101101
L3 (pressing the stick) | Shift
102102
R3 (pressing the stick) | Middle mouse button

Source/DS4Emulator.cpp

Lines changed: 48 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ SHORT DeadZoneXboxAxis(SHORT StickAxis, float Percent)
134134

135135
int main(int argc, char **argv)
136136
{
137-
SetConsoleTitle("DS4Emulator 1.8");
137+
SetConsoleTitle("DS4Emulator 1.8.1");
138138

139139
CIniReader IniFile("Config.ini"); // Config
140140

@@ -195,8 +195,9 @@ int main(int argc, char **argv)
195195
int EmulationMode = KBMode;
196196

197197
// Config parameters
198-
int KEY_ID_EXIT = KeyNameToKeyCode(IniFile.ReadString("Main", "ExitBtn", "~")); // "~" by default for RU, US and not for UK
199-
int KEY_ID_STOP_CENTERING = KeyNameToKeyCode(IniFile.ReadString("KeyboardMouse", "StopCenteringKey", "C"));
198+
std::string KEY_ID_STOP_CENTERING_NAME = IniFile.ReadString("KeyboardMouse", "StopCenteringKey", "C");
199+
int KEY_ID_STOP_CENTERING = KeyNameToKeyCode(KEY_ID_STOP_CENTERING_NAME);
200+
bool CenteingEnable = true;
200201

201202
bool InvertX = IniFile.ReadBoolean("Main", "InvertX", false);
202203
bool InvertY = IniFile.ReadBoolean("Main", "InvertY", false);
@@ -207,6 +208,11 @@ int main(int argc, char **argv)
207208
bool TouchPadPressedWhenSwiping = IniFile.ReadBoolean("Xbox", "TouchPadPressedWhenSwiping", true);
208209
bool EnableXboxButton = IniFile.ReadBoolean("Xbox", "EnableXboxButton", true);
209210

211+
std::string KEY_ID_XBOX_SHAKING_1_NAME = IniFile.ReadString("Xbox", "MotionShakingKey1", "BACK");
212+
int KEY_ID_XBOX_SHAKING_1 = XboxKeyNameToXboxKeyCode(KEY_ID_XBOX_SHAKING_1_NAME);
213+
std::string KEY_ID_XBOX_SHAKING_2_NAME = IniFile.ReadString("Xbox", "MotionShakingKey2", "RIGHT-SHOULDER");
214+
int KEY_ID_XBOX_SHAKING_2 = XboxKeyNameToXboxKeyCode(KEY_ID_XBOX_SHAKING_2_NAME);
215+
210216
float DeadZoneLeftStickX = IniFile.ReadFloat("Xbox", "DeadZoneLeftStickX", 0);
211217
float DeadZoneLeftStickY = IniFile.ReadFloat("Xbox", "DeadZoneLeftStickY", 0);
212218
float DeadZoneRightStickX = IniFile.ReadFloat("Xbox", "DeadZoneRightStickX", 0);
@@ -227,23 +233,23 @@ int main(int argc, char **argv)
227233
mouseSensetiveY = IniFile.ReadFloat("KeyboardMouse", "SensY", 15);
228234
int DeadZoneDS4 = IniFile.ReadInteger("KeyboardMouse", "DeadZone", 0); // 25, makes mouse movement smoother when moving slowly (12->25)
229235

230-
int KEY_ID_LEFT_STICK_UP = KeyNameToKeyCode(IniFile.ReadString("Keys", "LS_UP", "W"));
231-
int KEY_ID_LEFT_STICK_LEFT = KeyNameToKeyCode(IniFile.ReadString("Keys", "LS_LEFT", "A"));
232-
int KEY_ID_LEFT_STICK_RIGHT = KeyNameToKeyCode(IniFile.ReadString("Keys", "LS_RIGHT", "D"));
233-
int KEY_ID_LEFT_STICK_DOWN = KeyNameToKeyCode(IniFile.ReadString("Keys", "LS_DOWN", "S"));
236+
int KEY_ID_LEFT_STICK_UP = KeyNameToKeyCode(IniFile.ReadString("Keys", "LEFT-STICK-UP", "W"));
237+
int KEY_ID_LEFT_STICK_LEFT = KeyNameToKeyCode(IniFile.ReadString("Keys", "LEFT-STICK-LEFT", "A"));
238+
int KEY_ID_LEFT_STICK_RIGHT = KeyNameToKeyCode(IniFile.ReadString("Keys", "LEFT-STICK-RIGHT", "D"));
239+
int KEY_ID_LEFT_STICK_DOWN = KeyNameToKeyCode(IniFile.ReadString("Keys", "LEFT-STICK-DOWN", "S"));
234240
int KEY_ID_LEFT_TRIGGER = KeyNameToKeyCode(IniFile.ReadString("Keys", "L2", "MOUSE-RIGHT-BTN"));
235241
int KEY_ID_RIGHT_TRIGGER = KeyNameToKeyCode(IniFile.ReadString("Keys", "R2", "MOUSE-LEFT-BTN"));
236-
int KEY_ID_LEFT_SHOULDER = KeyNameToKeyCode(IniFile.ReadString("Keys", "L1", "CTRL"));
237-
int KEY_ID_RIGHT_SHOULDER = KeyNameToKeyCode(IniFile.ReadString("Keys", "R1", "ALT"));
238-
int KEY_ID_DPAD_UP = KeyNameToKeyCode(IniFile.ReadString("Keys", "DPAD_UP", "1"));
239-
int KEY_ID_DPAD_LEFT = KeyNameToKeyCode(IniFile.ReadString("Keys", "DPAD_LEFT", "2"));
240-
int KEY_ID_DPAD_RIGHT = KeyNameToKeyCode(IniFile.ReadString("Keys", "DPAD_RIGHT", "3"));
241-
int KEY_ID_DPAD_DOWN = KeyNameToKeyCode(IniFile.ReadString("Keys", "DPAD_DOWN", "4"));
242+
int KEY_ID_LEFT_SHOULDER = KeyNameToKeyCode(IniFile.ReadString("Keys", "L1", "ALT"));
243+
int KEY_ID_RIGHT_SHOULDER = KeyNameToKeyCode(IniFile.ReadString("Keys", "R1", "CTRL"));
244+
int KEY_ID_DPAD_UP = KeyNameToKeyCode(IniFile.ReadString("Keys", "DPAD-UP", "1"));
245+
int KEY_ID_DPAD_LEFT = KeyNameToKeyCode(IniFile.ReadString("Keys", "DPAD-LEFT", "2"));
246+
int KEY_ID_DPAD_RIGHT = KeyNameToKeyCode(IniFile.ReadString("Keys", "DPAD-RIGHT", "3"));
247+
int KEY_ID_DPAD_DOWN = KeyNameToKeyCode(IniFile.ReadString("Keys", "DPAD-DOWN", "4"));
242248
int KEY_ID_LEFT_THUMB = KeyNameToKeyCode(IniFile.ReadString("Keys", "L3", "SHIFT"));
243249
int KEY_ID_RIGHT_THUMB = KeyNameToKeyCode(IniFile.ReadString("Keys", "R3", "MOUSE-MIDDLE-BTN"));
244-
int KEY_ID_TRIANGLE = KeyNameToKeyCode(IniFile.ReadString("Keys", "TRIANGLE", "Q"));
245-
int KEY_ID_SQUARE = KeyNameToKeyCode(IniFile.ReadString("Keys", "SQUARE", "E"));
246-
int KEY_ID_CIRCLE = KeyNameToKeyCode(IniFile.ReadString("Keys", "CIRCLE", "R"));
250+
int KEY_ID_TRIANGLE = KeyNameToKeyCode(IniFile.ReadString("Keys", "TRIANGLE", "E"));
251+
int KEY_ID_SQUARE = KeyNameToKeyCode(IniFile.ReadString("Keys", "SQUARE", "R"));
252+
int KEY_ID_CIRCLE = KeyNameToKeyCode(IniFile.ReadString("Keys", "CIRCLE", "Q"));
247253
int KEY_ID_CROSS = KeyNameToKeyCode(IniFile.ReadString("Keys", "CROSS", "SPACE"));
248254
int KEY_ID_SHARE = KeyNameToKeyCode(IniFile.ReadString("Keys", "SHARE", "F12"));
249255
int KEY_ID_TOUCHPAD = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD", "ENTER"));
@@ -252,16 +258,16 @@ int main(int argc, char **argv)
252258

253259
int KEY_ID_SHAKING = KeyNameToKeyCode(IniFile.ReadString("Keys", "SHAKING", "T"));
254260

255-
int KEY_ID_TOUCHPAD_SWIPE_UP = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD_SWIPE_UP", "7"));
256-
int KEY_ID_TOUCHPAD_SWIPE_DOWN = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD_SWIPE_DOWN", "8"));
257-
int KEY_ID_TOUCHPAD_SWIPE_LEFT = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD_SWIPE_LEFT", "9"));
258-
int KEY_ID_TOUCHPAD_SWIPE_RIGHT = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD_SWIPE_RIGHT", "0"));
261+
int KEY_ID_TOUCHPAD_SWIPE_UP = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD-SWIPE-UP", "7"));
262+
int KEY_ID_TOUCHPAD_SWIPE_DOWN = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD-SWIPE-DOWN", "8"));
263+
int KEY_ID_TOUCHPAD_SWIPE_LEFT = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD-SWIPE-LEFT", "9"));
264+
int KEY_ID_TOUCHPAD_SWIPE_RIGHT = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD-SWIPE-RIGHT", "0"));
259265

260-
int KEY_ID_TOUCHPAD_UP = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD_UP", "U"));
261-
int KEY_ID_TOUCHPAD_DOWN = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD_DOWN", "N"));
262-
int KEY_ID_TOUCHPAD_LEFT = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD_LEFT", "H"));
263-
int KEY_ID_TOUCHPAD_RIGHT = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD_RIGHT", "K"));
264-
int KEY_ID_TOUCHPAD_CENTER = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD_CENTER", "J"));
266+
int KEY_ID_TOUCHPAD_UP = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD-UP", "U"));
267+
int KEY_ID_TOUCHPAD_DOWN = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD-DOWN", "N"));
268+
int KEY_ID_TOUCHPAD_LEFT = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD-LEFT", "H"));
269+
int KEY_ID_TOUCHPAD_RIGHT = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD-RIGHT", "K"));
270+
int KEY_ID_TOUCHPAD_CENTER = KeyNameToKeyCode(IniFile.ReadString("Keys", "TOUCHPAD-CENTER", "J"));
265271

266272
const auto client = vigem_alloc();
267273
auto ret = vigem_connect(client);
@@ -300,22 +306,24 @@ int main(int argc, char **argv)
300306
}
301307

302308
// Write current mode
303-
if (EmulationMode == XboxMode)
309+
if (EmulationMode == XboxMode) {
304310
printf("\n Emulation with Xbox controller.\n");
305-
else {
311+
printf_s(" Touchpad press: \"BACK\".\n Touchpad movement: \"BACK\" + \"RIGHT-STICK\".\n Motion shaking: \"%s\" + \"%s\".\n", KEY_ID_XBOX_SHAKING_1_NAME.c_str(), KEY_ID_XBOX_SHAKING_2_NAME.c_str());
312+
313+
} else {
306314
printf("\r\n Emulation with keyboard and mouse.\n");
307315
if (ActivateInAnyWindow == false)
308316
printf(" Activate in any window is disabled, so the emulated gamepad work only in \"PS Plus\" and \"PS4 Remote Play\".\n");
309-
printf(" Hold down \"C\" to for cursor movement.\n");
317+
printf_s(" Enable or disable cursor movement on the \"%s\" button (right stick emulation).\n", KEY_ID_STOP_CENTERING_NAME.c_str());
310318
}
311319
if (EmulationMode == KBMode) {
312320
printf(" Press \"ALT\" + \"F10\" to switch \"PS Plus\" to full-screen mode or return to normal.\n");
313321
if (CursorHidden)
314-
printf(" The cursor is hidden. To display the cursor, press \"ALT\" + \"Escape\" or \"exit key\".\n");
322+
printf(" The cursor is hidden. To display the cursor, press \"ALT\" + \"Escape\".\n");
315323
else
316324
printf(" The cursor is not hidden. To hide the cursor, press \"ALT\" + \"F2\".\n");
317325
}
318-
printf(" Press \"ALT\" + \"Escape\" or \"exit key\" to exit.\n");
326+
printf(" Press \"ALT\" + \"Escape\" to exit.\n");
319327

320328
DS4_TOUCH BuffPreviousTouch[2] = { 0, 0 };
321329
BuffPreviousTouch[0].bIsUpTrackingNum1 = 0x80;
@@ -324,7 +332,7 @@ int main(int argc, char **argv)
324332
bool AllowIncTouchIndex;
325333
bool DeadZoneMode = false;
326334

327-
while (!((GetAsyncKeyState(KEY_ID_EXIT) & 0x8000) || ((GetAsyncKeyState(VK_LMENU) & 0x8000) && (GetAsyncKeyState(VK_ESCAPE) & 0x8000)) )) // "~" by default
335+
while ( !( (GetAsyncKeyState(VK_LMENU) & 0x8000 && GetAsyncKeyState(VK_ESCAPE) & 0x8000) ) )
328336
{
329337
DS4_REPORT_INIT_EX(&report);
330338

@@ -356,7 +364,7 @@ int main(int argc, char **argv)
356364
if (DeadZoneMode == false) {
357365
system("cls");
358366
printf("\n Emulation with Xbox controller.\n");
359-
printf(" Press \"ALT\" + \"Escape\" or \"exit key\" to exit.\n");
367+
printf(" Press \"ALT\" + \"Escape\" to exit.\n");
360368
}
361369
SkipPollCount = SkipPollTimeOut;
362370
}
@@ -412,10 +420,11 @@ int main(int argc, char **argv)
412420
if (EnableXboxButton && myPState.Gamepad.wButtons & XINPUT_GAMEPAD_GUIDE) report.bSpecial |= DS4_SPECIAL_BUTTON_PS;
413421

414422
// Motion shaking
415-
if (myPState.Gamepad.wButtons & XINPUT_GAMEPAD_BACK && myPState.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_SHOULDER) {
416-
myPState.Gamepad.wButtons &= ~XINPUT_GAMEPAD_BACK; myPState.Gamepad.wButtons &= ~XINPUT_GAMEPAD_RIGHT_SHOULDER;
423+
if (myPState.Gamepad.wButtons & KEY_ID_XBOX_SHAKING_1 && myPState.Gamepad.wButtons & KEY_ID_XBOX_SHAKING_2) {
424+
myPState.Gamepad.wButtons &= ~KEY_ID_XBOX_SHAKING_1; myPState.Gamepad.wButtons &= ~KEY_ID_XBOX_SHAKING_2;
417425
MotionShaking = true;
418-
} else MotionShaking = false;
426+
} else
427+
MotionShaking = false;
419428

420429
// Swap share and touchpad
421430
if (SwapShareTouchPad == false) {
@@ -490,7 +499,7 @@ int main(int argc, char **argv)
490499

491500
// Touchpad swipes
492501
if (report.bSpecial & DS4_SPECIAL_BUTTON_TOUCHPAD) {
493-
if (!TouchPadPressedWhenSwiping && (report.bThumbRX != 127 || report.bThumbRY != 129) ) {
502+
if (!TouchPadPressedWhenSwiping && (report.bThumbRX != 127 || report.bThumbRY != 129)) {
494503
report.bSpecial &= ~DS4_SPECIAL_BUTTON_TOUCHPAD;
495504
if (myPState.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_THUMB) { report.wButtons &= ~DS4_BUTTON_THUMB_RIGHT; report.bSpecial |= DS4_SPECIAL_BUTTON_TOUCHPAD; }
496505
}
@@ -534,12 +543,13 @@ int main(int argc, char **argv)
534543

535544
if (CursorHidden == false && (GetAsyncKeyState(VK_LMENU) & 0x8000) && (GetAsyncKeyState(VK_F2) & 0x8000) && SkipPollCount == 0) {
536545
SetSystemCursor(CursorEmpty, OCR_NORMAL); CursorHidden = true;
537-
printf(" The cursor is hidden. To display the cursor, press \"ALT\" + \"Escape\" or \"exit key\".\n");
546+
printf(" The cursor is hidden. To display the cursor, press \"ALT\" + \"Escape\".\n");
538547
SkipPollCount = SkipPollTimeOut;
539548
}
540549

541550
if (ActivateInAnyWindow || PSNowFound || PSRemotePlayFound) {
542-
if ((GetAsyncKeyState(KEY_ID_STOP_CENTERING) & 0x8000) == 0) GetMouseState();
551+
if (GetAsyncKeyState(KEY_ID_STOP_CENTERING) & 0x8000 && SkipPollCount == 0) { CenteingEnable = !CenteingEnable; SkipPollCount = SkipPollTimeOut;}
552+
if (CenteingEnable) GetMouseState();
543553

544554
if (InvertX)
545555
DeltaMouseX = DeltaMouseX * -1;

Source/DS4Emulator.h

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#define XINPUT_GAMEPAD_A 0x1000
1414
#define XINPUT_GAMEPAD_B 0x2000
1515
#define XINPUT_GAMEPAD_X 0x4000
16-
#define XINPUT_GAMEPAD_Y 0x8000
16+
#define XINPUT_GAMEPAD_Y 0x8000
1717

1818
#define BATTERY_TYPE_DISCONNECTED 0x00
1919

@@ -101,7 +101,7 @@ int KeyNameToKeyCode(std::string KeyName) {
101101
else if (KeyName == "F11") return VK_F11;
102102
else if (KeyName == "F12") return VK_F12;
103103

104-
else if (KeyName == "~") return 192;
104+
else if (KeyName == "~") return 192; // "~" by default for RU, US and not for UK
105105
else if (KeyName == "1") return '1';
106106
else if (KeyName == "2") return '2';
107107
else if (KeyName == "3") return '3';
@@ -193,5 +193,30 @@ int KeyNameToKeyCode(std::string KeyName) {
193193
else if (KeyName == "NUMPAD-PLUS") return VK_ADD;
194194
else if (KeyName == "NUMPAD-DEL") return VK_DECIMAL;
195195

196+
else return 0;
197+
}
198+
199+
int XboxKeyNameToXboxKeyCode(std::string KeyName) {
200+
std::transform(KeyName.begin(), KeyName.end(), KeyName.begin(), ::toupper);
201+
202+
if (KeyName == "NONE") return 0;
203+
204+
else if (KeyName == "DPAD-UP") return XINPUT_GAMEPAD_DPAD_UP;
205+
else if (KeyName == "DPAD-DOWN") return XINPUT_GAMEPAD_DPAD_DOWN;
206+
else if (KeyName == "DPAD-LEFT") return XINPUT_GAMEPAD_DPAD_LEFT;
207+
else if (KeyName == "DPAD-RIGHT") return XINPUT_GAMEPAD_DPAD_RIGHT;
208+
209+
else if (KeyName == "XBOX") return XINPUT_GAMEPAD_GUIDE;
210+
else if (KeyName == "BACK") return XINPUT_GAMEPAD_BACK;
211+
else if (KeyName == "START") return XINPUT_GAMEPAD_START;
212+
else if (KeyName == "LEFT-STICK") return XINPUT_GAMEPAD_LEFT_THUMB;
213+
else if (KeyName == "RIGHT-STICK") return XINPUT_GAMEPAD_RIGHT_THUMB;
214+
else if (KeyName == "LEFT-SHOULDER") return XINPUT_GAMEPAD_LEFT_SHOULDER;
215+
else if (KeyName == "RIGHT-SHOULDER") return XINPUT_GAMEPAD_RIGHT_SHOULDER;
216+
else if (KeyName == "A") return XINPUT_GAMEPAD_A;
217+
else if (KeyName == "B") return XINPUT_GAMEPAD_B;
218+
else if (KeyName == "X") return XINPUT_GAMEPAD_X;
219+
else if (KeyName == "Y") return XINPUT_GAMEPAD_Y;
220+
196221
else return 0;
197222
}

0 commit comments

Comments
 (0)