Skip to content

On X11, touch events can move the cursor without CursorMoved event #1261

@dhardy

Description

@dhardy

This is exemplified in KAS (easy to see in the calculator example):

  • cursor position is updated when a CursorMoved and CursorLeft events are received but not otherwise; other than as reported here this appears to be sufficient
  • widgets are highlighted based on the cursor position, as updated above
  • on X11, touch events (first finger only if multiple presses) move the mouse cursor; this may be because until relatively recently touch events simply emulated mouse clicks on X11
  • my app observes all touch events correctly
  • when the first touch event starts, my app observes the mouse position being moved via CursorMoved
  • when this touch moves (TouchPhase::Moved), X11 visually moves the mouse cursor, but my app does not receive CursorMoved events

Result: pressing a button with the finger and dragging off of it results in the start button being highlighted (because the app believes the mouse is hovering over it) and the button under the finger being highlighted (because the app highlights all drags).

I guess this is an X11 bug. What's your experience with issues like this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    B - bugDang, that shouldn't have happenedC - needs investigationIssue must be confirmed and researchedDS - x11Affects the X11 backend, or generally free Unix platforms

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions