Make XInput triggers centered at 0

This commit is contained in:
Brad Hughes 2016-04-06 10:18:47 -04:00
parent 8c7bcae500
commit 9db1556541

View File

@ -155,8 +155,8 @@ void xinput_joystick_device::poll()
gamepad.sThumbRY = normalize_absolute_axis(xinput_state.xstate.Gamepad.sThumbRY * -1, XINPUT_AXIS_MINVALUE, XINPUT_AXIS_MAXVALUE); gamepad.sThumbRY = normalize_absolute_axis(xinput_state.xstate.Gamepad.sThumbRY * -1, XINPUT_AXIS_MINVALUE, XINPUT_AXIS_MAXVALUE);
// Now the triggers // Now the triggers
gamepad.bLeftTrigger = normalize_absolute_axis(xinput_state.xstate.Gamepad.bLeftTrigger, 0, 0xFF); gamepad.bLeftTrigger = normalize_absolute_axis(xinput_state.xstate.Gamepad.bLeftTrigger, -255, 255);
gamepad.bRightTrigger = normalize_absolute_axis(xinput_state.xstate.Gamepad.bRightTrigger, 0, 0xFF); gamepad.bRightTrigger = normalize_absolute_axis(xinput_state.xstate.Gamepad.bRightTrigger, -255, 255);
} }
void xinput_joystick_device::reset() void xinput_joystick_device::reset()
@ -204,13 +204,13 @@ void xinput_joystick_device::configure()
device()->add_item( device()->add_item(
"Left Trigger", "Left Trigger",
ITEM_ID_OTHER_AXIS_ABSOLUTE, ITEM_ID_ZAXIS,
generic_axis_get_state, generic_axis_get_state,
&gamepad.bLeftTrigger); &gamepad.bLeftTrigger);
device()->add_item( device()->add_item(
"Right Trigger", "Right Trigger",
ITEM_ID_OTHER_AXIS_ABSOLUTE, ITEM_ID_RZAXIS,
generic_axis_get_state, generic_axis_get_state,
&gamepad.bRightTrigger); &gamepad.bRightTrigger);