Currently, touchpad X11 supports 3 different backends: evdev, synaptics, libinput. However touchpad Wayland only need libinput. Currently, they all mixed and this makes the KCM complex.
At the end of this patch, Touchpad KCM will be splitted into 2 different KCMs; kcm_touchpad (Wayland), kcm_touchpadx (X11)
This patch aims to followings;
1- The future is Wayland + Libinput so having a seperated KCM for it makes the development easier and gives the flexibility to the developer. This leads to more stability.
2- KCMs should be converted to KConfigModule and at the end of the patch, KDE'll have a simple Wayland + Libinput KCM in KConfigModule.
3- touchpadX will be simpler too thanks to cleaning.
The need to this patch is occured when I'm trying to bring the touchpad libinput KCM support to X. Current complexity makes the development really confusing and that means bug. So after this patch, the work for touchpad libinput KCM support will be done.
The current patch strategy is as following:
Stage 1- Removing all waylnaming current kcm_touchpad as kcm_touchpadx and related things in the KCMmoving them to the new folder called "touchpadx". So that reviewers can see the difference easilyThen creating a dummy touchpad in "touchpad" folder which will be kcm_touchpad that will only work in Wayland.
Expected test result: In Wayland, there will not be a Tare 2 Touchpad KCMs, kcm_touchpad KCM support since everythingwhich is the dummy Wayland-only KCM and kcm_touchpadx which is removed about Waylandthe old one with a new name. In X11, there will be a fully-functional Tis only kcm_touchpad KCMx.
Stage 2- All the codes in Stage 1 will be copied to new directory,Remove everything about Wayland in kcm_touchpadx. Make some cleaning. touchpadX andAfter this will be a brand-new KCM.patch, Reviewers can still compare the changes since touchpad directory will have the same files in touchpadX directory (but touchpad directory will not be compiled in this stage)X11 related work should be finished at all.
Expected test result: In X11, you'll see a newWayland, fully-functional KCM in the "System Settings" > "Input Devices"there is only kcm_touchpad which is the dummy Wayland-only KCM. Most probobly you'll see 2 Touchpad KCM in the "Input Devices" Please ignore it for now.In X11, In Waylandthere is a X11-only, still no supportfully functional kcm_touchpadx.
Stage 3- Dummy Touchpad KCM will be created for Wayland, which will be kcm_touchpadWrite Wayland Touchpad KCM in KConfigModule.
Expected test result: In X11Wayland has kcm_touchpad, everything should be working fineX11 has kcm_touchpadx. In Wayland,Both working fine. there willEverything should be a dummy Touchpad KCMworking at this point.
Stage 4- Wayland Touchpad KCM will be written in KConfigModule from scratch, which will be kcm_touchpad.
Expected test result: In X11 and Wayland, everything should be working fine.Future Patch- Libinput KCM support to X11!
Stage 5- kcm_touchpadx will be cleaned and reorganized. This stage may be big. In this case, there will be created a new patch for it.
Future Patch- Libinput KCM support to X11!1 Patch : In progress..
Stage 2 Patch : ToDo
Stage 3 Patch : ToDo
Stage 1 Patch : D13997 Removing Wayland Part of Touchpad KCM
Stage 2 Patch : D14016 Files in "touchpad" Moved To The New Folder "touchpadx"OLD PATCHES
Stage 31 Patch : D14017 Dummy3997 Removing Wayland Touchpad KCM is Created in "tPart of Touchpad" Folder KCM
Stage 42 Patch : In progress.D14016 Files in "touchpad" Moved To The New Folder "touchpadx"
Stage 53 Patch : Not starD14017 Dummy Wayland Touchpad KCM is Created yet.in "touchpad" Folder