summaryrefslogtreecommitdiffstats
path: root/src/input_common/helpers
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/input_common/helpers/stick_from_buttons.cpp25
-rw-r--r--src/input_common/helpers/touch_from_buttons.cpp13
2 files changed, 24 insertions, 14 deletions
diff --git a/src/input_common/helpers/stick_from_buttons.cpp b/src/input_common/helpers/stick_from_buttons.cpp
index 536d413a5..82aa6ac2f 100644
--- a/src/input_common/helpers/stick_from_buttons.cpp
+++ b/src/input_common/helpers/stick_from_buttons.cpp
@@ -294,6 +294,15 @@ public:
}
private:
+ static constexpr Common::Input::AnalogProperties properties{
+ .deadzone = 0.0f,
+ .range = 1.0f,
+ .threshold = 0.5f,
+ .offset = 0.0f,
+ .inverted = false,
+ .toggle = false,
+ };
+
Button up;
Button down;
Button left;
@@ -311,23 +320,17 @@ private:
float last_x_axis_value{};
float last_y_axis_value{};
Common::Input::ButtonStatus modifier_status{};
- const Common::Input::AnalogProperties properties{0.0f, 1.0f, 0.5f, 0.0f, false};
std::chrono::time_point<std::chrono::steady_clock> last_update;
};
std::unique_ptr<Common::Input::InputDevice> StickFromButton::Create(
const Common::ParamPackage& params) {
const std::string null_engine = Common::ParamPackage{{"engine", "null"}}.Serialize();
- auto up = Common::Input::CreateDeviceFromString<Common::Input::InputDevice>(
- params.Get("up", null_engine));
- auto down = Common::Input::CreateDeviceFromString<Common::Input::InputDevice>(
- params.Get("down", null_engine));
- auto left = Common::Input::CreateDeviceFromString<Common::Input::InputDevice>(
- params.Get("left", null_engine));
- auto right = Common::Input::CreateDeviceFromString<Common::Input::InputDevice>(
- params.Get("right", null_engine));
- auto modifier = Common::Input::CreateDeviceFromString<Common::Input::InputDevice>(
- params.Get("modifier", null_engine));
+ auto up = Common::Input::CreateInputDeviceFromString(params.Get("up", null_engine));
+ auto down = Common::Input::CreateInputDeviceFromString(params.Get("down", null_engine));
+ auto left = Common::Input::CreateInputDeviceFromString(params.Get("left", null_engine));
+ auto right = Common::Input::CreateInputDeviceFromString(params.Get("right", null_engine));
+ auto modifier = Common::Input::CreateInputDeviceFromString(params.Get("modifier", null_engine));
auto modifier_scale = params.Get("modifier_scale", 0.5f);
auto modifier_angle = params.Get("modifier_angle", 5.5f);
return std::make_unique<Stick>(std::move(up), std::move(down), std::move(left),
diff --git a/src/input_common/helpers/touch_from_buttons.cpp b/src/input_common/helpers/touch_from_buttons.cpp
index 003a38da5..e064b13d9 100644
--- a/src/input_common/helpers/touch_from_buttons.cpp
+++ b/src/input_common/helpers/touch_from_buttons.cpp
@@ -59,18 +59,25 @@ public:
}
private:
+ static constexpr Common::Input::AnalogProperties properties{
+ .deadzone = 0.0f,
+ .range = 1.0f,
+ .threshold = 0.5f,
+ .offset = 0.0f,
+ .inverted = false,
+ .toggle = false,
+ };
+
Button button;
bool last_button_value;
const float x;
const float y;
- const Common::Input::AnalogProperties properties{0.0f, 1.0f, 0.5f, 0.0f, false};
};
std::unique_ptr<Common::Input::InputDevice> TouchFromButton::Create(
const Common::ParamPackage& params) {
const std::string null_engine = Common::ParamPackage{{"engine", "null"}}.Serialize();
- auto button = Common::Input::CreateDeviceFromString<Common::Input::InputDevice>(
- params.Get("button", null_engine));
+ auto button = Common::Input::CreateInputDeviceFromString(params.Get("button", null_engine));
const float x = params.Get("x", 0.0f) / 1280.0f;
const float y = params.Get("y", 0.0f) / 720.0f;
return std::make_unique<TouchFromButtonDevice>(std::move(button), x, y);