https://bugs.kde.org/show_bug.cgi?id=501315

Chris Smith <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #9 from Chris Smith <[email protected]> ---
I can confirm that the fix described in comment 6 works on Fedora 44 with
Plasma 6.7.5 under X11.

Environment:
- Original package: plasma-desktop-6.7.5-1.fc44
- KDE Frameworks: 6.31.0
- Qt: 6.11.2
- Touchpad: SYNA7DB5:00 06CB:CD7E (Acer Swift SFE16-43)

Before the patch, changing tap-to-click left Apply disabled in both System
Settings and standalone kcmshell6 kcm_touchpad.

Adding the signal forwarding after successful device creation in the
constructor and devicePlugged() made Apply become enabled. Clicking Apply
successfully enabled tap-to-click. We verified that the live X11 property
"libinput Tapping Enabled" was 1 and that touchpadxlibinputrc contained
tapToClick=true.

I initially tested an isolated rebuilt touchpad KCM, then rebuilt and installed
Fedora's plasma-desktop RPM with the patch. Device reconnect and persistence
across a new login have not been specifically tested, and the full automated
test suite was not run.

The diff against the 6.7.5 source is:

--- a/kcms/touchpad/backends/x11/xlibbackend.cpp
+++ b/kcms/touchpad/backends/x11/xlibbackend.cpp
@@ -78,6 +78,8 @@
     m_device.reset(findTouchpad());
     if (!m_device) {
         m_errorString = i18n("No touchpad found");
+    } else {
+        connect(m_device.get(), &LibinputCommon::needsSaveChanged, this,
&XlibBackend::needsSaveChanged);
     }
 }

@@ -201,6 +203,7 @@
         m_device.reset(findTouchpad());
         if (m_device) {
             qWarning() << "Touchpad reset";
+            connect(m_device.get(), &LibinputCommon::needsSaveChanged, this,
&XlibBackend::needsSaveChanged);
             // We get called by m_notifications, need to use deleteLater
             m_notifications.release()->deleteLater();
             watchForEvents();

The investigation and patch preparation were AI-assisted using Hermes Agent and
Claude Code. I manually reproduced the issue and tested the fix; the build and
live/saved settings were also verified with terminal tools.

I'm sharing this as an additional tested result supporting comment 6. I don't
have capacity to submit and follow through on a merge request, but I hope the
reproduction and diff are useful to anyone able to take this forward.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to