mirror of
https://github.com/yuzu-emu/yuzu-android.git
synced 2025-06-13 03:07:56 -05:00
input_common: Move button names to the frontend
This commit is contained in:
@ -52,6 +52,37 @@ QString GetKeyName(int key_code) {
|
||||
}
|
||||
}
|
||||
|
||||
QString GetButtonName(Common::Input::ButtonNames button_name) {
|
||||
switch (button_name) {
|
||||
case Common::Input::ButtonNames::ButtonLeft:
|
||||
return QObject::tr("Left");
|
||||
case Common::Input::ButtonNames::ButtonRight:
|
||||
return QObject::tr("Right");
|
||||
case Common::Input::ButtonNames::ButtonDown:
|
||||
return QObject::tr("Down");
|
||||
case Common::Input::ButtonNames::ButtonUp:
|
||||
return QObject::tr("Up");
|
||||
case Common::Input::ButtonNames::TriggerZ:
|
||||
return QObject::tr("Z");
|
||||
case Common::Input::ButtonNames::TriggerR:
|
||||
return QObject::tr("R");
|
||||
case Common::Input::ButtonNames::TriggerL:
|
||||
return QObject::tr("L");
|
||||
case Common::Input::ButtonNames::ButtonA:
|
||||
return QObject::tr("A");
|
||||
case Common::Input::ButtonNames::ButtonB:
|
||||
return QObject::tr("B");
|
||||
case Common::Input::ButtonNames::ButtonX:
|
||||
return QObject::tr("X");
|
||||
case Common::Input::ButtonNames::ButtonY:
|
||||
return QObject::tr("Y");
|
||||
case Common::Input::ButtonNames::ButtonStart:
|
||||
return QObject::tr("Start");
|
||||
default:
|
||||
return QObject::tr("[undefined]");
|
||||
}
|
||||
}
|
||||
|
||||
void SetAnalogParam(const Common::ParamPackage& input_param, Common::ParamPackage& analog_param,
|
||||
const std::string& button_name) {
|
||||
// The poller returned a complete axis, so set all the buttons
|
||||
@ -75,15 +106,64 @@ QString ConfigureInputPlayer::ButtonToText(const Common::ParamPackage& param) {
|
||||
return QObject::tr("[not set]");
|
||||
}
|
||||
|
||||
const QString toggle = QString::fromStdString(param.Get("toggle", false) ? "~" : "");
|
||||
const QString inverted = QString::fromStdString(param.Get("inverted", false) ? "!" : "");
|
||||
const auto common_button_name = input_subsystem->GetButtonName(param);
|
||||
|
||||
// Retrieve the names from Qt
|
||||
if (param.Get("engine", "") == "keyboard") {
|
||||
const QString button_str = GetKeyName(param.Get("code", 0));
|
||||
const QString toggle = QString::fromStdString(param.Get("toggle", false) ? "~" : "");
|
||||
return QObject::tr("%1%2").arg(toggle, button_str);
|
||||
}
|
||||
|
||||
std::string button_name = input_subsystem->GetButtonName(param);
|
||||
return QString::fromStdString(button_name);
|
||||
if (common_button_name == Common::Input::ButtonNames::Invalid) {
|
||||
return QObject::tr("[invalid]");
|
||||
}
|
||||
|
||||
if (common_button_name == Common::Input::ButtonNames::Engine) {
|
||||
return QString::fromStdString(param.Get("engine", ""));
|
||||
}
|
||||
|
||||
if (common_button_name == Common::Input::ButtonNames::Value) {
|
||||
if (param.Has("hat")) {
|
||||
const QString hat = QString::fromStdString(param.Get("direction", ""));
|
||||
return QObject::tr("%1%2Hat %3").arg(toggle, inverted, hat);
|
||||
}
|
||||
if (param.Has("axis")) {
|
||||
const QString axis = QString::fromStdString(param.Get("axis", ""));
|
||||
return QObject::tr("%1%2Axis %3").arg(toggle, inverted, axis);
|
||||
}
|
||||
if (param.Has("axis_x") && param.Has("axis_y") && param.Has("axis_z")) {
|
||||
const QString axis_x = QString::fromStdString(param.Get("axis_x", ""));
|
||||
const QString axis_y = QString::fromStdString(param.Get("axis_y", ""));
|
||||
const QString axis_z = QString::fromStdString(param.Get("axis_z", ""));
|
||||
return QObject::tr("%1%2Axis %3,%4,%5").arg(toggle, inverted, axis_x, axis_y, axis_z);
|
||||
}
|
||||
if (param.Has("motion")) {
|
||||
const QString motion = QString::fromStdString(param.Get("motion", ""));
|
||||
return QObject::tr("%1%2Motion %3").arg(toggle, inverted, motion);
|
||||
}
|
||||
if (param.Has("button")) {
|
||||
const QString button = QString::fromStdString(param.Get("button", ""));
|
||||
return QObject::tr("%1%2Button %3").arg(toggle, inverted, button);
|
||||
}
|
||||
}
|
||||
|
||||
QString button_name = GetButtonName(common_button_name);
|
||||
if (param.Has("hat")) {
|
||||
return QObject::tr("%1%2Hat %3").arg(toggle, inverted, button_name);
|
||||
}
|
||||
if (param.Has("axis")) {
|
||||
return QObject::tr("%1%2Axis %3").arg(toggle, inverted, button_name);
|
||||
}
|
||||
if (param.Has("motion")) {
|
||||
return QObject::tr("%1%2Axis %3").arg(toggle, inverted, button_name);
|
||||
}
|
||||
if (param.Has("button")) {
|
||||
return QObject::tr("%1%2Button %3").arg(toggle, inverted, button_name);
|
||||
}
|
||||
|
||||
return QObject::tr("[unknown]");
|
||||
}
|
||||
|
||||
QString ConfigureInputPlayer::AnalogToText(const Common::ParamPackage& param,
|
||||
|
Reference in New Issue
Block a user