diff --git a/Windows/DinputDevice.cpp b/Windows/DinputDevice.cpp index cc0222578e..ab3776b5b8 100644 --- a/Windows/DinputDevice.cpp +++ b/Windows/DinputDevice.cpp @@ -237,6 +237,10 @@ int DinputDevice::UpdateState(InputState &input_state) if (js.lZ > rthreshold) input_state.pad_buttons |= PAD_BUTTON_Y; else if (js.lZ < -rthreshold) input_state.pad_buttons |= PAD_BUTTON_A; break; + case 5: + if (js.lRz > rthreshold) input_state.pad_buttons |= PAD_BUTTON_RIGHT; + else if (js.lRz < -rthreshold) input_state.pad_buttons |= PAD_BUTTON_LEFT; + break; } return UPDATESTATE_SKIP_PAD; diff --git a/Windows/XinputDevice.cpp b/Windows/XinputDevice.cpp index c1a25a3c6d..d3939ce4a0 100644 --- a/Windows/XinputDevice.cpp +++ b/Windows/XinputDevice.cpp @@ -199,6 +199,10 @@ void XinputDevice::ApplyDiff(XINPUT_STATE &state, InputState &input_state) { if (state.Gamepad.sThumbRY > rthreshold) input_state.pad_buttons |= PAD_BUTTON_Y; else if (state.Gamepad.sThumbRY < -rthreshold) input_state.pad_buttons |= PAD_BUTTON_A; break; + case 5: + if (state.Gamepad.sThumbRX > rthreshold) input_state.pad_buttons |= PAD_BUTTON_RIGHT; + else if (state.Gamepad.sThumbRX < -rthreshold) input_state.pad_buttons |= PAD_BUTTON_LEFT; + break; } }