Jump to content

GSoC/2018/StatusReports/FurkanTokac: Difference between revisions

From KDE Community Wiki
Created page with "== Improve Handling For Touchpads And Mice With Libinput == Project details will be here. == Work Report == Work report will be here. == Links == === Blog === *[https://tw..."
 
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Improve Handling For Touchpads And Mice With Libinput ==
== Improve Handling For Touchpads And Mice With Libinput ==


Project details will be here.
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.


== Work Report ==
== Work Report ==
===Phase 1===
[[File:TouchpadKCMftDev.png]]
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 [https://gitlab.freedesktop.org/libinput/libinput/issues/21 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:


Work report will be here.
*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 [https://community.kde.org/Get_Involved Get Involved] page, according to experience gathered while getting involved the community. Especially, I'll improve the [https://community.kde.org/Get_Involved/design 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.
 
===Phase 2===
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 [https://bugs.kde.org/show_bug.cgi?id=387153 BUG 387153] and it will be finished the hardest part of my proposal. After that, I have following bugs to fix;
 
1- [https://bugs.kde.org/show_bug.cgi?id=387156 BUG 387156] : libinput touchpad KCM lacks support for click method (“areas” or “fingers”) for buttonless touchpads
 
2- [https://bugs.kde.org/show_bug.cgi?id=392709 BUG 392709] : Option to disable horizontal scrolling with Libinput touchpad interface
 
3- [https://bugs.kde.org/show_bug.cgi?id=395348 BUG 395348 ] : enable/disable touchpad setting is gray out and unavailable since plasma 5.13
 
4- [https://bugs.kde.org/show_bug.cgi?id=395351 BUG 395351] : Touchpad settings are disabled in Wayland
 
5- [https://bugs.kde.org/show_bug.cgi?id=395401  BUG 395401] : Mouse settings are not loaded up at login
 
6- [https://bugs.kde.org/show_bug.cgi?id=395404 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.
 
Other than the KDE, I mentioned about libinput patch. I had some confusions on libinput patch and asked about it to the maintainer. Currently, the issue is clear so I'll keep working on libinput while working on my KDE tasks.


== Links ==
== Links ==
=== Blog ===
=== Blog ===
*[https://twitter.com/planetkde/status/1015934029009281024 This Week in KDE, Part 5 : Slider Bug Fix, Libinput UI on X11]
*[https://twitter.com/planetkde/status/1011733604672524288 This Week in KDE, Part 4 : Mouse KCM, Bug Fixes!]
*[https://twitter.com/planetkde/status/1003825211765022721 This Week in KDE, Part 3 : Touchpad KCM, Mouse KCM, Libinput]
*[https://twitter.com/planetkde/status/1003825211765022721 This Week in KDE, Part 3 : Touchpad KCM, Mouse KCM, Libinput]
*[https://twitter.com/planetkde/status/998491908413407233 This Week in KDE, Part 2 : OYLG, Workspace KCM, Single/Double Click]
*[https://twitter.com/planetkde/status/998491908413407233 This Week in KDE, Part 2 : OYLG, Workspace KCM, Single/Double Click]
*[https://twitter.com/planetkde/status/993811061303201793 This Week in KDE, Part 1 : GSoC, Kool Kommunity, Single/Double Click Bug]
*[https://twitter.com/planetkde/status/993811061303201793 This Week in KDE, Part 1 : GSoC, Kool Kommunity, Single/Double Click Bug]


=== Phabricator ===
=== Phabricator & Commit ===
*[https://phabricator.kde.org/D13997 Splitting Touchpad KCM]
 
*[https://phabricator.kde.org/D13767 Touchpad KCM Pointer Speed Slider Improvement]
** [https://cgit.kde.org/plasma-desktop.git/commit/?id=86e674c6a2b9bd8c99b419b15f33c0bf898e7d54 Commit]
 
*[https://phabricator.kde.org/D13672 Mouse KCM Pointer Speed Slider Improvement]
** [https://cgit.kde.org/plasma-desktop.git/commit/?id=13b35bd8025a4bcf399670c32ee20327b0ace392 Commit]
 
*[https://phabricator.kde.org/D13573 Touchpad KCM QtQuickControls2 Conversion]
** [https://cgit.kde.org/plasma-desktop.git/commit/?id=6a4b5870fb2ff918df9e5b8f708e8039b394177e Commit]
 
*[https://phabricator.kde.org/T8985 KCM Template in QML]
 
*[https://phabricator.kde.org/D13372 Mouse KCM Redesign Using Kirigami]
*[https://phabricator.kde.org/D13372 Mouse KCM Redesign Using Kirigami]
*[https://phabricator.kde.org/D13141 Touchpad KCM Redesign Using Kirigami]
** [https://phabricator.kde.org/T8978 Task]
*[https://phabricator.kde.org/D12974 Workspace KCM Code Improvement]
 
*[https://phabricator.kde.org/D12973 Workspace KCM Redesign Using Kirigami]
*[https://phabricator.kde.org/R119:dd1244d6676620c06011b6c1db0c0ff3d5cdf0ab Touchpad KCM Redesign Using Kirigami]
*[https://phabricator.kde.org/D12936 Rewrite workspace KCM in QtQuick]
**[https://cgit.kde.org/plasma-desktop.git/commit/?id=dd1244d6676620c06011b6c1db0c0ff3d5cdf0ab Commit]
*[https://phabricator.kde.org/D12946 Single/Double Click Option at Workspace KCM]
 
*[https://phabricator.kde.org/R119:14e5854152264647892545a02695fa659f0628bc Workspace KCM Code Improvement]
**[https://cgit.kde.org/plasma-desktop.git/commit/?id=de742972bf317182a0cdff6bfa4f6d22abcf9a6a Commit]
 
*[https://phabricator.kde.org/R119:78cd8bb31ea329d76ca54889857873033b883ac3 Workspace KCM Redesign Using Kirigami]
**[https://cgit.kde.org/plasma-desktop.git/commit/?id=78cd8bb31ea329d76ca54889857873033b883ac3 Commit]
 
*[https://phabricator.kde.org/R119:856f58955aec5e26018cb83ad485f5492babc241 Rewrite workspace KCM in QtQuick]
**[https://cgit.kde.org/plasma-desktop.git/commit/?id=856f58955aec5e26018cb83ad485f5492babc241 Commit]
 
*[https://phabricator.kde.org/R119:d3ef895516fed319956e4ba843206dd118b998f5 Single/Double Click Option at Workspace KCM]
**[https://cgit.kde.org/plasma-desktop.git/commit/?id=d3ef895516fed319956e4ba843206dd118b998f5 Commit]
 
=== Bug Fix ===
*[https://bugs.kde.org/show_bug.cgi?id=395681 Libinput pointer KCM needs 11 ticks on the speed slider so that the middle one can correspond to 0.0]
 
*[https://bugs.kde.org/show_bug.cgi?id=393547 New Libinput mouse KCM removed single-click/double-click setting]
 
*[https://bugs.kde.org/show_bug.cgi?id=393547 New Libinput mouse KCM removed single-click/double-click setting]


=== Commit ===
*[https://bugs.kde.org/show_bug.cgi?id=377310 Single/double click option is inappropriately located in the mouse settings]
*[https://cgit.kde.org/plasma-desktop.git/log/?qt=author&q=furkantokac All The Commits]


=== Proposal ===
=== Proposal ===
*[https://docs.google.com/document/d/1khNvBarSGe39dzqohzECjh2XZb1LoeEdhl0IBCJgTog Improve Handling For Touchpads And Mice With Libinput]
*[https://docs.google.com/document/d/1khNvBarSGe39dzqohzECjh2XZb1LoeEdhl0IBCJgTog Improve Handling For Touchpads And Mice With Libinput]

Latest revision as of 16:03, 9 July 2018

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.

Work Report

Phase 1

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.

Phase 2

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.

Other than the KDE, I mentioned about libinput patch. I had some confusions on libinput patch and asked about it to the maintainer. Currently, the issue is clear so I'll keep working on libinput while working on my KDE tasks.

Links

Blog

Phabricator & Commit

Bug Fix

Proposal