ControllerInterface: Implement axis scaling for axis-to-axis mappings

This feature allows us to work around analog stick range issues at the
intercardinal directions in certain titles (e.g. Rockman DASH 2) caused
by modern controllers having a tighter logical range of reporting than
PS1 analog controllers.
This commit is contained in:
Albert Liu
2020-06-06 18:49:25 -07:00
parent 840a80670f
commit 6b7c068f83
4 changed files with 25 additions and 1 deletions

View File

@ -1030,6 +1030,9 @@ void CommonHostInterface::UpdateControllerInputMap(SettingsInterface& si)
for (const std::string& binding : bindings)
AddRumbleToInputMap(binding, controller_index, num_motors);
}
const float axis_scale = si.GetFloatValue(category, "AxisScale", 1.00f);
m_controller_interface->SetControllerAxisScale(controller_index, axis_scale);
}
}