Bug 445095

Summary: Touchpad Applet is missing on X11
Product: [Plasma] plasmashell Reporter: Ben Johnson <ben0x4a.bulk+kde>
Component: System TrayAssignee: Nate Graham <nate>
Status: CLOSED FIXED    
Severity: normal CC: materka, michaelcpalmer1980, nate, t.rother
Priority: VHI    
Version: 6.1.2   
Target Milestone: 1.0   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In: 5.23.4
Sentry Crash Report:

Description Ben Johnson 2021-11-06 19:44:56 UTC
SUMMARY
The Touchpad applet was removed and no alternative added
https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/455

I really need this applet back. Is it getting uploaded somewhere? Is there an alternate implementation?
I have a laptop with a touch screen and a very overly sensitive touchpad. I can barely type with the touch pad enabled. I had the applet set to enable/disable the touchpad with cntrl-alt-t and I could toggle it with the System tray icon. The system tray icon also gave me the feedback to see if the touchpad was enabled/disabled. It was easy enough to go into the system tray config and enable/disable the entry if someone didn't want it, so I don't understand why this was removed instead of just making the default "always hidden" or "shown when relevant" like some of the others.

STEPS TO REPRODUCE
1. open system tray settings
2. search for a touchpad entry

OBSERVED RESULT
There is no longer a touchpad entery

EXPECTED RESULT
There is a touchpad entry

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: KDE Neon 5.23.2

Operating System: KDE neon 5.23
KDE Plasma Version: 5.23.2
KDE Frameworks Version: 5.87.0
Qt Version: 5.15.3
Kernel Version: 5.4.0-89-generic (64-bit)
Graphics Platform: X11
Processors: 4 × Intel® Core™ i7-5500U CPU @ 2.40GHz
Memory: 7.7 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 5500


ADDITIONAL INFORMATION
The following use cases for the applet appear to have not been considered:
* the user has a touchscreen and can still toggle the touchpad on/off with the applet without a mouse
* the user plugs in a usb mouse but only wants the touchpad on/off part of the time the mouse is plugged in
* the user has a bluetooth mouse and disabling/enabling the touchpad on connecting/disconnecting may not be desirable. IE if the mouse is in a laptop bag

Please provide an optional package to restore this functionality
Comment 1 Nate Graham 2021-11-08 21:12:06 UTC
Dang, I keep forgetting to upload it to store.kde.org. I will do that soon.
Comment 2 Nate Graham 2021-11-09 22:58:07 UTC
In retrospect, I think you're right and deleting the applet was a mistake. What I probably should have done is made it a read-only applet capable of showing status and nothing more, like the Caps Lock and Microphone applets. I stand by the decision to not let it disable the touchpad on click, because this provided a way for someone with no mouse to brick their system.

I will work on adding it back in read-only form.
Comment 3 Nate Graham 2021-11-10 21:07:40 UTC
Working on it.
Comment 5 Nate Graham 2021-11-16 16:50:13 UTC
Git commit 4d03ce006d1571eab7853a18477b7ff9b5d78523 by Nate Graham.
Committed on 16/11/2021 at 16:49.
Pushed by ngraham into branch 'master'.

Revert "Delete the Touchpad applet"

This reverts commit 3b4026641454c02ad3030c8cd2134a672995ffa9.

Removing the applet entirely was too heavy-handed, as it can serve a
valid purpose as a status notifier to remind people who have manually
disabled their touchpads that they have done so.
FIXED-IN: 5.23.4

