|
|
@@ -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"), [&] {
|