mirror of
https://github.com/libretro/ppsspp.git
synced 2024-11-27 10:20:49 +00:00
Try to prevent any remaining "stickiness" when you map analog axises to buttons/direction
This commit is contained in:
parent
b24ea4014a
commit
3b4cf31197
@ -330,6 +330,8 @@ void EmuScreen::axis(const AxisInput &axis) {
|
||||
|
||||
void EmuScreen::processAxis(const AxisInput &axis, int direction) {
|
||||
int result = KeyMap::AxisToPspButton(axis.deviceId, axis.axisId, direction);
|
||||
int resultOpposite = KeyMap::AxisToPspButton(axis.deviceId, axis.axisId, -direction);
|
||||
|
||||
if (result == KEYMAP_ERROR_UNKNOWN_KEY)
|
||||
return;
|
||||
|
||||
@ -369,7 +371,9 @@ void EmuScreen::processAxis(const AxisInput &axis, int direction) {
|
||||
if (result != KEYMAP_ERROR_UNKNOWN_KEY)
|
||||
pspKey(result, KEY_UP);
|
||||
} else {
|
||||
// Release both directions, trying to deal with some erratic controllers that can cause it to stick.
|
||||
pspKey(result, KEY_UP);
|
||||
pspKey(resultOpposite, KEY_UP);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user