summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-08-05 18:57:30 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-08-11 14:38:26 +1000
commitd764dded18c47cec009babc075f2324cba1781ce (patch)
treeb296cf2fea65f1b986958980b1ac8378eb79c789
parentf352598e45be86f9e24d9dba88c657f03f3b168e (diff)
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 <peter.hutterer@who-t.net>
-rw-r--r--src/evdev.c16
1 files changed, 8 insertions, 8 deletions
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;
}