Add "Five + 2 Wheels" option for horizontal wheel reporting
This commit is contained in:
@@ -37,6 +37,7 @@ CocoaEventFilter::nativeEventFilter(const QByteArray &eventType, void *message,
|
||||
return true;
|
||||
}
|
||||
if ([event type] == NSEventTypeScrollWheel) {
|
||||
mouse_set_w(-[event deltaX]);
|
||||
mouse_set_z([event deltaY]);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -210,8 +210,10 @@ RendererStack::wheelEvent(QWheelEvent *event)
|
||||
|
||||
#if !defined(Q_OS_WINDOWS) && !defined(__APPLE__)
|
||||
double numSteps = (double) event->angleDelta().y() / 120.0;
|
||||
double numStepsW = (double) event->angleDelta().x() / 120.0;
|
||||
|
||||
mouse_set_z((int) numSteps);
|
||||
mouse_set_w((int) numStepsW);
|
||||
#endif
|
||||
event->accept();
|
||||
}
|
||||
|
||||
@@ -330,6 +330,7 @@ WindowsRawInputFilter::mouse_handle(PRAWINPUT raw)
|
||||
static int x, delta_x;
|
||||
static int y, delta_y;
|
||||
static int b, delta_z;
|
||||
static int delta_w;
|
||||
|
||||
b = mouse_get_buttons_ex();
|
||||
|
||||
@@ -367,6 +368,12 @@ WindowsRawInputFilter::mouse_handle(PRAWINPUT raw)
|
||||
} else
|
||||
delta_z = 0;
|
||||
|
||||
if (state.usButtonFlags & RI_MOUSE_HWHEEL) {
|
||||
delta_w = (SHORT) state.usButtonData / 120;
|
||||
mouse_set_w(delta_w);
|
||||
} else
|
||||
delta_w = 0;
|
||||
|
||||
if (state.usFlags & MOUSE_MOVE_ABSOLUTE) {
|
||||
/* absolute mouse, i.e. RDP or VNC
|
||||
* seems to work fine for RDP on Windows 10
|
||||
|
||||
Reference in New Issue
Block a user