Two near-simultaneous taps with different fingers are delivered as a single touch point dragging between them

REPRODUCIBILITY: Often, most attempts when tapping quickly with two fingers. More likely the closer together the two points are.
OS VERSION: 5.2.0.17 (Finlayson)
HARDWARE: Jolla Phone (jp2601)
UI LANGUAGE: English
REGRESSION: Not known, please see note below

DESCRIPTION:

When two fingers touch the screen in quick succession, the two contacts are
delivered to applications as ONE touch point that moves from the first
position to the second, instead of as two separate touches. Applications
therefore see a drag/stroke across everything between the two points.

The touch panel itself is not at fault. Reading the raw kernel input device
while reproducing shows two separate contacts, each with its own MT slot and
tracking id, both of which remain completely stationary for their whole
lifetime. Neither finger moves. The merge into a single moving point happens
somewhere above the kernel driver.

This is not specific to one application: it was observed both in a drawing
application available in the Jolla store called “Papocchio” (a stroke is drawn between the two points) and in text input
(the input method receives a drag across the keys between the two keys, which leads to changing keyboards if you have more than 1 keyboard enabled).

PRECONDITIONS:

None. Any application that reacts to touch movement will show it.
A drawing application makes it easiest to see.

STEPS TO REPRODUCE:

  1. Open a drawing/painting application
  2. Tap one spot with one finger, and immediately tap a different spot a few
    centimeters away with another finger, as when typing with two thumbs
  3. Repeat a few times, alternating between the two spots (I have attached a screenshot so you can see what is happening)

EXPECTED RESULT:

Two separate dots, one at each tapped position.

ACTUAL RESULT:

A single continuous stroke is drawn between the two positions, as if one
finger had dragged from the first point to the second.

The same merged, traveling touch point reaches text input, where it is
indistinguishable from a deliberate gesture.

MODIFICATIONS:

Developer mode enabled. A third-party keyboard (self-built) is installed,
but it is NOT involved: the stock /usr/share/maliit/plugins/com/jolla/
KeyboardBase.qml is unmodified (rpm -V clean), and the issue reproduces in an
unrelated drawing application. /sailfish/text_input/use_mouse_events is unset
(false), so the keyboard is using MultiPointTouchArea, not the single-point
mouse path.

ADDITIONAL INFORMATION:

Raw input evidence, captured from /dev/input/event5 (“hyn_ts”, a type B
multitouch device advertising ABS_MT_SLOT, ABS_MT_TRACKING_ID,
ABS_MT_POSITION_X/Y, ABS_MT_TOUCH_MAJOR, ABS_MT_WIDTH_MAJOR, ABS_MT_PRESSURE)
during the two-finger tapping described above:

max simultaneous contacts: 2
distinct tracking ids: 52
frames by number of live contacts: 0 → 33 1 → 676 2 → 71

Example frames (slot:tracking_id @ x,y):
n=1 0:0@649,1964
n=2 0:0@649,1964 1:1@307,1994
n=1 1:1@307,1994

Both contacts hold a fixed position for their entire lifetime, so the movement
seen by applications is not present in the kernel input stream.

Qt 5.6.3 (qt5-qtcore-5.6.3+git60, qt5-qtdeclarative-5.6.3+git28).

13 Likes

I’ve experienced this problem as well - it is most noticable when typing with more than one keyboard active, where fast typing with two fingers will often trigger a swipe that changes the keyboard. The two taps don’t even have to be that close to each other, it happens even when typing ‘school’ for example.

2 Likes

Really hope this bug will be fixed soon.
It significantly degrades the user experience.

So boring. I have to slow down to write correctly it’s really annoying.

This is my first time commenting, but this bug is too annoying and i see it doesn’t have enough reports. I can confirm it does occur 100% of the times.