|
|
@@ -520,7 +520,28 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
|
|
|
QMenu context_menu;
|
|
|
Common::ParamPackage param = emulated_controller->GetStickParam(analog_id);
|
|
|
context_menu.addAction(tr("Clear"), [&] {
|
|
|
- emulated_controller->SetStickParam(analog_id, {});
|
|
|
+ if (param.Get("engine", "") != "analog_from_button") {
|
|
|
+ emulated_controller->SetStickParam(analog_id, {});
|
|
|
+ for (auto button : analog_map_buttons[analog_id]) {
|
|
|
+ button->setText(tr("[not set]"));
|
|
|
+ }
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ switch (sub_button_id) {
|
|
|
+ case 0:
|
|
|
+ param.Erase("up");
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ param.Erase("down");
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ param.Erase("left");
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ param.Erase("right");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ emulated_controller->SetStickParam(analog_id, param);
|
|
|
analog_map_buttons[analog_id][sub_button_id]->setText(tr("[not set]"));
|
|
|
});
|
|
|
context_menu.addAction(tr("Center axis"), [&] {
|
|
|
@@ -988,7 +1009,7 @@ void ConfigureInputPlayer::UpdateUI() {
|
|
|
slider_value = static_cast<int>(param.Get("deadzone", 0.15f) * 100);
|
|
|
deadzone_label->setText(tr("Deadzone: %1%").arg(slider_value));
|
|
|
deadzone_slider->setValue(slider_value);
|
|
|
- range_spinbox->setValue(static_cast<int>(param.Get("range", 1.0f) * 100));
|
|
|
+ range_spinbox->setValue(static_cast<int>(param.Get("range", 0.95f) * 100));
|
|
|
} else {
|
|
|
slider_value = static_cast<int>(param.Get("modifier_scale", 0.5f) * 100);
|
|
|
modifier_label->setText(tr("Modifier Range: %1%").arg(slider_value));
|