mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-05-08 10:08:05 +02:00
touchpad: Ignore fingers in button area for 2 finger scroll
Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
bfe05ed4a6
commit
55b2ea65f3
1 changed files with 11 additions and 2 deletions
|
|
@ -446,7 +446,7 @@ tp_post_twofinger_scroll(struct tp_dispatch *tp, uint32_t time)
|
||||||
double tmpx, tmpy;
|
double tmpx, tmpy;
|
||||||
|
|
||||||
tp_for_each_touch(tp, t) {
|
tp_for_each_touch(tp, t) {
|
||||||
if (t->dirty) {
|
if (tp_touch_active(tp, t) && t->dirty) {
|
||||||
nchanged++;
|
nchanged++;
|
||||||
tp_get_delta(t, &tmpx, &tmpy);
|
tp_get_delta(t, &tmpx, &tmpy);
|
||||||
|
|
||||||
|
|
@ -499,12 +499,21 @@ tp_post_twofinger_scroll(struct tp_dispatch *tp, uint32_t time)
|
||||||
static int
|
static int
|
||||||
tp_post_scroll_events(struct tp_dispatch *tp, uint32_t time)
|
tp_post_scroll_events(struct tp_dispatch *tp, uint32_t time)
|
||||||
{
|
{
|
||||||
|
struct tp_touch *t;
|
||||||
|
int nfingers_down = 0;
|
||||||
|
|
||||||
/* don't scroll if a clickpad is held down */
|
/* don't scroll if a clickpad is held down */
|
||||||
if (tp->buttons.is_clickpad &&
|
if (tp->buttons.is_clickpad &&
|
||||||
(tp->buttons.state || tp->buttons.old_state))
|
(tp->buttons.state || tp->buttons.old_state))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (tp->nfingers_down != 2) {
|
/* Only count active touches for 2 finger scrolling */
|
||||||
|
tp_for_each_touch(tp, t) {
|
||||||
|
if (tp_touch_active(tp, t))
|
||||||
|
nfingers_down++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nfingers_down != 2) {
|
||||||
/* terminate scrolling with a zero scroll event to notify
|
/* terminate scrolling with a zero scroll event to notify
|
||||||
* caller that it really ended now */
|
* caller that it really ended now */
|
||||||
if (tp->scroll.state != SCROLL_STATE_NONE) {
|
if (tp->scroll.state != SCROLL_STATE_NONE) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue