diff --git a/rpcs3/Input/keyboard_pad_handler.cpp b/rpcs3/Input/keyboard_pad_handler.cpp index cece412837..c274345999 100644 --- a/rpcs3/Input/keyboard_pad_handler.cpp +++ b/rpcs3/Input/keyboard_pad_handler.cpp @@ -150,13 +150,13 @@ void keyboard_pad_handler::Key(const u32 code, bool pressed, u16 value) value = MultipliedInput(value, is_left_stick ? m_l_stick_multiplier : m_r_stick_multiplier); } - const u16 normalized_value = std::max(1, static_cast(std::floor(value / 2.0))); + const u16 normalized_value = std::ceil(value / 2.0); if (is_max) - m_stick_max[i] = pressed ? 128 + normalized_value : 128; + m_stick_max[i] = pressed ? std::min(128 + normalized_value, 255) : 128; if (is_min) - m_stick_min[i] = pressed ? normalized_value : 0; + m_stick_min[i] = pressed ? std::min(normalized_value, 128) : 0; m_stick_val[i] = m_stick_max[i] - m_stick_min[i];