[PATCH 07/18] Allow touching in clickpad button area

Chris Bagwell chris at cnpbagwell.com
Wed Oct 13 07:15:44 PDT 2010


On Fri, Oct 8, 2010 at 12:22 PM, Takashi Iwai <tiwai at suse.de> wrote:
> +    prop_touch_button_area = InitAtom(local->dev, SYNAPTICS_PROP_TOUCH_BUTTON_AREA, 32, 1, &para->touch_button_area);

[..]

> -    /* Clickpad mode -- bottom area is used as buttons */
> -    if (priv->is_clickpad) {
> -       int button_bottom;
> -       /* Clickpad devices usually the button area at the bottom, and
> -        * its size seems ca. 20% of the touchpad height no matter how
> -        * large the pad is.
> -        */
> -       button_bottom = priv->maxy - (abs(priv->maxy - priv->miny) * 20) / 100;
> -       if (button_bottom < b && button_bottom >= t)
> -           b = button_bottom;
> -    }
> -

Maybe its worth moving this comment to property setting instead of
deleting.  It is in the man page somewhat though.

Is the 20% statement true for all versions of clickpad?  On kernel
driver thread you mentioned a hinge version at top of clickpad which
sounded like button area grows to majority of touchpad.  Is 20% still
a good rule for filtering those or user expected to modify this
property?

Chase has brought up idea of filtering out these related ST reports on
kernel side.  I proposed a slight alternative on kernel side but
requires MT-mode to be enabled.  I wonder which side (kernel or app)
is best location to do this logic at?

Note: Even if kernel side filters ST events, this patch is still
useful in MT event processing context.

Also, I'm not sure best thread to ask this question so I'll ask here.
When we are sending MT events, should there be any strict rules on how
BTN_TOOL_DOUBLETAP behave.  For example, if kernel filtered out
ABS_X/ABS_Y events during clickpad button press should it also set
BTN_TOOL_DOUBLETAP to 0?  Even if its sending MT reports for both
fingers?

Chris


More information about the xorg-devel mailing list