<br><br><div class="gmail_quote">On Wed, Oct 3, 2012 at 2:56 PM, Jonas Ådahl <span dir="ltr"><<a href="mailto:jadahl@gmail.com" target="_blank">jadahl@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>Signed-off-by: Jonas Ådahl <<a href="mailto:jadahl@gmail.com" target="_blank">jadahl@gmail.com</a>><br>
---<br>
</div><div> src/evdev.c |   38 +++++++++++++++++++++++++++++---------<br>
 1 file changed, 29 insertions(+), 9 deletions(-)<br>
<br>
diff --git a/src/evdev.c b/src/evdev.c<br>
</div>index 8848736..c8513c8 100644<br>
<div><div>--- a/src/evdev.c<br>
+++ b/src/evdev.c<br>
@@ -30,6 +30,8 @@<br>
 #include "compositor.h"<br>
 #include "evdev.h"<br>
<br>
+#define DEFAULT_AXIS_STEP_DISTANCE wl_fixed_from_int(10)<br>
+<br>
 void<br>
 evdev_led_update(struct evdev_device *device, enum weston_led leds)<br>
 {<br>
@@ -161,17 +163,35 @@ evdev_process_relative(struct evdev_device *device,<br>
                device->pending_events |= EVDEV_RELATIVE_MOTION;<br>
                break;<br>
        case REL_WHEEL:<br>
-               notify_axis(device->seat,<br>
-                             time,<br>
-                             WL_POINTER_AXIS_VERTICAL_SCROLL,<br>
-                             wl_fixed_from_int(e->value));<br>
+               switch (e->value) {<br>
+               case -1:<br>
+                       /* Scroll down */<br>
+               case 1:<br>
+                       /* Scroll up */<br>
+                       notify_axis(device->seat,<br>
+                                   time,<br>
+                                   WL_POINTER_AXIS_VERTICAL_SCROLL,<br>
+                                   -1 * e->value * DEFAULT_AXIS_STEP_DISTANCE);<br>
+                       break;<br>
+               default:<br>
+                       break;<br>
+               }<br>
                break;<br>
        case REL_HWHEEL:<br>
-               notify_axis(device->seat,<br>
-                             time,<br>
-                             WL_POINTER_AXIS_HORIZONTAL_SCROLL,<br>
-                             wl_fixed_from_int(e->value));<br>
-               break;<br>
+               switch (e->value) {<br>
+               case -1:<br>
+                       /* Scroll left */<br>
+               case 1:<br>
+                       /* Scroll right */<br>
+                       notify_axis(device->seat,<br>
+                                   time,<br>
</div></div>+                                   WL_POINTER_AXIS_HORIZONTAL_SCROLL,<br>
<div><div>+                                   e->value * DEFAULT_AXIS_STEP_DISTANCE);<br>
+                       break;<br>
+               default:<br>
+                       break;<br>
+<br>
+               }<br>
        }<br>
 }<br>
<br>
--<br>
1.7.9.5<br><br></div></div></blockquote><div><br>Axis events are broken in drm since b0b87baf7c2b4bc9ab8e59b47d8d4129a1418eec. I have tested and this does fix the problem.<br><br><br>Thanks,<br><br>Scott<br> </div></div>
<br>