The last year has been spent working on improving smooth scrolling support in Java ecosystem. After several hundred hours of effort we can finally celebrate successful results. We now have smooth scrolling support in popular Java library called "awt." Many Java applications use this library underneath, including IDEs such as Eclipse, IDEA or Rider. Now a major hurdle in having real smooth scrolling there has been cleared.


It will take some time for the smooth scrolling support to trickle down into these applications. There may need to be code changes as well. For example if an application forces smooth scrolling emulation on Linux, then this will need to be disabled in favor of the MacOS code path. These are trivial changes in comparison to the actual implementation.


In terms of priorities, smooth scrolling support wasn't in our radar in the past as it seemed that most applications already support this on Linux. This was wrong, as many applications have had to build custom implementations of smooth scrolling emulation. After noticing that Java applications don't have smooth scrolling implemented in the low level code we decided to work in this area. Smooth scrolling is quite basic feature that is used almost all the time, so addressing lack of it across whole ecosystem would have way larger impact compared to adding zoom and rotation support to yet another application.


linkCustom acceleration profiles

One of the semi-common themes from the polls we have administered to gauge "What do Linux touchpad users want?" is that there are a subset of Linux touchpad users who wish that the acceleration rate of their Linux touchpad was more like the acceleration of a Macbook touchpad.


We have considered working to better align the acceleration rate of Linux to Macbook, but the highly uncertain ROI for trying to align touchpad acceleration has prevented us from proposing a system change to the default Linux settings.


That said, for the subset of our audience that continues to yearn for improvements to acceleration, there is now a path to unlock this. As of 2023, the primary author of Linux' touchpad driver introduced a new configuration option that allows users to adjust their acceleration profile. To expedite the customization process for users who are dissatisfied, we have collected examples from the disparate sources that describe how custom acceleration profiles work.


You can find our consolidated documentation on this feature here. If you have time to try to quantify the rate of acceleration for a Macbook, such that you can derive the specific values for a touchpad config file that behaves like a Macbook, please leave a comment below so that others can benefit from this? Or email bill@gitclear.com and I'll update this post directly.


linkWhat's next?

We recognize that our rate of visible updates has slowed to the point where it no longer makes sense to continue billing sponsors of this project. We have submitted a support request to Github to stop billing the remaining sponsors for this project. We are proud of the improvements that this project has brought about over the last 4 years, including gesture support, specific application touchpad improvements, and smooth scrolling. We are deeply grateful to the sponsors that made this possible!


We plan to continue making incremental progress on Linux touchpad improvements through at least the end of 2024. But at the moment, our lead developer is working on Linux touchpad improvements at less than 1/8 capacity. This means that progress is slow as he can only spend half a week per month on improvements. We will aim to post a final summary of our updates later in 2024.


Our future work is prioritized according to the results of the last survey about what users would like to see improved in Linux touchpad experience the most. Right now we feel that work on multitouch gestures should continue and we will look further into applications where this is missing. Additionally we will investigate why many Linux applications support smooth scrolling on per-line basis. While this is better than 3-line scrolls of the past, it could turn out that improving this is relatively easy and would result in best impact for the effort invested.