M  +1    -1    kcms/touchpad/CMakeLists.txt
R  +13   -4    kcms/touchpad/applet/CMakeLists.txt [from: kcms/touchpad/dataengine/CMakeLists.txt - 058% similarity]
R  +0    -0    kcms/touchpad/applet/plasma-dataengine-touchpad.desktop [from: kcms/touchpad/dataengine/plasma-dataengine-touchpad.desktop - 100% similarity]
A  +155  -0    kcms/touchpad/applet/qml/contents/ui/touchpad.qml     [License: LGPL (v2+)]
A  +160  -0    kcms/touchpad/applet/qml/metadata.desktop
R  +0    -0    kcms/touchpad/applet/touchpad.operations [from: kcms/touchpad/dataengine/touchpad.operations - 100% similarity]
A  +30   -0    kcms/touchpad/applet/touchpad.svg
R  +0    -0    kcms/touchpad/applet/touchpadengine.cpp [from: kcms/touchpad/dataengine/touchpadengine.cpp - 100% similarity]
R  +0    -0    kcms/touchpad/applet/touchpadengine.h [from: kcms/touchpad/dataengine/touchpadengine.h - 100% similarity]
R  +0    -0    kcms/touchpad/applet/touchpadservice.cpp [from: kcms/touchpad/dataengine/touchpadservice.cpp - 100% similarity]
R  +0    -0    kcms/touchpad/applet/touchpadservice.h [from: kcms/touchpad/dataengine/touchpadservice.h - 100% similarity]

https://invent.kde.org/plasma/plasma-desktop/commit/4d03ce006d1571eab7853a18477b7ff9b5d78523
Comment 6 Nate Graham 2021-11-16 16:50:21 UTC
Git commit 7271ba005cc551d46968c9c7e288b18f89ef2a29 by Nate Graham.
Committed on 16/11/2021 at 16:49.
Pushed by ngraham into branch 'master'.

kcms/touchpad: make applet read-only

By only showing the current status, this applet becomes a status
notifier not unlike the Lock Keys and Microphone applets. This makes it
safe enough to keep upstream as it no longer lets people accidentally
disable their touchpads with no visible means to recover.

M  +8    -76   kcms/touchpad/applet/qml/contents/ui/touchpad.qml

https://invent.kde.org/plasma/plasma-desktop/commit/7271ba005cc551d46968c9c7e288b18f89ef2a29
Comment 7 Nate Graham 2021-11-16 16:54:24 UTC
Git commit 57d5f02d9aff1c784d08b4ff865ac9f4f0af6f0e by Nate Graham.
Committed on 16/11/2021 at 16:53.
Pushed by ngraham into branch 'Plasma/5.23'.

kcms/touchpad: make applet read-only

By only showing the current status, this applet becomes a status
notifier not unlike the Lock Keys and Microphone applets. This makes it
safe enough to keep upstream as it no longer lets people accidentally
disable their touchpads with no visible means to recover.
(cherry picked from commit 7271ba005cc551d46968c9c7e288b18f89ef2a29)

M  +8    -76   kcms/touchpad/applet/qml/contents/ui/touchpad.qml

https://invent.kde.org/plasma/plasma-desktop/commit/57d5f02d9aff1c784d08b4ff865ac9f4f0af6f0e
Comment 8 Nate Graham 2021-11-16 16:54:32 UTC
Git commit 523184bc7d3706ce49b95db4d717511368a7f8fd by Nate Graham.
Committed on 16/11/2021 at 16:53.
Pushed by ngraham into branch 'Plasma/5.23'.

Revert "Delete the Touchpad applet"

This reverts commit 3b4026641454c02ad3030c8cd2134a672995ffa9.

Removing the applet entirely was too heavy-handed, as it can serve a
valid purpose as a status notifier to remind people who have manually
disabled their touchpads that they have done so.
FIXED-IN: 5.23.4
(cherry picked from commit 4d03ce006d1571eab7853a18477b7ff9b5d78523)

