It is impossible to enable kinetic scrolling in KDE with libinput driver in System Settings. We know that libinput driver does not implement inertial scrolling for touchpads, see https://wayland.freedesktop.org/libinput/doc/latest/faqs.html#kinetic-scrolling-does-not-work. Synaptic's driver "implementation" is just a crutch: it just keeps sending scroll events when you do swipe by fingers. But it does not care what is going on in the desktop, and causes some unfixable bugs. We need a proper implementation in KDE. STEPS TO REPRODUCE 1. Go to System Settings, Input Devices, Touchpad. 2. Search for Inertia Scrolling checkbox OBSERVED RESULT There is no such checkbox EXPECTED RESULT The checkbox should be available. SOFTWARE/OS VERSIONS KDE Plasma Version: 5.25.2 KDE Frameworks Version: 5.95.0 Qt Version: 5.15.5 Graphics Platform: Wayland ADDITIONAL INFORMATION Bug 443819 (for okular), Bug 403285 (for konsole) - fixes for synaptics' implementation (ignoring ctrl while scroll events are sent).
If you're saying that we in KDE should forcibly inject inertia ourselves at the driver level (like Synaptics did), that's not really possible. On X11, we don't control the part of the stack where it would need to be implemented. On Wayland, we could do it, but our implementation will conflict with toolkits that already do it themselves, so there will be double-inertia all over the place, in addition to creating an endless number of other issues like Bug 443819 and Bug 403285. Imagine those everywhere. It's not really feasible. The right approach is to implement inertia in toolkits' scrollviews. GTK and Electron already generally do this, and Qt also does for QtQuick-based software. We just need to turn it on, for the most part. There are a few complications, such as the fact that we actually override a lot of the default QtQuick scroll behaviors with something called WheelHandler which lives in Kirigami, so it would need to be implemented there. So I'll move this to Kirigami as the biggest thing that would need to be changed is WheelHandler. For QtWidgets-based apps, it's largely hopeless, unfortunately. Someone would need to implement inertia in the QtWidgets scrollview, which seems unlikely as widgets are semi-frozen.
QScroller can be used to enable kinetic scrolling in QtWidgets apps. It's not a magic switch that enables it out-of-the-box everywhere though
Yes, it would have to be implemented in each of our five hundred million QtWidgets-based scrollviews, which was what led me to my conclusion that it would be "largely hopeless."
even if there exist an "inertia scrolling" checkbox it will only effective on x11 because wayland hasn't natively implemented inertia scrolling system-wide, still
I'm pushing commits to https://invent.kde.org/kde-yyds/kirigami-work/-/tree/work-kinetic-scroll It's still very buggy in some applications at the time. I will open a pull request when it's more usable.