summaryrefslogtreecommitdiffstats
path: root/src/yuzu/configuration
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2022-03-04 18:47:13 +0100
committerNarr the Reg <juangerman-13@hotmail.com>2022-03-22 02:39:33 +0100
commitee532e5c01f97f30078202ae87a5b2a71e9ce1e4 (patch)
tree55e544838b029e4a78a61e38cb085f5668400837 /src/yuzu/configuration
parentMerge pull request #8048 from ameerj/include-purge (diff)
downloadyuzu-ee532e5c01f97f30078202ae87a5b2a71e9ce1e4.tar
yuzu-ee532e5c01f97f30078202ae87a5b2a71e9ce1e4.tar.gz
yuzu-ee532e5c01f97f30078202ae87a5b2a71e9ce1e4.tar.bz2
yuzu-ee532e5c01f97f30078202ae87a5b2a71e9ce1e4.tar.lz
yuzu-ee532e5c01f97f30078202ae87a5b2a71e9ce1e4.tar.xz
yuzu-ee532e5c01f97f30078202ae87a5b2a71e9ce1e4.tar.zst
yuzu-ee532e5c01f97f30078202ae87a5b2a71e9ce1e4.zip
Diffstat (limited to 'src/yuzu/configuration')
-rw-r--r--src/yuzu/configuration/configure_input_player.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp
index 8ef3596dd..ac0a9d7de 100644
--- a/src/yuzu/configuration/configure_input_player.cpp
+++ b/src/yuzu/configuration/configure_input_player.cpp
@@ -471,6 +471,25 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i
[=, this](const Common::ParamPackage& params) {
Common::ParamPackage param = emulated_controller->GetStickParam(analog_id);
SetAnalogParam(params, param, analog_sub_buttons[sub_button_id]);
+ // Correct axis direction for inverted sticks
+ if (input_subsystem->IsStickInverted(param)) {
+ switch (analog_id) {
+ case Settings::NativeAnalog::LStick: {
+ const bool invert_value = param.Get("invert_x", "+") == "-";
+ const std::string invert_str = invert_value ? "+" : "-";
+ param.Set("invert_x", invert_str);
+ break;
+ }
+ case Settings::NativeAnalog::RStick: {
+ const bool invert_value = param.Get("invert_y", "+") == "-";
+ const std::string invert_str = invert_value ? "+" : "-";
+ param.Set("invert_y", invert_str);
+ break;
+ }
+ default:
+ break;
+ }
+ }
emulated_controller->SetStickParam(analog_id, param);
},
InputCommon::Polling::InputType::Stick);