diff options
-rw-r--r-- | backends/platform/sdl/events.cpp | 8 | ||||
-rw-r--r-- | common/events.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/backends/platform/sdl/events.cpp b/backends/platform/sdl/events.cpp index 255a0e0e66..9a0a33f45c 100644 --- a/backends/platform/sdl/events.cpp +++ b/backends/platform/sdl/events.cpp @@ -307,6 +307,10 @@ bool OSystem_SDL::pollEvent(Common::Event &event) { else if (ev.button.button == SDL_BUTTON_WHEELDOWN) event.type = Common::EVENT_WHEELDOWN; #endif +#if defined(SDL_BUTTON_MIDDLE) + else if (ev.button.button == SDL_BUTTON_MIDDLE) + event.type = Common::EVENT_MBUTTONDOWN; +#endif else break; @@ -319,6 +323,10 @@ bool OSystem_SDL::pollEvent(Common::Event &event) { event.type = Common::EVENT_LBUTTONUP; else if (ev.button.button == SDL_BUTTON_RIGHT) event.type = Common::EVENT_RBUTTONUP; +#if defined(SDL_BUTTON_MIDDLE) + else if (ev.button.button == SDL_BUTTON_MIDDLE) + event.type = Common::EVENT_MBUTTONUP; +#endif else break; fillMouseEvent(event, ev.button.x, ev.button.y); diff --git a/common/events.h b/common/events.h index b0742b484a..d4b8134bc6 100644 --- a/common/events.h +++ b/common/events.h @@ -55,6 +55,8 @@ enum EventType { EVENT_RBUTTONUP = 7, EVENT_WHEELUP = 8, EVENT_WHEELDOWN = 9, + EVENT_MBUTTONDOWN = 13, + EVENT_MBUTTONUP = 14, EVENT_QUIT = 10, EVENT_SCREEN_CHANGED = 11, |