Summary: | More granular auto-disable that permits blocking or allowing certain devices to disable the touchpad | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | Horst Schirmeier <horst> |
Component: | kcm_touchpad | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | CONFIRMED --- | ||
Severity: | wishlist | CC: | duha.bugs, jpetso, natalie_clarius, nate |
Priority: | NOR | ||
Version First Reported In: | 6.2.5 | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Horst Schirmeier
2025-01-20 13:57:25 UTC
PS: I just realized that I'm responsible for the auto-disable myself (see below), so this is certainly not a bug but merely a request to control this in a much more fine-grained manner. /etc/X11/xorg.conf.d/30-touchpad.conf : # https://gitlab.freedesktop.org/libinput/libinput/-/issues/924#note_2051323 Section "InputClass" Identifier "touchpad" Driver "libinput" MatchIsTouchpad "on" Option "SendEventsMode" "disabled-on-external-mouse" EndSection When this happens, are you using X11, or Wayland? Does it also happen on Wayland? If it doesn't happen on Wayland, there's a chance this should work as expected without additional action needed in Plasma 6.3, which has a new implementation of the "disable touchpad while mouse is connected" feature and it might be smarter about figuring out what's actually a mouse and what's not. If not, then I think it's reasonable to make the configuration more fine-grained to work around devices that inappropriately report themselves as mice, which wouldn't be something we can really fix on our side. (In reply to Nate Graham from comment #2) > When this happens, are you using X11, or Wayland? > > Does it also happen on Wayland? I don't use Wayland, and I have yet to test the behavior on Wayland. > If it doesn't happen on Wayland, there's a chance this should work as > expected without additional action needed in Plasma 6.3, which has a new > implementation of the "disable touchpad while mouse is connected" feature > and it might be smarter about figuring out what's actually a mouse and > what's not. > > If not, then I think it's reasonable to make the configuration more > fine-grained to work around devices that inappropriately report themselves > as mice, which wouldn't be something we can really fix on our side. OK – I guess it makes sense for me to wait for Plasma 6.3 to roll into my Debian Testing installation before I reopen this feature request. However, the previous whitelist (i.e., a list of devices that should not disable the touchpad) approach worked really well around the problem of devices inappropriately reporting themselves as mice – which sadly exist and definitely cannot be educated to report in differently. It's fine, we can keep this open, since I see in principle how a whitelist would be important in specific circumstances like yours. See this comment in the KWin MR for which devices libinput will react on: https://invent.kde.org/plasma/kwin/-/merge_requests/6928#note_1097227 As far as I can tell, your "projecteur" virtual mouse should not cause the touchpad to be disabled because it has neither a "USB" nor "Bluetooth" tag. And the touchscreen *probably* doesn't have a "mouse" or "pointingstick" tag assigned, so I figure that will also not result in the touchpad getting disabled. I can't test this here though, please confirm once you have access to a Plasma 6.3 setup. If the current heuristics aren't sufficient, the best course of action might be to tighten the heuristics within libinput. Alternatively, KWin could implement the same logic as libinput (it's fairly straightforward) but allow additional configuration. Ideally though, I think we'd like to just make it work for as many people as possible by default. Git commit 8979107a0d1769602062bdda258c62ca71bfd2f2 by Jakob Petsovits. Committed on 28/01/2025 at 20:48. Pushed by jpetso into branch 'master'. kcms/touchpad: Remove auto-disable functionality from kded The X11-only touchpad kded contained code to monitor for keyboard events, as well as mouse plug-in events, upon which the touchpad would be automatically enabled or disabled accordingly. This is not necessary anymore now that we only support libinput, and we let the user configure both its "disable while typing" and "disable while mouse is connected" features. If the user had a config with non-default settings for auto-disable, those are now migrated to their appropriate X11 config. The remaining manual touchpad on/off/toggle shortcuts continue to work on X11 only, whereas KWin itself implements them on Wayland. M +0 -1 kcms/touchpad/CMakeLists.txt M +1 -1 kcms/touchpad/backends/CMakeLists.txt M +3 -55 kcms/touchpad/backends/x11/xlibbackend.cpp M +3 -5 kcms/touchpad/backends/x11/xlibbackend.h D +0 -142 kcms/touchpad/backends/x11/xrecordkeyboardmonitor.cpp D +0 -45 kcms/touchpad/backends/x11/xrecordkeyboardmonitor.h M +0 -6 kcms/touchpad/kded/CMakeLists.txt D +0 -338 kcms/touchpad/kded/kcm_touchpad.notifyrc M +54 -106 kcms/touchpad/kded/kded.cpp M +0 -16 kcms/touchpad/kded/kded.h D +0 -5 kcms/touchpad/kdedsettings.kcfgc M +1 -7 kcms/touchpad/touchpadbackend.h D +0 -26 kcms/touchpad/touchpaddaemon.kcfg https://invent.kde.org/plasma/plasma-desktop/-/commit/8979107a0d1769602062bdda258c62ca71bfd2f2 Git commit 222697611f3248fae26e6465f4a16b1f74899c70 by Jakob Petsovits. Committed on 28/01/2025 at 21:27. Pushed by jpetso into branch 'Plasma/6.3'. kcms/touchpad: Remove auto-disable functionality from kded The X11-only touchpad kded contained code to monitor for keyboard events, as well as mouse plug-in events, upon which the touchpad would be automatically enabled or disabled accordingly. This is not necessary anymore now that we only support libinput, and we let the user configure both its "disable while typing" and "disable while mouse is connected" features. If the user had a config with non-default settings for auto-disable, those are now migrated to their appropriate X11 config. The remaining manual touchpad on/off/toggle shortcuts continue to work on X11 only, whereas KWin itself implements them on Wayland. (cherry picked from commit 8979107a0d1769602062bdda258c62ca71bfd2f2) M +0 -1 kcms/touchpad/CMakeLists.txt M +1 -1 kcms/touchpad/backends/CMakeLists.txt M +3 -55 kcms/touchpad/backends/x11/xlibbackend.cpp M +3 -5 kcms/touchpad/backends/x11/xlibbackend.h D +0 -142 kcms/touchpad/backends/x11/xrecordkeyboardmonitor.cpp D +0 -45 kcms/touchpad/backends/x11/xrecordkeyboardmonitor.h M +0 -6 kcms/touchpad/kded/CMakeLists.txt D +0 -338 kcms/touchpad/kded/kcm_touchpad.notifyrc M +54 -106 kcms/touchpad/kded/kded.cpp M +0 -16 kcms/touchpad/kded/kded.h D +0 -5 kcms/touchpad/kdedsettings.kcfgc M +1 -7 kcms/touchpad/touchpadbackend.h D +0 -26 kcms/touchpad/touchpaddaemon.kcfg https://invent.kde.org/plasma/plasma-desktop/-/commit/222697611f3248fae26e6465f4a16b1f74899c70 |