Summary: | kwin does not suspend the touchpad when the touchpad is disabled | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Werner Sembach [TUXEDO] <wse> |
Component: | libinput | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | nate |
Priority: | NOR | ||
Version First Reported In: | 6.2.5 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
qdbus touchpad enabled
qdbus touchpad disabled |
Description
Werner Sembach [TUXEDO]
2025-02-11 10:47:34 UTC
I left a message in the upstream issue, not sure that the compositor has to close file descriptors manually. If it needs to do so though, we would need some major changes around input device tracking, which won't be great... Can you please run qdbus org.kde.KWin /org/kde/KWin/InputDevice/event0 org.freedesktop.DBus.Properties.GetAll org.kde.KWin.InputDevice where event0 is the name of the touchpad input device Created attachment 178154 [details]
qdbus touchpad enabled
Created attachment 178155 [details]
qdbus touchpad disabled
(In reply to Vlad Zahorodnii from comment #2) > Can you please run > > qdbus org.kde.KWin /org/kde/KWin/InputDevice/event0 > org.freedesktop.DBus.Properties.GetAll org.kde.KWin.InputDevice > > where event0 is the name of the touchpad input device ofc see attachments above Okay, supportsDisableEvents: true supportsDisableEventsOnExternalMouse: true are fine. I'm not sure what we can do on the kwin side. kwin will call libinput_device_config_send_events_set_mode() with LIBINPUT_CONFIG_SEND_EVENTS_DISABLED if a touchpad is disabled. And as I said previously, I don't think we will be able to support closing input device fds manually, it will make input device management very difficult, and maybe it's a libinput bug. If the input device file descriptor needs to be closed, libinput could do it in libinput_device_config_send_events_set_mode() while still keeping the libinput_device object alive. (In reply to Vlad Zahorodnii from comment #6) > Okay, > > supportsDisableEvents: true > supportsDisableEventsOnExternalMouse: true > > are fine. I'm not sure what we can do on the kwin side. kwin will call > libinput_device_config_send_events_set_mode() with > LIBINPUT_CONFIG_SEND_EVENTS_DISABLED if a touchpad is disabled. And as I > said previously, I don't think we will be able to support closing input > device fds manually, it will make input device management very difficult, > and maybe it's a libinput bug. If the input device file descriptor needs to > be closed, libinput could do it in > libinput_device_config_send_events_set_mode() while still keeping the > libinput_device object alive. New infos: I added some printf debugging to the kernel, when on desktop there are actually 2 file descriptors open for the touchpad, only one gets closed when deactivating it. Some something else, maybe unrelated to kwin, is also listening to it? (In reply to Werner Sembach [TUXEDO] from comment #7) > (In reply to Vlad Zahorodnii from comment #6) > > Okay, > > > > supportsDisableEvents: true > > supportsDisableEventsOnExternalMouse: true > > > > are fine. I'm not sure what we can do on the kwin side. kwin will call > > libinput_device_config_send_events_set_mode() with > > LIBINPUT_CONFIG_SEND_EVENTS_DISABLED if a touchpad is disabled. And as I > > said previously, I don't think we will be able to support closing input > > device fds manually, it will make input device management very difficult, > > and maybe it's a libinput bug. If the input device file descriptor needs to > > be closed, libinput could do it in > > libinput_device_config_send_events_set_mode() while still keeping the > > libinput_device object alive. > > New infos: I added some printf debugging to the kernel, when on desktop > there are actually 2 file descriptors open for the touchpad, only one gets > closed when deactivating it. > > Some something else, maybe unrelated to kwin, is also listening to it? Maybe it's logind? kwin uses it to open device files that require special privileges. |