input_common: Move button names to the frontend

This commit is contained in:
german77 2021-11-21 14:12:01 -06:00 committed by Narr the Reg
parent c4760489a0
commit 746c85b560
12 changed files with 160 additions and 52 deletions

View file

@ -481,47 +481,47 @@ AnalogMapping GCAdapter::GetAnalogMappingForDevice(const Common::ParamPackage& p
return mapping;
}
std::string GCAdapter::GetUIButtonName(const Common::ParamPackage& params) const {
Common::Input::ButtonNames GCAdapter::GetUIButtonName(const Common::ParamPackage& params) const {
PadButton button = static_cast<PadButton>(params.Get("button", 0));
switch (button) {
case PadButton::ButtonLeft:
return "left";
return Common::Input::ButtonNames::ButtonLeft;
case PadButton::ButtonRight:
return "right";
return Common::Input::ButtonNames::ButtonRight;
case PadButton::ButtonDown:
return "down";
return Common::Input::ButtonNames::ButtonDown;
case PadButton::ButtonUp:
return "up";
return Common::Input::ButtonNames::ButtonUp;
case PadButton::TriggerZ:
return "Z";
return Common::Input::ButtonNames::TriggerZ;
case PadButton::TriggerR:
return "R";
return Common::Input::ButtonNames::TriggerR;
case PadButton::TriggerL:
return "L";
return Common::Input::ButtonNames::TriggerL;
case PadButton::ButtonA:
return "A";
return Common::Input::ButtonNames::ButtonA;
case PadButton::ButtonB:
return "B";
return Common::Input::ButtonNames::ButtonB;
case PadButton::ButtonX:
return "X";
return Common::Input::ButtonNames::ButtonX;
case PadButton::ButtonY:
return "Y";
return Common::Input::ButtonNames::ButtonY;
case PadButton::ButtonStart:
return "start";
return Common::Input::ButtonNames::ButtonStart;
default:
return "Unknown GC";
return Common::Input::ButtonNames::Undefined;
}
}
std::string GCAdapter::GetUIName(const Common::ParamPackage& params) const {
Common::Input::ButtonNames GCAdapter::GetUIName(const Common::ParamPackage& params) const {
if (params.Has("button")) {
return fmt::format("Button {}", GetUIButtonName(params));
return GetUIButtonName(params);
}
if (params.Has("axis")) {
return fmt::format("Axis {}", params.Get("axis", 0));
return Common::Input::ButtonNames::Value;
}
return "Bad GC Adapter";
return Common::Input::ButtonNames::Invalid;
}
} // namespace InputCommon

View file

@ -34,7 +34,7 @@ public:
std::vector<Common::ParamPackage> GetInputDevices() const override;
ButtonMapping GetButtonMappingForDevice(const Common::ParamPackage& params) override;
AnalogMapping GetAnalogMappingForDevice(const Common::ParamPackage& params) override;
std::string GetUIName(const Common::ParamPackage& params) const override;
Common::Input::ButtonNames GetUIName(const Common::ParamPackage& params) const override;
private:
enum class PadButton {
@ -112,7 +112,7 @@ private:
/// Updates vibration state of all controllers
void SendVibrations();
std::string GetUIButtonName(const Common::ParamPackage& params) const;
Common::Input::ButtonNames GetUIButtonName(const Common::ParamPackage& params) const;
std::unique_ptr<LibUSBDeviceHandle> usb_adapter_handle;
std::array<GCController, 4> pads;

View file

@ -171,12 +171,15 @@ AnalogMapping Mouse::GetAnalogMappingForDevice(
return mapping;
}
std::string Mouse::GetUIName(const Common::ParamPackage& params) const {
Common::Input::ButtonNames Mouse::GetUIName(const Common::ParamPackage& params) const {
if (params.Has("button")) {
return fmt::format("Mouse {}", params.Get("button", 0));
return Common::Input::ButtonNames::Value;
}
if (params.Has("axis")) {
return Common::Input::ButtonNames::Value;
}
return "Bad Mouse";
return Common::Input::ButtonNames::Invalid;
}
} // namespace InputCommon

View file

@ -63,7 +63,7 @@ public:
std::vector<Common::ParamPackage> GetInputDevices() const override;
AnalogMapping GetAnalogMappingForDevice(const Common::ParamPackage& params) override;
std::string GetUIName(const Common::ParamPackage& params) const override;
Common::Input::ButtonNames GetUIName(const Common::ParamPackage& params) const override;
private:
void UpdateThread(std::stop_token stop_token);

View file

@ -869,26 +869,25 @@ MotionMapping SDLDriver::GetMotionMappingForDevice(const Common::ParamPackage& p
return mapping;
}
std::string SDLDriver::GetUIName(const Common::ParamPackage& params) const {
Common::Input::ButtonNames SDLDriver::GetUIName(const Common::ParamPackage& params) const {
if (params.Has("button")) {
// TODO(German77): Find how to substitue the values for real button names
return fmt::format("Button {}", params.Get("button", 0));
return Common::Input::ButtonNames::Value;
}
if (params.Has("hat")) {
return fmt::format("Hat {}", params.Get("direction", ""));
return Common::Input::ButtonNames::Value;
}
if (params.Has("axis")) {
return fmt::format("Axis {}", params.Get("axis", ""));
return Common::Input::ButtonNames::Value;
}
if (params.Has("axis_x") && params.Has("axis_y") && params.Has("axis_z")) {
return fmt::format("Axis {},{},{}", params.Get("axis_x", ""), params.Get("axis_y", ""),
params.Get("axis_z", ""));
return Common::Input::ButtonNames::Value;
}
if (params.Has("motion")) {
return "SDL motion";
return Common::Input::ButtonNames::Engine;
}
return "Bad SDL";
return Common::Input::ButtonNames::Invalid;
}
std::string SDLDriver::GetHatButtonName(u8 direction_value) const {

View file

@ -53,7 +53,7 @@ public:
ButtonMapping GetButtonMappingForDevice(const Common::ParamPackage& params) override;
AnalogMapping GetAnalogMappingForDevice(const Common::ParamPackage& params) override;
MotionMapping GetMotionMappingForDevice(const Common::ParamPackage& params) override;
std::string GetUIName(const Common::ParamPackage& params) const override;
Common::Input::ButtonNames GetUIName(const Common::ParamPackage& params) const override;
std::string GetHatButtonName(u8 direction_value) const override;
u8 GetHatButtonId(const std::string& direction_name) const override;