mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-04 22:19:02 +00:00
Input: implement stick multipliers for keyboard
This commit is contained in:
parent
43b7d1fe98
commit
bf739aa156
6 changed files with 129 additions and 16 deletions
|
|
@ -975,10 +975,14 @@ void pad_settings_dialog::UpdateLabels(bool is_reset)
|
|||
range = cfg.lstickmultiplier.to_list();
|
||||
ui->stick_multi_left->setRange(std::stod(range.front()) / 100.0, std::stod(range.back()) / 100.0);
|
||||
ui->stick_multi_left->setValue(cfg.lstickmultiplier / 100.0);
|
||||
ui->kb_stick_multi_left->setRange(std::stod(range.front()) / 100.0, std::stod(range.back()) / 100.0);
|
||||
ui->kb_stick_multi_left->setValue(cfg.lstickmultiplier / 100.0);
|
||||
|
||||
range = cfg.rstickmultiplier.to_list();
|
||||
ui->stick_multi_right->setRange(std::stod(range.front()) / 100.0, std::stod(range.back()) / 100.0);
|
||||
ui->stick_multi_right->setValue(cfg.rstickmultiplier / 100.0);
|
||||
ui->kb_stick_multi_right->setRange(std::stod(range.front()) / 100.0, std::stod(range.back()) / 100.0);
|
||||
ui->kb_stick_multi_right->setValue(cfg.rstickmultiplier / 100.0);
|
||||
|
||||
// Update Squircle Factors
|
||||
range = cfg.lpadsquircling.to_list();
|
||||
|
|
@ -1026,6 +1030,8 @@ void pad_settings_dialog::SwitchButtons(bool is_enabled)
|
|||
ui->chb_show_emulated_values->setEnabled(is_enabled);
|
||||
ui->stick_multi_left->setEnabled(is_enabled);
|
||||
ui->stick_multi_right->setEnabled(is_enabled);
|
||||
ui->kb_stick_multi_left->setEnabled(is_enabled);
|
||||
ui->kb_stick_multi_right->setEnabled(is_enabled);
|
||||
ui->squircle_left->setEnabled(is_enabled);
|
||||
ui->squircle_right->setEnabled(is_enabled);
|
||||
ui->gb_pressure_intensity->setEnabled(is_enabled && m_enable_pressure_intensity_button);
|
||||
|
|
@ -1563,8 +1569,17 @@ void pad_settings_dialog::ApplyCurrentPlayerConfig(int new_player_id)
|
|||
// Apply rest of config
|
||||
auto& cfg = player->config;
|
||||
|
||||
cfg.lstickmultiplier.set(ui->stick_multi_left->value() * 100);
|
||||
cfg.rstickmultiplier.set(ui->stick_multi_right->value() * 100);
|
||||
if (m_handler->m_type == pad_handler::keyboard)
|
||||
{
|
||||
cfg.lstickmultiplier.set(ui->kb_stick_multi_left->value() * 100);
|
||||
cfg.rstickmultiplier.set(ui->kb_stick_multi_right->value() * 100);
|
||||
}
|
||||
else
|
||||
{
|
||||
cfg.lstickmultiplier.set(ui->stick_multi_left->value() * 100);
|
||||
cfg.rstickmultiplier.set(ui->stick_multi_right->value() * 100);
|
||||
}
|
||||
|
||||
cfg.lpadsquircling.set(ui->squircle_left->value());
|
||||
cfg.rpadsquircling.set(ui->squircle_right->value());
|
||||
|
||||
|
|
@ -1727,6 +1742,7 @@ void pad_settings_dialog::SubscribeTooltips()
|
|||
SubscribeTooltip(ui->gb_pressure_intensity, tooltips.gamepad_settings.pressure_intensity);
|
||||
SubscribeTooltip(ui->gb_squircle, tooltips.gamepad_settings.squircle_factor);
|
||||
SubscribeTooltip(ui->gb_stick_multi, tooltips.gamepad_settings.stick_multiplier);
|
||||
SubscribeTooltip(ui->gb_kb_stick_multi, tooltips.gamepad_settings.stick_multiplier);
|
||||
SubscribeTooltip(ui->gb_vibration, tooltips.gamepad_settings.vibration);
|
||||
SubscribeTooltip(ui->gb_sticks, tooltips.gamepad_settings.stick_deadzones);
|
||||
SubscribeTooltip(ui->gb_stick_preview, tooltips.gamepad_settings.emulated_preview);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue