Do not show cursor until the first motion event
https://github.com/wayland-project/libinput/commit/e15a7a740d72582e47037c832cd1e283a8bbef62 made it so that a keyboard with a scroll wheel (a volume wheel in this specific user's case) makes the input device have also pointer capability. This causes Weston to show a mouse cursor while there is no actual pointer device.
The pointer capability is required for emitting wheel events and is also reflected in Wayland protocol by having the wheel events in wl_pointer
. Therefore Weston must not stop advertising pointer capability to Wayland clients.
However, Weston should show the cursor only while there are devices on the wl_seat
that have ever emitted a relative motion event. This means that cursor will be invisible until a mouse is moved, and it will prevent the cursor being shown in the above keyboard-with-a-wheel case.