summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/yuzu/configuration/configure_input_player.cpp27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp
index 972c311f6..9b4f765ce 100644
--- a/src/yuzu/configuration/configure_input_player.cpp
+++ b/src/yuzu/configuration/configure_input_player.cpp
@@ -161,6 +161,7 @@ QString ConfigureInputPlayer::ButtonToText(const Common::ParamPackage& param) {
161 161
162 const QString toggle = QString::fromStdString(param.Get("toggle", false) ? "~" : ""); 162 const QString toggle = QString::fromStdString(param.Get("toggle", false) ? "~" : "");
163 const QString inverted = QString::fromStdString(param.Get("inverted", false) ? "!" : ""); 163 const QString inverted = QString::fromStdString(param.Get("inverted", false) ? "!" : "");
164 const QString invert = QString::fromStdString(param.Get("invert", "+") == "-" ? "-" : "");
164 const auto common_button_name = input_subsystem->GetButtonName(param); 165 const auto common_button_name = input_subsystem->GetButtonName(param);
165 166
166 // Retrieve the names from Qt 167 // Retrieve the names from Qt
@@ -184,7 +185,7 @@ QString ConfigureInputPlayer::ButtonToText(const Common::ParamPackage& param) {
184 } 185 }
185 if (param.Has("axis")) { 186 if (param.Has("axis")) {
186 const QString axis = QString::fromStdString(param.Get("axis", "")); 187 const QString axis = QString::fromStdString(param.Get("axis", ""));
187 return QObject::tr("%1%2Axis %3").arg(toggle, inverted, axis); 188 return QObject::tr("%1%2Axis %3").arg(toggle, invert, axis);
188 } 189 }
189 if (param.Has("axis_x") && param.Has("axis_y") && param.Has("axis_z")) { 190 if (param.Has("axis_x") && param.Has("axis_y") && param.Has("axis_z")) {
190 const QString axis_x = QString::fromStdString(param.Get("axis_x", "")); 191 const QString axis_x = QString::fromStdString(param.Get("axis_x", ""));
@@ -362,18 +363,18 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
362 button_map[button_id]->setText(tr("[not set]")); 363 button_map[button_id]->setText(tr("[not set]"));
363 }); 364 });
364 if (param.Has("code") || param.Has("button") || param.Has("hat")) { 365 if (param.Has("code") || param.Has("button") || param.Has("hat")) {
365 context_menu.addAction(tr("Toggle button"), [&] {
366 const bool toggle_value = !param.Get("toggle", false);
367 param.Set("toggle", toggle_value);
368 button_map[button_id]->setText(ButtonToText(param));
369 emulated_controller->SetButtonParam(button_id, param);
370 });
371 context_menu.addAction(tr("Invert button"), [&] { 366 context_menu.addAction(tr("Invert button"), [&] {
372 const bool invert_value = !param.Get("inverted", false); 367 const bool invert_value = !param.Get("inverted", false);
373 param.Set("inverted", invert_value); 368 param.Set("inverted", invert_value);
374 button_map[button_id]->setText(ButtonToText(param)); 369 button_map[button_id]->setText(ButtonToText(param));
375 emulated_controller->SetButtonParam(button_id, param); 370 emulated_controller->SetButtonParam(button_id, param);
376 }); 371 });
372 context_menu.addAction(tr("Toggle button"), [&] {
373 const bool toggle_value = !param.Get("toggle", false);
374 param.Set("toggle", toggle_value);
375 button_map[button_id]->setText(ButtonToText(param));
376 emulated_controller->SetButtonParam(button_id, param);
377 });
377 } 378 }
378 if (param.Has("axis")) { 379 if (param.Has("axis")) {
379 context_menu.addAction(tr("Invert axis"), [&] { 380 context_menu.addAction(tr("Invert axis"), [&] {
@@ -382,12 +383,6 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
382 button_map[button_id]->setText(ButtonToText(param)); 383 button_map[button_id]->setText(ButtonToText(param));
383 emulated_controller->SetButtonParam(button_id, param); 384 emulated_controller->SetButtonParam(button_id, param);
384 }); 385 });
385 context_menu.addAction(tr("Toggle axis"), [&] {
386 const bool toggle_value = !param.Get("toggle", false);
387 param.Set("toggle", toggle_value);
388 button_map[button_id]->setText(ButtonToText(param));
389 emulated_controller->SetButtonParam(button_id, param);
390 });
391 context_menu.addAction(tr("Set threshold"), [&] { 386 context_menu.addAction(tr("Set threshold"), [&] {
392 const int button_threshold = 387 const int button_threshold =
393 static_cast<int>(param.Get("threshold", 0.5f) * 100.0f); 388 static_cast<int>(param.Get("threshold", 0.5f) * 100.0f);
@@ -404,6 +399,12 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
404 } 399 }
405 emulated_controller->SetButtonParam(button_id, param); 400 emulated_controller->SetButtonParam(button_id, param);
406 }); 401 });
402 context_menu.addAction(tr("Toggle axis"), [&] {
403 const bool toggle_value = !param.Get("toggle", false);
404 param.Set("toggle", toggle_value);
405 button_map[button_id]->setText(ButtonToText(param));
406 emulated_controller->SetButtonParam(button_id, param);
407 });
407 } 408 }
408 context_menu.exec(button_map[button_id]->mapToGlobal(menu_location)); 409 context_menu.exec(button_map[button_id]->mapToGlobal(menu_location));
409 }); 410 });