diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-05 18:57:30 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-11 14:38:26 +1000 |
commit | d764dded18c47cec009babc075f2324cba1781ce (patch) | |
tree | b296cf2fea65f1b986958980b1ac8378eb79c789 /src | |
parent | f352598e45be86f9e24d9dba88c657f03f3b168e (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/evdev.c | 16 |
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; } |