https://bugs.kde.org/show_bug.cgi?id=433540
Bug ID: 433540
Summary: Wayland cursor hiding via setting NULL cursor surface
is broken
Product: kwin
Version: 5.21.1
Platform: Other
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: input
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 136114
--> https://bugs.kde.org/attachment.cgi?id=136114&action=edit
Test code
SUMMARY
Wayland-based applications which try to hide the mouse cursor by calling
wl_pointer_set_cursor() with a NULL surface do not result in the cursor being
hidden with KWin. This cursor hiding behavior is explicitly documented in the
Wayland protocol [0] and works properly on Mutter and Sway.
[0]:
https://github.com/wayland-project/wayland/blob/70f1c83fd9380bf40d904b2806c2af07e688e960/protocol/wayland.xml#L1886
STEPS TO REPRODUCE
1. Build the attached SDL2 sample code
- On my Fedora and Krypton systems, the following works (assuming SDL2-devel
is installed):
gcc -I/usr/include/SDL2 -lSDL2 -o mouse_hide mouse_hide.c
2. Run the test code in a Wayland Plasma session
OBSERVED RESULT
The cursor is not hidden when it is over the test app's window. The KDE default
cursor is displayed instead.
EXPECTED RESULT
The cursor should be hidden when it is over the test app's window.
SOFTWARE/OS VERSIONS
Linux/KDE Plasma: OpenSUSE Krypton
KDE Plasma Version: 5.21.80
KDE Frameworks Version: 5.80.0
Qt Version: 5.15.2
ADDITIONAL INFORMATION
SDL bug report: https://github.com/libsdl-org/SDL/issues/3576
See attached WAYLAND_DEBUG=client log. Particularly the lines where the cursor
surface is set to NULL, such as what happens handling the wl_pointer enter
event:
[2845237.141] [email protected](255, wl_surface@21, 3.000000, 321.000000)
[2845237.278] -> [email protected]_cursor(0, nil, 0, 0)
Let me know if there is anything else I can do to help. If you believe SDL's
behavior is somehow at fault here, I can work on patches to fix it.
--
You are receiving this mail because:
You are watching all bug changes.