summaryrefslogtreecommitdiff
path: root/src/yuzu/configuration/configure_input_player.cpp
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2022-04-26 19:03:26 -0500
committerNarr the Reg <juangerman-13@hotmail.com>2022-04-26 19:03:54 -0500
commit17ce54d7f2ce8e1ad68ec36a6ec827f564f60818 (patch)
tree489d8530c8d11e1cd0cf0340584eef31fb8b1fdf /src/yuzu/configuration/configure_input_player.cpp
parentd2388a2ca82ec2e45f6459726dc79760dc06bdd2 (diff)
yuzu: Config allow to delete single axis directions when buttons are mapped to a stick
Diffstat (limited to 'src/yuzu/configuration/configure_input_player.cpp')
-rw-r--r--src/yuzu/configuration/configure_input_player.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp
index cb622bc37..1c05dd0f3 100644
--- a/src/yuzu/configuration/configure_input_player.cpp
+++ b/src/yuzu/configuration/configure_input_player.cpp
@@ -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"), [&] {