Makes sure the key modifiers are passed along with mouse move and wheel inputs when using SDL.

This commit is contained in:
Areloch 2016-09-14 02:18:21 -05:00
parent ab68a19a8b
commit c0a46ec1f1

View file

@ -426,16 +426,19 @@ void PlatformWindowSDL::defaultRender()
void PlatformWindowSDL::_triggerMouseLocationNotify(const SDL_Event& evt)
{
U32 mods = getTorqueModFromSDL(SDL_GetModState());
if(!mMouseLocked)
mouseEvent.trigger(getWindowId(), 0, evt.motion.x, evt.motion.y, false);
mouseEvent.trigger(getWindowId(), mods, evt.motion.x, evt.motion.y, false);
else
mouseEvent.trigger(getWindowId(), 0, evt.motion.xrel, evt.motion.yrel, true);
mouseEvent.trigger(getWindowId(), mods, evt.motion.xrel, evt.motion.yrel, true);
}
void PlatformWindowSDL::_triggerMouseWheelNotify(const SDL_Event& evt)
{
U32 mods = getTorqueModFromSDL(SDL_GetModState());
S32 wheelDelta = Con::getIntVariable("$pref::Input::MouseWheelSpeed", 120);
wheelEvent.trigger(getWindowId(), 0, evt.wheel.x * wheelDelta, evt.wheel.y * wheelDelta);
wheelEvent.trigger(getWindowId(), mods, evt.wheel.x * wheelDelta, evt.wheel.y * wheelDelta);
}
void PlatformWindowSDL::_triggerMouseButtonNotify(const SDL_Event& event)