[PATCH v2 2/4 libinput] evdev: split scroll button state check out
Hans de Goede
hdegoede at redhat.com
Wed Apr 13 08:56:37 UTC 2016
Hi,
On 12-04-16 20:50, Peter Hutterer wrote:
> Rather than checking the physical key's state, set a flag for the button to be
> down. This enables us to use non-physical buttons (middle button emulation).
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Looks good to me now:
Reviewed-by: Hans de Goede <hdegoede at redhat.com>
Regards,
Hans
> ---
> changes to v1:
> - replaces previous 2/4 patch
>
> src/evdev.c | 4 +++-
> src/evdev.h | 1 +
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/evdev.c b/src/evdev.c
> index 7ffc464..2afec6e 100644
> --- a/src/evdev.c
> +++ b/src/evdev.c
> @@ -273,7 +273,7 @@ evdev_post_trackpoint_scroll(struct evdev_device *device,
> uint64_t time)
> {
> if (device->scroll.method != LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN ||
> - !hw_is_key_down(device, device->scroll.button))
> + !device->scroll.button_scroll_btn_pressed)
> return false;
>
> if (device->scroll.button_scroll_active)
> @@ -494,6 +494,8 @@ static void
> evdev_button_scroll_button(struct evdev_device *device,
> uint64_t time, int is_press)
> {
> + device->scroll.button_scroll_btn_pressed = is_press;
> +
> if (is_press) {
> libinput_timer_set(&device->scroll.timer,
> time + DEFAULT_MIDDLE_BUTTON_SCROLL_TIMEOUT);
> diff --git a/src/evdev.h b/src/evdev.h
> index 3a7693e..520446d 100644
> --- a/src/evdev.h
> +++ b/src/evdev.h
> @@ -173,6 +173,7 @@ struct evdev_device {
> /* Checks if buttons are down and commits the setting */
> void (*change_scroll_method)(struct evdev_device *device);
> bool button_scroll_active;
> + bool button_scroll_btn_pressed;
> double threshold;
> double direction_lock_threshold;
> uint32_t direction;
>
More information about the wayland-devel
mailing list