pythonkivymulti-touch

How to remove the 300ms tap delay in Kivy apps running on Ubuntu?


I have a Kivy app under development. When testing it on my touchscreen laptop (Ubuntu 20.04), I noticed a couple things.

I also tried running it on a Raspberry Pi using the official 7' touchscreen. There is no touch delay at all, the UI feels snappy. How can I get the same result on my computer?

Documentation says that the input driver is responsible for those differences. So far, I attempted the following:

Disabling multitouch from the config (mouse = mouse,disable_multitouch); the right-click simulation disappears but the delay is still there

Removing mouse from the config as I would have suspected a conflict: mouse inputs are no longer registered and touch still does not work.

Adding touch drivers in the config gave no improvements:

mtdev_%(name)s = probesysfs,provider=mtdev
hid_%(name)s = probesysfs,provider=hidinput

The startup log shows some warnings:

[WARNING] [MTD         ] Unable to open device "/dev/input/event7". Please ensure you have the appropriate permissions.
[WARNING] [MTD         ] Unable to open device "/dev/input/event13". Please ensure you have the appropriate permissions.

Looks like a permissions issue. How can I fix it?


Solution

  • I actually found the culprit - it was Ubuntu 20.04 itself. The delay did not appear in Ubuntu 22.04 after an upgrade.

    Explanation:

    The OS input system was delaying the delivery of touch start events to all of the applications. To see if there is such a delay, it is possible to use xinput test-xi2 and interact with the little window using a touchscreen. The console output shows the events as they are received by the window.