mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-02-23 06:40:49 +00:00
Qt/Input: set player LED in pad settings
This commit is contained in:
parent
c2467b7b38
commit
805d52987f
@ -377,6 +377,7 @@ void pad_settings_dialog::InitButtons()
|
||||
connect(ui->b_led_settings, &QPushButton::clicked, this, [this]()
|
||||
{
|
||||
// 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);
|
||||
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);
|
||||
@ -494,6 +495,7 @@ void pad_settings_dialog::InitButtons()
|
||||
|
||||
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);
|
||||
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
|
||||
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.colorG.set(colorG);
|
||||
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->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
|
||||
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()));
|
||||
@ -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> ret_handler;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case pad_handler::null:
|
||||
ret_handler = std::make_unique<NullPadHandler>();
|
||||
break;
|
||||
return std::make_unique<NullPadHandler>();
|
||||
case pad_handler::keyboard:
|
||||
ret_handler = std::make_unique<keyboard_pad_handler>();
|
||||
break;
|
||||
return std::make_unique<keyboard_pad_handler>();
|
||||
case pad_handler::ds3:
|
||||
ret_handler = std::make_unique<ds3_pad_handler>();
|
||||
break;
|
||||
return std::make_unique<ds3_pad_handler>();
|
||||
case pad_handler::ds4:
|
||||
ret_handler = std::make_unique<ds4_pad_handler>();
|
||||
break;
|
||||
return std::make_unique<ds4_pad_handler>();
|
||||
case pad_handler::dualsense:
|
||||
ret_handler = std::make_unique<dualsense_pad_handler>();
|
||||
break;
|
||||
return std::make_unique<dualsense_pad_handler>();
|
||||
#ifdef _WIN32
|
||||
case pad_handler::xinput:
|
||||
ret_handler = std::make_unique<xinput_pad_handler>();
|
||||
break;
|
||||
return std::make_unique<xinput_pad_handler>();
|
||||
case pad_handler::mm:
|
||||
ret_handler = std::make_unique<mm_joystick_handler>();
|
||||
break;
|
||||
return std::make_unique<mm_joystick_handler>();
|
||||
#endif
|
||||
#ifdef HAVE_LIBEVDEV
|
||||
case pad_handler::evdev:
|
||||
ret_handler = std::make_unique<evdev_joystick_handler>();
|
||||
break;
|
||||
return std::make_unique<evdev_joystick_handler>();
|
||||
#endif
|
||||
}
|
||||
|
||||
return ret_handler;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void pad_settings_dialog::ChangeInputType()
|
||||
{
|
||||
bool force_enable = false; // enable configs even with disconnected devices
|
||||
const int player = ui->tabWidget->currentIndex();
|
||||
ensure(player >= 0);
|
||||
const bool is_ldd_pad = GetIsLddPad(player);
|
||||
|
||||
std::string handler;
|
||||
@ -1194,6 +1186,7 @@ void pad_settings_dialog::ChangeInputType()
|
||||
// Get this player's current handler and it's currently available devices
|
||||
m_handler = GetHandler(g_cfg_input.player[player]->handler);
|
||||
ensure(m_handler);
|
||||
m_handler->set_player(player);
|
||||
const auto device_list = m_handler->ListDevices();
|
||||
|
||||
// Localized tooltips
|
||||
|
Loading…
x
Reference in New Issue
Block a user