aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/platform/sdl/events.cpp8
-rw-r--r--common/events.h2
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,