From 765ef69295ddc473640c96f1b4f54e0b8bfc670e Mon Sep 17 00:00:00 2001 From: Max Schwarz Date: Tue, 4 Oct 2011 22:06:08 +0200 Subject: [PATCH] dix: fix inverted handling of legacy scroll button events This bug led to inverted scrolling axes with drivers that support smooth scrolling axes but send legacy button events. Signed-off-by: Max Schwarz Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer --- dix/getevents.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dix/getevents.c b/dix/getevents.c index ebf265377..97c3937b9 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: