[PATCH] dix: fix inverted handling of legacy scroll button events
Max Schwarz
Max at x-quadraht.de
Tue Oct 4 14:55:32 PDT 2011
This bug led to inverted scrolling axes with legacy drivers that
do not support smooth scrolling classes.
Signed-off-by: Max Schwarz <Max at x-quadraht.de>
---
Applies on Peter's next branch.
dix/getevents.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/dix/getevents.c b/dix/getevents.c
index ebf2653..97c3937 100644
--- a/dix/getevents.c
+++ b/dix/getevents.c
@@ -1330,21 +1330,22 @@ GetPointerEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
double val, adj;
int axis;
+ /* Up is negative on valuators, down positive */
switch (buttons) {
case 4:
- adj = 1.0;
+ adj = -1.0;
axis = v_scroll_axis;
break;
case 5:
- adj = -1.0;
+ adj = 1.0;
axis = v_scroll_axis;
break;
case 6:
- adj = 1.0;
+ adj = -1.0;
axis = h_scroll_axis;
break;
case 7:
- adj = -1.0;
+ adj = 1.0;
axis = h_scroll_axis;
break;
default:
--
1.7.4.1
More information about the xorg-devel
mailing list