mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-06 23:11:25 +12:00
Qt/Input: set player LED in pad settings
This commit is contained in:
parent
c2467b7b38
commit
805d52987f
1 changed files with 14 additions and 21 deletions
|
@ -377,6 +377,7 @@ void pad_settings_dialog::InitButtons()
|
||||||
connect(ui->b_led_settings, &QPushButton::clicked, this, [this]()
|
connect(ui->b_led_settings, &QPushButton::clicked, this, [this]()
|
||||||
{
|
{
|
||||||
// Allow LED battery indication while the dialog is open
|
// Allow LED battery indication while the dialog is open
|
||||||
|
ensure(m_handler);
|
||||||
m_handler->SetPadData(m_device_name, 0, 0, m_handler_cfg.colorR, m_handler_cfg.colorG, m_handler_cfg.colorB, m_handler_cfg.led_battery_indicator.get(), m_handler_cfg.led_battery_indicator_brightness);
|
m_handler->SetPadData(m_device_name, 0, 0, m_handler_cfg.colorR, m_handler_cfg.colorG, m_handler_cfg.colorB, m_handler_cfg.led_battery_indicator.get(), m_handler_cfg.led_battery_indicator_brightness);
|
||||||
pad_led_settings_dialog dialog(this, m_handler_cfg.colorR, m_handler_cfg.colorG, m_handler_cfg.colorB, m_handler->has_rgb(), m_handler->has_battery(), m_handler_cfg.led_low_battery_blink.get(), m_handler_cfg.led_battery_indicator.get(), m_handler_cfg.led_battery_indicator_brightness);
|
pad_led_settings_dialog dialog(this, m_handler_cfg.colorR, m_handler_cfg.colorG, m_handler_cfg.colorB, m_handler->has_rgb(), m_handler->has_battery(), m_handler_cfg.led_low_battery_blink.get(), m_handler_cfg.led_battery_indicator.get(), m_handler_cfg.led_battery_indicator_brightness);
|
||||||
connect(&dialog, &pad_led_settings_dialog::pass_led_settings, this, &pad_settings_dialog::apply_led_settings);
|
connect(&dialog, &pad_led_settings_dialog::pass_led_settings, this, &pad_settings_dialog::apply_led_settings);
|
||||||
|
@ -494,6 +495,7 @@ void pad_settings_dialog::InitButtons()
|
||||||
|
|
||||||
void pad_settings_dialog::SetPadData(u32 large_motor, u32 small_motor)
|
void pad_settings_dialog::SetPadData(u32 large_motor, u32 small_motor)
|
||||||
{
|
{
|
||||||
|
ensure(m_handler);
|
||||||
const QColor led_color(m_handler_cfg.colorR, m_handler_cfg.colorG, m_handler_cfg.colorB);
|
const QColor led_color(m_handler_cfg.colorR, m_handler_cfg.colorG, m_handler_cfg.colorB);
|
||||||
m_handler->SetPadData(m_device_name, large_motor, small_motor, led_color.red(), led_color.green(), led_color.blue(), static_cast<bool>(m_handler_cfg.led_battery_indicator), m_handler_cfg.led_battery_indicator_brightness);
|
m_handler->SetPadData(m_device_name, large_motor, small_motor, led_color.red(), led_color.green(), led_color.blue(), static_cast<bool>(m_handler_cfg.led_battery_indicator), m_handler_cfg.led_battery_indicator_brightness);
|
||||||
}
|
}
|
||||||
|
@ -501,6 +503,7 @@ void pad_settings_dialog::SetPadData(u32 large_motor, u32 small_motor)
|
||||||
// Slot to handle the data from a signal in the led settings dialog
|
// Slot to handle the data from a signal in the led settings dialog
|
||||||
void pad_settings_dialog::apply_led_settings(int colorR, int colorG, int colorB, bool led_low_battery_blink, bool led_battery_indicator, int led_battery_indicator_brightness)
|
void pad_settings_dialog::apply_led_settings(int colorR, int colorG, int colorB, bool led_low_battery_blink, bool led_battery_indicator, int led_battery_indicator_brightness)
|
||||||
{
|
{
|
||||||
|
ensure(m_handler);
|
||||||
m_handler_cfg.colorR.set(colorR);
|
m_handler_cfg.colorR.set(colorR);
|
||||||
m_handler_cfg.colorG.set(colorG);
|
m_handler_cfg.colorG.set(colorG);
|
||||||
m_handler_cfg.colorB.set(colorB);
|
m_handler_cfg.colorB.set(colorB);
|
||||||
|
@ -961,8 +964,6 @@ void pad_settings_dialog::UpdateLabels(bool is_reset)
|
||||||
ui->slider_stick_right->setRange(0, m_handler->thumb_max);
|
ui->slider_stick_right->setRange(0, m_handler->thumb_max);
|
||||||
ui->slider_stick_right->setValue(m_handler_cfg.rstickdeadzone);
|
ui->slider_stick_right->setValue(m_handler_cfg.rstickdeadzone);
|
||||||
|
|
||||||
m_handler->SetPadData(m_device_name, 0, 0, m_handler_cfg.colorR, m_handler_cfg.colorG, m_handler_cfg.colorB, false, m_handler_cfg.led_battery_indicator_brightness);
|
|
||||||
|
|
||||||
// Update Mouse Deadzones
|
// Update Mouse Deadzones
|
||||||
std::vector<std::string> mouse_dz_range_x = m_handler_cfg.mouse_deadzone_x.to_list();
|
std::vector<std::string> mouse_dz_range_x = m_handler_cfg.mouse_deadzone_x.to_list();
|
||||||
ui->mouse_dz_x->setRange(std::stoi(mouse_dz_range_x.front()), std::stoi(mouse_dz_range_x.back()));
|
ui->mouse_dz_x->setRange(std::stoi(mouse_dz_range_x.front()), std::stoi(mouse_dz_range_x.back()));
|
||||||
|
@ -1122,47 +1123,38 @@ void pad_settings_dialog::OnTabChanged(int index)
|
||||||
|
|
||||||
std::shared_ptr<PadHandlerBase> pad_settings_dialog::GetHandler(pad_handler type)
|
std::shared_ptr<PadHandlerBase> pad_settings_dialog::GetHandler(pad_handler type)
|
||||||
{
|
{
|
||||||
std::shared_ptr<PadHandlerBase> ret_handler;
|
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case pad_handler::null:
|
case pad_handler::null:
|
||||||
ret_handler = std::make_unique<NullPadHandler>();
|
return std::make_unique<NullPadHandler>();
|
||||||
break;
|
|
||||||
case pad_handler::keyboard:
|
case pad_handler::keyboard:
|
||||||
ret_handler = std::make_unique<keyboard_pad_handler>();
|
return std::make_unique<keyboard_pad_handler>();
|
||||||
break;
|
|
||||||
case pad_handler::ds3:
|
case pad_handler::ds3:
|
||||||
ret_handler = std::make_unique<ds3_pad_handler>();
|
return std::make_unique<ds3_pad_handler>();
|
||||||
break;
|
|
||||||
case pad_handler::ds4:
|
case pad_handler::ds4:
|
||||||
ret_handler = std::make_unique<ds4_pad_handler>();
|
return std::make_unique<ds4_pad_handler>();
|
||||||
break;
|
|
||||||
case pad_handler::dualsense:
|
case pad_handler::dualsense:
|
||||||
ret_handler = std::make_unique<dualsense_pad_handler>();
|
return std::make_unique<dualsense_pad_handler>();
|
||||||
break;
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
case pad_handler::xinput:
|
case pad_handler::xinput:
|
||||||
ret_handler = std::make_unique<xinput_pad_handler>();
|
return std::make_unique<xinput_pad_handler>();
|
||||||
break;
|
|
||||||
case pad_handler::mm:
|
case pad_handler::mm:
|
||||||
ret_handler = std::make_unique<mm_joystick_handler>();
|
return std::make_unique<mm_joystick_handler>();
|
||||||
break;
|
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_LIBEVDEV
|
#ifdef HAVE_LIBEVDEV
|
||||||
case pad_handler::evdev:
|
case pad_handler::evdev:
|
||||||
ret_handler = std::make_unique<evdev_joystick_handler>();
|
return std::make_unique<evdev_joystick_handler>();
|
||||||
break;
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret_handler;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void pad_settings_dialog::ChangeInputType()
|
void pad_settings_dialog::ChangeInputType()
|
||||||
{
|
{
|
||||||
bool force_enable = false; // enable configs even with disconnected devices
|
bool force_enable = false; // enable configs even with disconnected devices
|
||||||
const int player = ui->tabWidget->currentIndex();
|
const int player = ui->tabWidget->currentIndex();
|
||||||
|
ensure(player >= 0);
|
||||||
const bool is_ldd_pad = GetIsLddPad(player);
|
const bool is_ldd_pad = GetIsLddPad(player);
|
||||||
|
|
||||||
std::string handler;
|
std::string handler;
|
||||||
|
@ -1194,6 +1186,7 @@ void pad_settings_dialog::ChangeInputType()
|
||||||
// Get this player's current handler and it's currently available devices
|
// Get this player's current handler and it's currently available devices
|
||||||
m_handler = GetHandler(g_cfg_input.player[player]->handler);
|
m_handler = GetHandler(g_cfg_input.player[player]->handler);
|
||||||
ensure(m_handler);
|
ensure(m_handler);
|
||||||
|
m_handler->set_player(player);
|
||||||
const auto device_list = m_handler->ListDevices();
|
const auto device_list = m_handler->ListDevices();
|
||||||
|
|
||||||
// Localized tooltips
|
// Localized tooltips
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue