https://bugs.kde.org/show_bug.cgi?id=528050
Bug ID: 528050
Summary: Wayland: tablet tool cursor is only updated after the
mouse pointer has entered the window
Classification: I don't know
Product: kde
Version First unspecified
Reported In:
Platform: Other
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Component: QPA: Wayland (Client)
Related: QTBUG-123776 (set_cursor for tablet tools, fixed in 6.8.1 / 6.9.0),
KDE bug 477570
Environment
- Manjaro unstable, KDE Plasma 6.8.2, KWin 6.8.2 (Wayland session)
- Qt 6.12.0 (qt6-base 6.12.0-3)
- Huion Kamvas 24 4K pen display (libinput / KWin built-in tablet support)
- Test application: Dolphin (native Wayland)
Summary
Since the fix for QTBUG-123776 Qt sends a cursor shape for tablet tools, but
the
cursor of the tablet tool only follows cursor changes inside the window after
the
mouse pointer has entered that window. With the pen alone, the tool cursor is
set
once on proximity_in and never updated again.
Steps to reproduce
1. Start Dolphin on Plasma Wayland, do not touch the mouse.
2. Hover with the pen over widgets that change the cursor (splitter between
places panel and file view, text input field).
-> the cursor does not change.
3. Move the mouse once inside the Dolphin window, then hover with the pen
again.
-> the pen cursor now follows the changes (col-resize, text).
4. Move the pen out of the window and back in (mouse not used).
-> broken again until the mouse has been inside the window again.
GTK and Electron applications show the correct cursor with the pen in the same
session (e.g. resize cursor at the window edge).
Protocol log (WAYLAND_DEBUG=client dolphin)
Run 1 (pen only, no mouse): wp_cursor_shape_manager_v1.get_tablet_tool_v2 is
called, and on each proximity_in a single
wp_cursor_shape_device_v1#36.set_shape(<serial>, 1)
is sent to the tablet tool device. No further set_shape calls follow while
hovering, and nothing is sent to the pointer device at all.
Run 2 (mouse also used): every cursor change is sent as a pair, first to the
pointer device (#32), directly followed by the tablet tool device (#36), e.g.
#32.set_shape(5372, 30)
#36.set_shape(5379, 30)
...
#32.set_shape(5381, 9)
#36.set_shape(5383, 9)
Expected
The tablet tool cursor is updated whenever the cursor of the hovered item
changes, independent of whether the mouse pointer has entered the surface.
Actual
Updates for the tablet tool seem to be sent only as part of the pointer's
cursor
update path. Without a pointer enter, the tool keeps the cursor from
proximity_in
(and KWin's crosshair fallback is visible in some cases).
--
You are receiving this mail because:
You are watching all bug changes.