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.
- This Week in KDE, Part 3 : Touchpad KCM, Mouse KCM, Libinput
- This Week in KDE, Part 2 : OYLG, Workspace KCM, Single/Double Click
- This Week in KDE, Part 1 : GSoC, Kool Kommunity, Single/Double Click Bug
- KCM Template in QML
- Mouse KCM Redesign Using Kirigami
- Touchpad KCM Redesign Using Kirigami
- Workspace KCM Code Improvement
- Workspace KCM Redesign Using Kirigami
- Rewrite workspace KCM in QtQuick
- Single/Double Click Option at Workspace KCM
- New Libinput mouse KCM removed single-click/double-click setting
- Single/double click option is inappropriately located in the mouse settings