Improve Handling For Touchpads And Mice With Libinput
Linux world is moving from X11 to Wayland and KDE project is following the way too. Input management methods for X11 and Wayland are different so there are works to be done.
By this project, I'll handle the missing things and improve the Touchpad KCM and Mouse KCM. After that, I'll add new features to Touchpad KCM and Mouse KCM.
The first thing I have done in the project was Workspace KCM rewrite. While I am working on the task, I faced with unusual problems but that problems required more debugging and more debugging lead me to understand how things works better. Currently, I feel comfortable about working on KCMs thanks to my previous works. This is good because there are lots of works waiting to be done so even after GSoC, I'll be able to work on them.
While working on Workspace KCM, I was also following and attending the community discussions, I was trying to know the people and currently, I feel comfortable about KDE community. If I have an idea or if there is a bug I know what to do and I can explain my ideas that will improve the KDE to the community in a proper way. You can see me in daily discussions in the KDE VDG channel. I'm also active in plasma and kde-devel IRC channels.
After handling the Workspace KCM, I moved on to my proposal-task and started to working on Touchpad KCM. I did the Kirigami rewrite for Touchpad KCM. Then, started to Mouse KCM rewrite, which is on progress.
While I am working for Touchpad KCM and Mouse KCM, I also started to working on Libinput project, since the features that will be added to Touchpad KCM and Mouse KCM need work on Libinput. My mentor Nate Graham introduce me to Libinput community. Currently, I'm working on a Libinput bug too.
At the beginning of the GSoC, the tasks was not so predictable but currently, the main things become clear so I can clearly say that my todolist is as following:
- Push the Mouse KCM patch. (It is finished. Waiting for the review)
- Finish the Libinput patch.
- Split Mouse KCM into 2 KCMs. Mouse KCM and MouseX KCM. Mouse KCM will based on Libinput, MouseX KCM will based on X11.
- Split Touchpad KCM into 2 KCMs like the Mouse KCM.
- Involving in Libinput development more.
- New feature implementations to the Touchpad KCM and Mouse KCM.
Basically I can say that after my GSoC work, Touchpad KCM and Mouse KCM will be significantly improved, on Wayland and Xorg.
I want to mention one more thing. I really want to see custom mouse button support in KDE. This feature will basically let users to use their custom mouse buttons effectively. If I have time to do this in GSoC, I'll implement this feature too. If I don't, I'll implement this later. Actually, this feature is the reason why I choose the topic for GSoC.
Also I'm trying to improve the community by making suggestions according to my experiences. For example, you can see my actions to improve KCM rewrite progress in Phab and KDE VDG channel. Also, I'm working on update of the entire Get Involved page, according to experience gathered while getting involved the community. Especially, I'll improve the Visual and Human Interface Design page since I'm mostly active there and the page is really old.
Best(for me :)) community, nice people, lots of things to do! Love KDE :)
Note : Please check Phab and my blog posts to see the screenshots and the works in progress. I don't want to put the screenshots and technical details to here since they are mostly dynamic and can easily be overviewed by the links.
We made the plan about how to split the Touchpad KCM and currently, I'm working on the patch. (You can see the detailed plan on Phabricator page). After this patch, I'll clean the new KCM and start implementing Libinput support to X11. This will fix the BUG 387153 and it will be finished the hardest part of my proposal. After that, I have following bugs to fix;
1- BUG 387156 : libinput touchpad KCM lacks support for click method (“areas” or “fingers”) for buttonless touchpads
2- BUG 392709 : Option to disable horizontal scrolling with Libinput touchpad interface
3- BUG 395348 : enable/disable touchpad setting is gray out and unavailable since plasma 5.13
4- BUG 395351 : Touchpad settings are disabled in Wayland
5- BUG 395401 : Mouse settings are not loaded up at login
6- BUG 395404 : “Press left and right buttons for middle click” setting is not remembered under Wayland
If there are more bugs occur to fix, I'll handle them too. Also according to my mentors and community recommendations, I'll implement other features to Mouse KCM and Touchpad KCM. This will be the remaining part of the proposal.
Phabricator & Commit
- Libinput pointer KCM needs 11 ticks on the speed slider so that the middle one can correspond to 0.0