[PATCH libinput] Add libinput_device_pointer_has_button over the plain has_button

Bill Spitzak spitzak at gmail.com
Fri Feb 13 10:45:09 PST 2015


Why not just say that is what libinput_device_has_button does in case 
there is an ambiguity?

On 02/12/2015 08:43 PM, Peter Hutterer wrote:
> If a device has multiple capabilities, has_button is imprecise. A device with
> tablet and pointer capability for example may have BTN_LEFT on the pointer
> interface but not on the tablet interface.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
>   src/libinput.c   | 10 ++++++++--
>   src/libinput.h   | 10 +++++++++-
>   src/libinput.sym |  2 ++
>   3 files changed, 19 insertions(+), 3 deletions(-)
>
> diff --git a/src/libinput.c b/src/libinput.c
> index 81862d5..b903caa 100644
> --- a/src/libinput.c
> +++ b/src/libinput.c
> @@ -1364,11 +1364,17 @@ libinput_device_get_size(struct libinput_device *device,
>   }
>
>   LIBINPUT_EXPORT int
> -libinput_device_has_button(struct libinput_device *device, uint32_t code)
> +libinput_device_pointer_has_button(struct libinput_device *device, uint32_t code)
>   {
>   	return evdev_device_has_button((struct evdev_device *)device, code);
>   }
>
> +LIBINPUT_EXPORT int
> +libinput_device_has_button(struct libinput_device *device, uint32_t code)
> +{
> +	return libinput_device_pointer_has_button(device, code);
> +}
> +
>   LIBINPUT_EXPORT struct libinput_event *
>   libinput_event_device_notify_get_base_event(struct libinput_event_device_notify *event)
>   {
> @@ -1805,7 +1811,7 @@ LIBINPUT_EXPORT enum libinput_config_status
>   libinput_device_config_scroll_set_button(struct libinput_device *device,
>   					 uint32_t button)
>   {
> -	if (button && !libinput_device_has_button(device, button))
> +	if (button && !libinput_device_pointer_has_button(device, button))
>   		return LIBINPUT_CONFIG_STATUS_INVALID;
>
>   	if ((libinput_device_config_scroll_get_methods(device) &
> diff --git a/src/libinput.h b/src/libinput.h
> index 857b3fa..0fdca7b 100644
> --- a/src/libinput.h
> +++ b/src/libinput.h
> @@ -1661,7 +1661,15 @@ libinput_device_get_size(struct libinput_device *device,
>    * on error.
>    */
>   int
> -libinput_device_has_button(struct libinput_device *device, uint32_t code);
> +libinput_device_pointer_has_button(struct libinput_device *device, uint32_t code);
> +
> +/**
> + * @ingroup device
> + *
> + * @deprecated Use libinput_device_pointer_has_button() instead.
> + */
> +int
> +libinput_device_has_button(struct libinput_device *device, uint32_t code) LIBINPUT_ATTRIBUTE_DEPRECATED;
>
>   /**
>    * @ingroup device
> diff --git a/src/libinput.sym b/src/libinput.sym
> index cf13789..644e910 100644
> --- a/src/libinput.sym
> +++ b/src/libinput.sym
> @@ -133,4 +133,6 @@ LIBINPUT_0.11.0 {
>   	libinput_device_group_ref;
>   	libinput_device_group_set_user_data;
>   	libinput_device_group_unref;
> +
> +	libinput_device_pointer_has_button;
>   } LIBINPUT_0.9.0;
>


More information about the wayland-devel mailing list