<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Clickfinger behavior generates scroll events for some actions"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=90261">90261</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Clickfinger behavior generates scroll events for some actions
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Wayland
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>libinput
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>wayland-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>cesar@caih.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>When trying to click and drag, or select text, on a MacBook trackpad, the usual
method is to click with the thumb in the lower part of the trackpad and use the
index finger to drag or select text. This works partially with libinput. There
are some cases where it doesn't work and a (two-finger) scroll event is
generated.

1) When is it working:

* Move the cursor with the index finger to the initial position
* Raise the index finger from the trackpad
* Click with the thumb on the lower part of the trackpad
* Touch again with the index finger and move to drag => OK

2) When it doesn't work:

* Move the cursor with the index finger to the initial position
* Keep the index finger on the trackpad (do not raise it)
* Click with the thumb on the lower part of the trackpad
* Move the index finger to drag => a scroll event is generated

3) Another case that generates a scroll event is the following:

* Repeat the same steps as 1)
* Without raising the finger, release the thumb finger click (keep the finger
touching the trackpad)
* Move the index finger => a scroll event is generated

I believe that the right behavior might be to ignore a thumb finger in the
lower part of the trackpad at all times. Detecting a thumb finger might not be
feasible but some ideas come to mind (similar to how the palm detection works):

* Check the lower 20% of the trackpad only
* A finger in that area that doesn't move vertically (or move little) should be
ignored
* A finger that moves from that area vertically should generate move events
* Maybe scroll events should be generated if both fingers move.

There's some more information on how OS X handles that in the "Finger position
while tracking" section on the trackpad user guide at
<a href="https://support.apple.com/en-us/HT201849">https://support.apple.com/en-us/HT201849</a></pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>