diff --git a/rpcs3/Emu/Io/PadHandler.cpp b/rpcs3/Emu/Io/PadHandler.cpp index eabb55ff3e..1bf572e744 100644 --- a/rpcs3/Emu/Io/PadHandler.cpp +++ b/rpcs3/Emu/Io/PadHandler.cpp @@ -248,6 +248,11 @@ std::tuple PadHandlerBase::ConvertToSquirclePoint(u16 inX, u16 inY, in return std::tuple(newX, newY); } +std::string PadHandlerBase::name_string() +{ + return m_name_string; +} + int PadHandlerBase::max_devices() { return m_max_devices; diff --git a/rpcs3/Emu/Io/PadHandler.h b/rpcs3/Emu/Io/PadHandler.h index db410b1810..7a57f0c906 100644 --- a/rpcs3/Emu/Io/PadHandler.h +++ b/rpcs3/Emu/Io/PadHandler.h @@ -363,6 +363,7 @@ protected: std::array last_connection_status{{ false, false, false, false, false, false, false }}; + std::string m_name_string; int m_max_devices = 0; int m_trigger_threshold = 0; int m_thumb_threshold = 0; @@ -436,6 +437,7 @@ public: pad_handler m_type = pad_handler::null; + std::string name_string(); int max_devices(); bool has_config(); bool has_rumble(); diff --git a/rpcs3/ds4_pad_handler.cpp b/rpcs3/ds4_pad_handler.cpp index 8504977e56..ca517cd53c 100644 --- a/rpcs3/ds4_pad_handler.cpp +++ b/rpcs3/ds4_pad_handler.cpp @@ -96,6 +96,8 @@ ds4_pad_handler::ds4_pad_handler() : PadHandlerBase(pad_handler::ds4) b_has_rumble = true; b_has_deadzones = true; + m_name_string = "Ds4 Pad #"; + m_trigger_threshold = trigger_max / 2; m_thumb_threshold = thumb_max / 2; } @@ -252,7 +254,7 @@ std::shared_ptr ds4_pad_handler::GetDevice(const std if (!Init()) return nullptr; - size_t pos = padId.find("Ds4 Pad #"); + size_t pos = padId.find(m_name_string); if (pos == std::string::npos) return nullptr; @@ -768,7 +770,7 @@ std::vector ds4_pad_handler::ListDevices() for (auto& pad : controllers) { - ds4_pads_list.emplace_back("Ds4 Pad #" + pad.first); + ds4_pads_list.emplace_back(m_name_string + pad.first); } return ds4_pads_list; diff --git a/rpcs3/mm_joystick_handler.cpp b/rpcs3/mm_joystick_handler.cpp index fcbc25dcba..5a6cbeff4b 100644 --- a/rpcs3/mm_joystick_handler.cpp +++ b/rpcs3/mm_joystick_handler.cpp @@ -18,6 +18,8 @@ mm_joystick_handler::mm_joystick_handler() : PadHandlerBase(pad_handler::mm) b_has_rumble = true; b_has_deadzones = true; + m_name_string = "Joystick #"; + m_trigger_threshold = trigger_max / 2; m_thumb_threshold = thumb_max / 2; } @@ -573,7 +575,7 @@ bool mm_joystick_handler::GetMMJOYDevice(int index, MMJOYDevice& dev) LOG_NOTICE(GENERAL, "Joystick nr.%d found. Driver: %s", index, drv); dev.device_id = index; - dev.device_name = fmt::format("Joystick #%d", index); + dev.device_name = m_name_string + std::to_string(index); dev.device_info = js_info; dev.device_caps = js_caps; diff --git a/rpcs3/pad_thread.cpp b/rpcs3/pad_thread.cpp index 454a34145a..62d2e6546a 100644 --- a/rpcs3/pad_thread.cpp +++ b/rpcs3/pad_thread.cpp @@ -76,6 +76,8 @@ void pad_thread::Init(const u32 max_connect) cur_pad_handler = std::make_shared(); break; #endif + default: + break; } handlers.emplace(handler_type, cur_pad_handler); } diff --git a/rpcs3/rpcs3qt/gamepads_settings_dialog.cpp b/rpcs3/rpcs3qt/gamepads_settings_dialog.cpp index ce6096f255..fe4ece4330 100644 --- a/rpcs3/rpcs3qt/gamepads_settings_dialog.cpp +++ b/rpcs3/rpcs3qt/gamepads_settings_dialog.cpp @@ -331,11 +331,14 @@ void gamepads_settings_dialog::ChangeInputType(int player) { #ifdef _MSC_VER case pad_handler::xinput: + { + QString name_string = qstr(cur_pad_handler->name_string()); for (int i = 0; i < cur_pad_handler->max_devices(); i++) { - co_deviceID[player]->addItem(QString("XInput Pad #%1").arg(i), i); + co_deviceID[player]->addItem(name_string + QString::number(i), i); } break; + } #endif default: for (int i = 0; i < list_devices.size(); i++) diff --git a/rpcs3/rpcs3qt/log_frame.h b/rpcs3/rpcs3qt/log_frame.h index 2348cffc82..afa17878ea 100644 --- a/rpcs3/rpcs3qt/log_frame.h +++ b/rpcs3/rpcs3qt/log_frame.h @@ -32,7 +32,7 @@ Q_SIGNALS: void LogFrameClosed(); protected: /** Override inherited method from Qt to allow signalling when close happened.*/ - void closeEvent(QCloseEvent* event); + void closeEvent(QCloseEvent* event) override; bool eventFilter(QObject* object, QEvent* event) override; private Q_SLOTS: void UpdateUI(); diff --git a/rpcs3/xinput_pad_handler.cpp b/rpcs3/xinput_pad_handler.cpp index acbe50b876..c3c024899b 100644 --- a/rpcs3/xinput_pad_handler.cpp +++ b/rpcs3/xinput_pad_handler.cpp @@ -19,6 +19,7 @@ xinput_pad_handler::xinput_pad_handler() : PadHandlerBase(pad_handler::xinput) b_has_rumble = true; b_has_deadzones = true; + m_name_string = "XInput Pad #"; m_max_devices = XUSER_MAX_COUNT; m_trigger_threshold = trigger_max / 2; @@ -192,7 +193,7 @@ int xinput_pad_handler::GetDeviceNumber(const std::string& padId) if (!Init()) return -1; - size_t pos = padId.find("Xinput Pad #"); + size_t pos = padId.find(m_name_string); if (pos == std::string::npos) return -1; @@ -453,7 +454,7 @@ std::vector xinput_pad_handler::ListDevices() XINPUT_STATE state; DWORD result = (*xinputGetState)(i, &state); if (result == ERROR_SUCCESS) - xinput_pads_list.push_back(fmt::format("XInput Pad #%d", i)); + xinput_pads_list.push_back(m_name_string + std::to_string(i)); } return xinput_pads_list; }