[PATCH libinput] touchpad: reduce the height of the bottom software buttons to 10%

Hans de Goede hdegoede at redhat.com
Tue Jul 1 01:36:37 PDT 2014


Hi,

On 07/01/2014 07:16 AM, Peter Hutterer wrote:
> Motion starting inside the buttons is initially ignored. For pointer motion
> along the negative y axis, the finger usually starts south of the touchpad
> center. The more distance the motion is intended to cover, the closer to the
> bottom edge of the touchpad the finger starts. For motions spanning most of
> the screen it's then common to start inside the buttons, giving the cursor a
> perceptive delay before moving.
> 
> Making the software buttons a smaller hit-target is acceptible, since we cover
> it all the way to the bottom edge anyway.
> 
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

As discussed by personal email a couple of days ago I've been seeing the same
issue, but I believe that the first thing to fix for this is to remove the
timeout where we still ignore a finger after it has left the button area,
that seems like a better fix to me then this.

Once we've made that change we can look at also tweaking the %, but I really
believe we should kill the timeout first. Note that xf86-input-synaptics is
using 82% here (so 18% as button area), so 10% seems really too small. 15%
might be ok, but lets first kill the timeout.

I've been annoyed by this too, so I've killing the timeout on me todo, but
I'm not sure if I will get around to it today. If you don't see a patch for
this when you start reading email in the morning, feel free to beat me
to it.

Regards,

Hans

> ---
> 10% may be cutting it short of course, but it seems big enough here.
> 
>  src/evdev-mt-touchpad-buttons.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/evdev-mt-touchpad-buttons.c b/src/evdev-mt-touchpad-buttons.c
> index 2ac231c..3099806 100644
> --- a/src/evdev-mt-touchpad-buttons.c
> +++ b/src/evdev-mt-touchpad-buttons.c
> @@ -603,7 +603,7 @@ tp_init_buttons(struct tp_dispatch *tp,
>  	if (tp->buttons.is_clickpad && !tp->buttons.use_clickfinger) {
>  		int xoffset = absinfo_x->minimum,
>  		    yoffset = absinfo_y->minimum;
> -		tp->buttons.bottom_area.top_edge = height * .8 + yoffset;
> +		tp->buttons.bottom_area.top_edge = height * .9 + yoffset;
>  		tp->buttons.bottom_area.rightbutton_left_edge = width/2 + xoffset;
>  
>  		if (tp->buttons.has_topbuttons) {
> 


More information about the wayland-devel mailing list