[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