|
|
|
@ -161,6 +161,7 @@ QString ConfigureInputPlayer::ButtonToText(const Common::ParamPackage& param) { |
|
|
|
|
|
|
|
const QString toggle = QString::fromStdString(param.Get("toggle", false) ? "~" : ""); |
|
|
|
const QString inverted = QString::fromStdString(param.Get("inverted", false) ? "!" : ""); |
|
|
|
const QString invert = QString::fromStdString(param.Get("invert", "+") == "-" ? "-" : ""); |
|
|
|
const auto common_button_name = input_subsystem->GetButtonName(param); |
|
|
|
|
|
|
|
// Retrieve the names from Qt
|
|
|
|
@ -184,7 +185,7 @@ QString ConfigureInputPlayer::ButtonToText(const Common::ParamPackage& param) { |
|
|
|
} |
|
|
|
if (param.Has("axis")) { |
|
|
|
const QString axis = QString::fromStdString(param.Get("axis", "")); |
|
|
|
return QObject::tr("%1%2Axis %3").arg(toggle, inverted, axis); |
|
|
|
return QObject::tr("%1%2Axis %3").arg(toggle, invert, axis); |
|
|
|
} |
|
|
|
if (param.Has("axis_x") && param.Has("axis_y") && param.Has("axis_z")) { |
|
|
|
const QString axis_x = QString::fromStdString(param.Get("axis_x", "")); |
|
|
|
@ -362,18 +363,18 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i |
|
|
|
button_map[button_id]->setText(tr("[not set]")); |
|
|
|
}); |
|
|
|
if (param.Has("code") || param.Has("button") || param.Has("hat")) { |
|
|
|
context_menu.addAction(tr("Toggle button"), [&] { |
|
|
|
const bool toggle_value = !param.Get("toggle", false); |
|
|
|
param.Set("toggle", toggle_value); |
|
|
|
button_map[button_id]->setText(ButtonToText(param)); |
|
|
|
emulated_controller->SetButtonParam(button_id, param); |
|
|
|
}); |
|
|
|
context_menu.addAction(tr("Invert button"), [&] { |
|
|
|
const bool invert_value = !param.Get("inverted", false); |
|
|
|
param.Set("inverted", invert_value); |
|
|
|
button_map[button_id]->setText(ButtonToText(param)); |
|
|
|
emulated_controller->SetButtonParam(button_id, param); |
|
|
|
}); |
|
|
|
context_menu.addAction(tr("Toggle button"), [&] { |
|
|
|
const bool toggle_value = !param.Get("toggle", false); |
|
|
|
param.Set("toggle", toggle_value); |
|
|
|
button_map[button_id]->setText(ButtonToText(param)); |
|
|
|
emulated_controller->SetButtonParam(button_id, param); |
|
|
|
}); |
|
|
|
} |
|
|
|
if (param.Has("axis")) { |
|
|
|
context_menu.addAction(tr("Invert axis"), [&] { |
|
|
|
@ -398,6 +399,12 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i |
|
|
|
} |
|
|
|
emulated_controller->SetButtonParam(button_id, param); |
|
|
|
}); |
|
|
|
context_menu.addAction(tr("Toggle axis"), [&] { |
|
|
|
const bool toggle_value = !param.Get("toggle", false); |
|
|
|
param.Set("toggle", toggle_value); |
|
|
|
button_map[button_id]->setText(ButtonToText(param)); |
|
|
|
emulated_controller->SetButtonParam(button_id, param); |
|
|
|
}); |
|
|
|
} |
|
|
|
context_menu.exec(button_map[button_id]->mapToGlobal(menu_location)); |
|
|
|
}); |
|
|
|
|