Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • K KWayland Server
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3
    • Issues 3
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Plasma
  • KWayland Server
  • Merge requests
  • !99

Merged
Created Oct 14, 2020 by Sebastian Krzyszkowiak@dosContributor

Send wl_pointer.frame when emulating pointer events out of touch ones

  • Overview 1
  • Commits 1
  • Changes 1

When touching a surface that doesn't register to wl_touch events, KWin didn't send frame events (which it does for regular pointer and touch events), causing severe updating issues with some clients.

Test Plan: Launch a client that doesn't attach to wl_touch (for instance, rootston) with WAYLAND_DEBUG=client and watch the logs while touching its window.


I've been using nested rootston inside KWin and noticed problems with content refresh when using touchscreen. It worked better with mouse. After debugging, it turned out that:

  • rootston doesn't register to wl_touch, so KWin emulates wl_pointer events
  • when emulating, KWin sends naked wl_pointer.motion and wl_pointer.button events without sending any wl_pointer.frame with them

wl_pointer.frames are sent when using mouse or using touchscreen with a client that listens to wl_touch; they just weren't when emulating wl_pointer out of touch for clients that don't.

See also: https://github.com/swaywm/wlroots/pull/1754


Originally posted in https://phabricator.kde.org/D22459

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: touch