Bug 460345

Summary: Extra Mouse Remapping/Binding not working
Product: [Applications] systemsettings Reporter: Omar Helali <omar.helali>
Component: kcm_mouseAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: aleixpol, kde, nate, nicolas.fella, phyllon
Priority: VHI Keywords: regression, wayland
Version: 5.26.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: Plasma 5.26.2 with Frameworks 5.100

Description Omar Helali 2022-10-13 08:42:27 UTC
SUMMARY
The new tool for remapping extra mouse buttons is not working. Used it on 5.25.90 and it worked great but stopped working when updated to new stable release. The tool is not detecting the extra button clic on the remap interface. Using Wayland as it is not available on x11.


STEPS TO REPRODUCE
1. Go to settings > Input Devices > Mouse
2. Select the correct device and push the Re-Bind button
3. Click Add Binding then push the extra button to remap

OBSERVED RESULT
Not detecting and mouse events

SOFTWARE/OS VERSIONS
Linux/KDE Plasma:  Arch Linux 5.19.13
KDE Plasma Version: 5.26.0
KDE Frameworks Version: 5.99.0
Qt Version: 5.15.6
Comment 1 Nate Graham 2022-10-14 18:53:15 UTC
Can reproduce.
Comment 2 David Redondo 2022-10-15 11:53:29 UTC
I found two bugs 
1) Deleting a binding doesn't notify KWin so the buttons do not work until a restart of KWin (but setting works fine)
2) A change in Kirigami https://invent.kde.org/frameworks/kirigami/-/commit/11e63f54dd66d0876392aef5b3c35e26b609c228 prevents the kcm from getting the button release (so back button just goes back), I have to see if/how a workaround in the kcm is possible, a few easy things have not worked yet.
Comment 3 Nicolas Fella 2022-10-16 10:31:12 UTC
*** Bug 460522 has been marked as a duplicate of this bug. ***
Comment 4 Bug Janitor Service 2022-10-17 08:39:26 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1209
Comment 5 David Redondo 2022-10-17 08:55:02 UTC
Git commit 979de04073155f114cfd40d4001b508a0a998748 by David Redondo.
Committed on 17/10/2022 at 08:38.
Pushed by davidre into branch 'master'.

Also delete entry with Notify flag

Otherwise KWin will not know of the changes.
This does not fix
because of the second issue that prevents the event capturing but once that is solved, removing and adding a binding for the same button would not work.

M  +1    -1    kcms/mouse/backends/kwin_wl/kwin_wl_backend.cpp

https://invent.kde.org/plasma/plasma-desktop/commit/979de04073155f114cfd40d4001b508a0a998748
Comment 6 David Redondo 2022-10-17 08:55:26 UTC
Git commit 705ab3098df0bfa09c15a10ecbb70db4384ff0d6 by David Redondo.
Committed on 17/10/2022 at 08:55.
Pushed by davidre into branch 'Plasma/5.26'.

Also delete entry with Notify flag

Otherwise KWin will not know of the changes.
This does not fix
because of the second issue that prevents the event capturing but once that is solved, removing and adding a binding for the same button would not work.

(cherry picked from commit 979de04073155f114cfd40d4001b508a0a998748)

M  +1    -1    kcms/mouse/backends/kwin_wl/kwin_wl_backend.cpp

https://invent.kde.org/plasma/plasma-desktop/commit/705ab3098df0bfa09c15a10ecbb70db4384ff0d6
Comment 7 Vlad Zahorodnii 2022-10-17 10:38:56 UTC
*** Bug 460540 has been marked as a duplicate of this bug. ***
Comment 8 Bug Janitor Service 2022-10-18 14:25:41 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1214
Comment 9 Bug Janitor Service 2022-10-18 14:25:49 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/781
Comment 10 David Redondo 2022-10-19 15:09:33 UTC
Git commit 4cc86c9d9947827ce671a9641a975f70646fb09a by David Redondo.
Committed on 19/10/2022 at 15:00.
Pushed by davidre into branch 'master'.

Check preventStealing earlier in ColumnView

M  +3    -4    src/columnview.cpp

https://invent.kde.org/frameworks/kirigami/commit/4cc86c9d9947827ce671a9641a975f70646fb09a
Comment 11 David Redondo 2022-10-19 15:15:07 UTC
Git commit 6334598de45a7c7f5c4e65ee4631edce6179606a by David Redondo.
Committed on 19/10/2022 at 15:10.
Pushed by davidre into branch 'master'.

kcms/mouse: Set preventStealing on the button capture

So Kirigami can read and honor it.

M  +1    -0    kcms/mouse/kcm/libinput/main.qml

https://invent.kde.org/plasma/plasma-desktop/commit/6334598de45a7c7f5c4e65ee4631edce6179606a
Comment 12 David Redondo 2022-10-19 15:18:23 UTC
Git commit 1d714844301f129e7e7d4b3cd8ede3d1d046a0ae by David Redondo.
Committed on 19/10/2022 at 15:18.
Pushed by davidre into branch 'Plasma/5.26'.

kcms/mouse: Set preventStealing on the button capture

So Kirigami can read and honor it.


(cherry picked from commit 6334598de45a7c7f5c4e65ee4631edce6179606a)

M  +1    -0    kcms/mouse/kcm/libinput/main.qml

https://invent.kde.org/plasma/plasma-desktop/commit/1d714844301f129e7e7d4b3cd8ede3d1d046a0ae