From fcab33a83f62ec702620c8576b21875cc5e3a5cb Mon Sep 17 00:00:00 2001 From: Peter Repukat Date: Sun, 25 Sep 2022 23:12:05 +0200 Subject: [PATCH] Fix DS4 Emulation (VID/PID) --- GlosSITarget/InputRedirector.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/GlosSITarget/InputRedirector.cpp b/GlosSITarget/InputRedirector.cpp index 034d1f5..75d4dc7 100644 --- a/GlosSITarget/InputRedirector.cpp +++ b/GlosSITarget/InputRedirector.cpp @@ -167,10 +167,19 @@ void InputRedirector::runLoop() if (!Settings::devices.realDeviceIds) { vigem_target_set_vid(vt_pad_[i], 0x28de); //VALVE_DIRECTINPUT_GAMEPAD_VID //vigem_target_set_pid(vt_pad_[i], 0x11FF); //VALVE_DIRECTINPUT_GAMEPAD_PID - vigem_target_set_pid(vt_pad_[i], 0x028E); // XBOX 360 Controller + if (Settings::controller.emulateDS4) { + vigem_target_set_pid(vt_pad_[i], 0x05C4); // DS4 Controller + } else { + vigem_target_set_pid(vt_pad_[i], 0x028E); // XBOX 360 Controller + } } else { - vigem_target_set_vid(vt_pad_[i], 0x045E); // MICROSOFT - vigem_target_set_pid(vt_pad_[i], 0x028E); // XBOX 360 Controller + if (Settings::controller.emulateDS4) { + vigem_target_set_vid(vt_pad_[i], 0x054C); // Sony Corp. + vigem_target_set_pid(vt_pad_[i], 0x05C4); // DS4 Controller + } else { + vigem_target_set_vid(vt_pad_[i], 0x045E); // MICROSOFT + vigem_target_set_pid(vt_pad_[i], 0x028E); // XBOX 360 Controller + } } // TODO: MAYBE!: In a future version, use something like OpenXInput //and filter out emulated controllers to support a greater amount of controllers simultaneously