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: kwin-bugs-n...@kde.org Reporter: cameron.gut...@gmail.com 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] wl_pointer@15.enter(255, wl_surface@21, 3.000000, 321.000000) [2845237.278] -> wl_pointer@15.set_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.