瀏覽代碼

Merge pull request #1770 from Areloch/SDLMouseModsFix

Makes sure the key modifiers are passed along with mouse actions.
Areloch 9 年之前
父節點
當前提交
3432fbcd7a
共有 1 個文件被更改,包括 6 次插入3 次删除
  1. 6 3
      Engine/source/windowManager/sdl/sdlWindow.cpp

+ 6 - 3
Engine/source/windowManager/sdl/sdlWindow.cpp

@@ -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)