From 39768edd746bcc88f561f780958e6d5fe23d53b4 Mon Sep 17 00:00:00 2001 From: Silent Date: Fri, 4 Dec 2020 17:55:01 +0100 Subject: [PATCH] XInput: Fix mapping triggers to axes --- src/frontend-common/xinput_controller_interface.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/frontend-common/xinput_controller_interface.cpp b/src/frontend-common/xinput_controller_interface.cpp index 144391b7f..147153ea2 100644 --- a/src/frontend-common/xinput_controller_interface.cpp +++ b/src/frontend-common/xinput_controller_interface.cpp @@ -237,7 +237,15 @@ bool XInputControllerInterface::HandleAxisEvent(u32 index, Axis axis, s32 value) const AxisCallback& cb = m_controllers[index].axis_mapping[static_cast(axis)][AxisSide::Full]; if (cb) { - cb(f_value); + // Extend triggers from a 0 - 1 range to a -1 - 1 range for consistency with other inputs + if (axis == Axis::LeftTrigger || axis == Axis::RightTrigger) + { + cb((f_value * 2.0f) - 1.0f); + } + else + { + cb(f_value); + } return true; }