[PATCH libevdev 2/3] Make sure EV_SYN is always set

David Herrmann dh.herrmann at gmail.com
Mon Oct 28 06:52:58 PDT 2013


On Thu, Oct 24, 2013 at 7:14 AM, Peter Hutterer
<peter.hutterer at who-t.net> wrote:
> Set the bit during device reset and make sure that if we're checking
> for the event type we always return true for EV_SYN.

The kernel already guarantees that in ./drivers/input/input.c
input_register_device(). But we should set it, too. Apart from a
missing test:
Reviewed-by: David Herrmann <dh.herrmann at gmail.com>

Thanks
David

> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
>  libevdev/libevdev.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c
> index 8315d9b..7bebe32 100644
> --- a/libevdev/libevdev.c
> +++ b/libevdev/libevdev.c
> @@ -120,6 +120,7 @@ libevdev_reset(struct libevdev *dev)
>         dev->current_slot = -1;
>         dev->grabbed = LIBEVDEV_UNGRAB;
>         dev->sync_state = SYNC_NONE;
> +       libevdev_enable_event_type(dev, EV_SYN);
>  }
>
>  LIBEVDEV_EXPORT struct libevdev*
> @@ -944,7 +945,7 @@ libevdev_enable_property(struct libevdev *dev, unsigned int prop)
>  LIBEVDEV_EXPORT int
>  libevdev_has_event_type(const struct libevdev *dev, unsigned int type)
>  {
> -       return (type <= EV_MAX) && bit_is_set(dev->bits, type);
> +       return type == EV_SYN ||(type <= EV_MAX && bit_is_set(dev->bits, type));
>  }
>
>  LIBEVDEV_EXPORT int
> --
> 1.8.3.1
>
> _______________________________________________
> Input-tools mailing list
> Input-tools at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/input-tools


More information about the Input-tools mailing list