M  +1    -1    kcms/touchpad/CMakeLists.txt
R  +13   -4    kcms/touchpad/applet/CMakeLists.txt [from: kcms/touchpad/dataengine/CMakeLists.txt - 058% similarity]
R  +0    -0    kcms/touchpad/applet/plasma-dataengine-touchpad.desktop [from: kcms/touchpad/dataengine/plasma-dataengine-touchpad.desktop - 100% similarity]
A  +155  -0    kcms/touchpad/applet/qml/contents/ui/touchpad.qml     [License: LGPL (v2+)]
A  +160  -0    kcms/touchpad/applet/qml/metadata.desktop
R  +0    -0    kcms/touchpad/applet/touchpad.operations [from: kcms/touchpad/dataengine/touchpad.operations - 100% similarity]
A  +30   -0    kcms/touchpad/applet/touchpad.svg
R  +0    -0    kcms/touchpad/applet/touchpadengine.cpp [from: kcms/touchpad/dataengine/touchpadengine.cpp - 100% similarity]
R  +0    -0    kcms/touchpad/applet/touchpadengine.h [from: kcms/touchpad/dataengine/touchpadengine.h - 100% similarity]
R  +0    -0    kcms/touchpad/applet/touchpadservice.cpp [from: kcms/touchpad/dataengine/touchpadservice.cpp - 100% similarity]
R  +0    -0    kcms/touchpad/applet/touchpadservice.h [from: kcms/touchpad/dataengine/touchpadservice.h - 100% similarity]

https://invent.kde.org/plasma/plasma-desktop/commit/523184bc7d3706ce49b95db4d717511368a7f8fd
Comment 9 michaelcpalmer1980 2022-09-10 03:19:18 UTC
I really miss that touchpad toggle. Almost makes me want to go back to Kubuntu 20.10 from my new Manjaro install.

My Dell XPS has a touch screen, which I can use to easily toggle the touchpad. Disabling a feature because it can 'brick' your system is the easy way out. There are two easy ways to prevent this problem.

A: Enable the touchpad when the applet first starts.
B: Only allow the touchpad to be disabled when another pointing device is available.

In an unrelated note, I'd like the old performance meter with 3 vertical bars that opens the system monitor with a single left click. It seems like every update makes something worse :(
Comment 10 Thomas Rother 2024-07-14 15:14:07 UTC
Is this really solved? On the current plasma 6.1 with openSUSE tumbleweed or LEAP 15.x there is no touchpad status indicator. And it can not be found for installation though the rpm repos. I am also on a Dell XPS 15.x and the very sensitive touchpad makes it hard to type - so a visual indicator definitely makes sense!

Version info: kde plasma 6.1.2
frameworks: 6.3.0
qt: 6.7.2
X11 and wayland look similar
Comment 11 Nate Graham 2024-07-14 15:19:14 UTC
It's not supported on Wayland and never was (so its absence there isn't a regression or a bug). It's still supported on X11.
Comment 12 Thomas Rother 2024-07-14 17:56:23 UTC
I don't see it, not on my KDE 6.1/wayland Machine (DELL Precision 7680) and even not on a DELL XPS 15 which is still using X11. So I would still consider this issue as "unsolved/open" ;-)
Comment 13 Nate Graham 2024-07-15 13:14:35 UTC
My mistake, we did in fact later remove it again, intentionally: https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/2055. Somehow I missed this.

Digging into the reasons why, apparently it only ever supported the Synaptics driver backend, which doesn't work on Wayland and which we also removed support for in X11 for Plasma 6. So at the moment its removal in Plasma 6 is considered intentional.

If you were using it to disable and re-enable your touchpad via an activation keyboard shortcut, you can do that in another way, by setting a global shortcut on the "Toggle Touchpad" action in System Settings > Keyboard > Shortcuts > Touchpad.
Comment 14 Thomas Rother 2024-07-15 18:14:55 UTC
Hi Nate,
thanks for clarification. In my case, the main requirement is the visualization of the touchpad status, whether it is "on" or "off". The actual switching can be done with a function key (f9) which is - I suppose - pre-assigned by the Dell BIOS. Some kind of visualization would be  very helpful for both X11 and wayland environment.