https://bugs.kde.org/show_bug.cgi?id=526180

            Bug ID: 526180
           Summary: Touch edge swipe can't reveal a bottom/right auto-hide
                    panel on outputs with a fractional logical size
    Classification: Plasma
           Product: kwin
      Version First 6.7.5
       Reported In:
          Platform: Fedora RPMs
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Hotcorners and edges
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

STEPS TO REPRODUCE
1. Use a touchscreen output whose logical size is not an integer, e.g.
2560x1600 at 150% scale (1706.67x1066.67 logical).
2. Set the bottom panel to "Auto hide".
3. Swipe up from the bottom bezel with a finger.

OBSERVED RESULT
The panel doesn't appear. Moving the mouse pointer to the bottom edge still
reveals it.

EXPECTED RESULT
The swipe reveals the panel, as it does with an integer logical size (the same
device at 160% scale, 1600x1000, works).

ADDITIONAL INFORMATION
The auto-hide edge created in ScreenEdges::createEdgeForClient() is 1px thick
and based on the rounded LogicalOutput::geometry(), so for the bottom edge it
covers y in [1066, 1067).

Touch points are confined in devicePointToGlobalPosition()
(src/backends/libinput/connection.cpp) to geometryF().height() - 1, i.e. y <=
1065.67, so they can never land inside that strip. The pointer is confined to
the rounded geometry (confineToBoundingBox() in pointer_input.cpp, max y =
1066), which is why the mouse works.

I confirmed this with uprobes on ScreenEdgeGestureRecognizer::touchDown() while
swiping up from the bottom bezel:
  touch pos y = 1065.6667, the only registered gesture rect = (0, 1066) -
(1707, 1067), touchDown returned false.
The raw touchscreen reports its maximum Y at the bezel, so the device itself
reaches the last row.

Confining touch points to the rounded geometry, like the pointer does, fixes it
for me (tested with a locally patched 6.7.5 build).
The same code is still in master.

Hardware: ASUS ROG Flow X13 GV302XV, ELAN9008 touchscreen, 2560x1600 panel.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to