aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/platform/MSWindowsDesks.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2019-10-05 21:10:01 -0400
committerLibravatarUnit 193 <unit193@ubuntu.com>2019-10-05 21:10:01 -0400
commitdff8b887edf10407f22aaab9d147948cd5491f0a (patch)
tree14456ec6e2161ab1146e0bd9a2c9063fd56f87b4 /src/lib/platform/MSWindowsDesks.cpp
parent81b2a927d50def6c2643db51394a170593d1db85 (diff)
New upstream version 2.3.2+dfsgupstream/2.3.2+dfsg
Diffstat (limited to 'src/lib/platform/MSWindowsDesks.cpp')
-rw-r--r--src/lib/platform/MSWindowsDesks.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/lib/platform/MSWindowsDesks.cpp b/src/lib/platform/MSWindowsDesks.cpp
index b43a218..e47aeaa 100644
--- a/src/lib/platform/MSWindowsDesks.cpp
+++ b/src/lib/platform/MSWindowsDesks.cpp
@@ -33,6 +33,7 @@
#include "base/IEventQueue.h"
#include <malloc.h>
+#include <VersionHelpers.h>
// these are only defined when WINVER >= 0x0500
#if !defined(SPI_GETMOUSESPEED)
@@ -45,6 +46,10 @@
#define SPI_GETSCREENSAVERRUNNING 114
#endif
+#if !defined(MOUSEEVENTF_HWHEEL)
+#define MOUSEEVENTF_HWHEEL 0x1000
+#endif
+
// X button stuff
#if !defined(WM_XBUTTONDOWN)
#define WM_XBUTTONDOWN 0x020B
@@ -296,12 +301,12 @@ MSWindowsDesks::fakeMouseButton(ButtonID button, bool press)
flags = press ? MOUSEEVENTF_RIGHTDOWN : MOUSEEVENTF_RIGHTUP;
break;
- case kButtonExtra0 + 0:
+ case kButtonExtra0:
data = XBUTTON1;
flags = press ? MOUSEEVENTF_XDOWN : MOUSEEVENTF_XUP;
break;
- case kButtonExtra0 + 1:
+ case kButtonExtra1:
data = XBUTTON2;
flags = press ? MOUSEEVENTF_XDOWN : MOUSEEVENTF_XUP;
break;
@@ -686,10 +691,12 @@ MSWindowsDesks::deskThread(void* vdesk)
break;
case BARRIER_MSG_FAKE_WHEEL:
- // XXX -- add support for x-axis scrolling
if (msg.lParam != 0) {
mouse_event(MOUSEEVENTF_WHEEL, 0, 0, (DWORD)msg.lParam, 0);
}
+ else if (IsWindowsVistaOrGreater() && msg.wParam != 0) {
+ mouse_event(MOUSEEVENTF_HWHEEL, 0, 0, (DWORD)msg.wParam, 0);
+ }
break;
case BARRIER_MSG_CURSOR_POS: {