On Mon, Apr 21, 2014 at 07:11:11PM +0200, Carlos Garnacho wrote:
> It will be unlikely in this case to get both REL_WHEEL and REL_HWHEEL
> on a single EV_SYN, but for completeness.
> 
> Signed-off-by: Carlos Garnacho <[email protected]>
> ---
>  src/evdev.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/src/evdev.c b/src/evdev.c
> index 901b310..94fe67b 100644
> --- a/src/evdev.c
> +++ b/src/evdev.c
> @@ -335,6 +335,7 @@ evdev_process_relative(struct evdev_device *device,
>                      struct input_event *e, uint32_t time)
>  {
>       struct libinput_device *base = &device->base;
> +     int need_frame = 0;
>  
>       switch (e->code) {
>       case REL_X:
> @@ -356,6 +357,7 @@ evdev_process_relative(struct evdev_device *device,
>                       time,
>                       LIBINPUT_POINTER_AXIS_VERTICAL_SCROLL,
>                       -1 * e->value * DEFAULT_AXIS_STEP_DISTANCE);
> +             need_frame = 1;
>               break;
>       case REL_HWHEEL:
>               evdev_flush_pending_event(device, time);
> @@ -369,12 +371,16 @@ evdev_process_relative(struct evdev_device *device,
>                               time,
>                               LIBINPUT_POINTER_AXIS_HORIZONTAL_SCROLL,
>                               e->value * DEFAULT_AXIS_STEP_DISTANCE);
> +                     need_frame = 1;
>                       break;
>               default:
>                       break;
>  
>               }
>       }
> +
> +     if (need_frame)
> +             pointer_notify_axis_frame(base, time);

this actually makes it impossible to get both in the same AXIS_FRAME
sequence. Is this really intended?

Cheers,
   Peter


>  }
>  
>  static inline void
> -- 
> 1.9.0
 
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to