diff options
author | Narr the Reg <juangerman-13@hotmail.com> | 2022-04-26 19:03:26 -0500 |
---|---|---|
committer | Narr the Reg <juangerman-13@hotmail.com> | 2022-04-26 19:03:54 -0500 |
commit | 17ce54d7f2ce8e1ad68ec36a6ec827f564f60818 (patch) | |
tree | 489d8530c8d11e1cd0cf0340584eef31fb8b1fdf /src/yuzu/configuration/configure_input_player.cpp | |
parent | d2388a2ca82ec2e45f6459726dc79760dc06bdd2 (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.cpp | 23 |
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"), [&] { |