From d764dded18c47cec009babc075f2324cba1781ce Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 5 Aug 2009 18:57:30 +1000 Subject: Skip check for EVDEV_RELATIVE_EVENTS for wheel events. This patch fixes a regression introduced with 1f641d75e. Wheel axis events are posted as button clicks, a device may have no relative axes but it does need to post these button clicks. Signed-off-by: Peter Hutterer --- src/evdev.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/evdev.c b/src/evdev.c index bdf7f0a..e1e1eae 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -524,14 +524,6 @@ EvdevProcessRelativeMotionEvent(InputInfoPtr pInfo, struct input_event *ev) /* Get the signed value, earlier kernels had this as unsigned */ value = ev->value; - /* Ignore EV_REL events if we never set up for them. */ - if (!(pEvdev->flags & EVDEV_RELATIVE_EVENTS)) - return; - - /* Handle mouse wheel emulation */ - if (EvdevWheelEmuFilterMotion(pInfo, ev)) - return; - pEvdev->rel = 1; switch (ev->code) { @@ -552,6 +544,14 @@ EvdevProcessRelativeMotionEvent(InputInfoPtr pInfo, struct input_event *ev) /* We don't post wheel events as axis motion. */ default: + /* Ignore EV_REL events if we never set up for them. */ + if (!(pEvdev->flags & EVDEV_RELATIVE_EVENTS)) + return; + + /* Handle mouse wheel emulation */ + if (EvdevWheelEmuFilterMotion(pInfo, ev)) + return; + pEvdev->delta[ev->code] += value; break; } -- cgit v1.2.3