Bug 380428 - Touch screen gestures don't work
Summary: Touch screen gestures don't work
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: input (show other bugs)
Version: 5.12.0
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-01 13:36 UTC by Patrick Silva
Modified: 2018-02-19 04:48 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
mgraesslin: Wayland-
mgraesslin: X11+


Attachments
kwinrc file (912 bytes, text/plain)
2017-06-17 14:25 UTC, Patrick Silva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2017-06-01 13:36:37 UTC
I use a laptop with touch screen (Lenovo G400S Touch) running plasma 5.10 on Arch, no gesture configured in touch screen kcm is working.
Comment 1 Martin Flöser 2017-06-17 12:08:13 UTC
Please provide output of
qdbus org.kde.KWin /KWin supportInformation

and attach a copy of your kwinrc. Please also check with "xinput test-xi2" whether the events are delivered correctly.
Comment 2 Patrick Silva 2017-06-17 14:25:51 UTC
Created attachment 106144 [details]
kwinrc file

"xinput test-xi2" shows the events correctly.

Here is the output of qdbus org.kde.KWin /KWin supportInformation

KWin Support Information:
The following information should be used when requesting support on e.g. http://forum.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like http://paste.kde.org instead of pasting into support threads.

==========================

Version
=======
KWin version: 5.10.2
Qt Version: 5.9.0
Qt compile version: 5.9.0
XCB compile version: 1.12

Operation Mode: X11 only

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_INPUT: yes
HAVE_DRM: yes
HAVE_GBM: yes
HAVE_X11_XCB: yes
HAVE_EPOXY_GLX: yes
HAVE_WAYLAND_EGL: yes

X11
===
Vendor: The X.Org Foundation
Vendor Release: 11903000
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
DAMAGE: yes; Version: 0x11
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
GLX: yes; Version: 0x0

Decoration
==========
Plugin: org.kde.breeze
Theme: 
Blur: 0
onAllDesktopsAvailable: false
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 0, 2
decorationButtonsRight: 6, 3, 4, 5
borderSize: 3
gridUnit: 10
font: Noto Sans [GOOG],10,-1,5,50,0,0,0,0,0,Regular
smallSpacing: 2
largeSpacing: 10

Options
=======
focusPolicy: 0
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 4
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
rollOverDesktops: true
focusStealingPreventionLevel: 1
legacyFullscreenSupport: false
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: 0
commandActiveTitlebar2: 30
commandActiveTitlebar3: 2
commandInactiveTitlebar1: 4
commandInactiveTitlebar2: 30
commandInactiveTitlebar3: 2
commandWindow1: 7
commandWindow2: 8
commandWindow3: 8
commandWindowWheel: 31
commandAll1: 10
commandAll2: 3
commandAll3: 14
keyCmdAllModKey: 16777251
showGeometryTip: false
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
inactiveTabsSkipTaskbar: false
autogroupSimilarWindows: false
autogroupInForeground: true
compositingMode: 1
useCompositing: true
compositingInitialized: true
hiddenPreviews: 1
glSmoothScale: 2
xrenderSmoothScale: false
maxFpsInterval: 16666666
refreshRate: 0
vBlankTime: 6000000
glStrictBinding: true
glStrictBindingFollowsDriver: true
glCoreProfile: false
glPreferBufferSwap: 101
glPlatformInterface: 1
windowsBlockCompositing: true

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
timeThreshold: 150
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Multi-Head: no
Active screen follows mouse:  no
Number of Screens: 1

Screen 0:
---------
Name: LVDS-1
Geometry: 0,0,1366x768
Refresh Rate: 59.989


Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile 
OpenGL version string: 3.0 Mesa 17.1.2
OpenGL platform interface: GLX
OpenGL shading language version string: 1.30
Driver: Intel
GPU class: IvyBridge
OpenGL version: 3.0
GLSL version: 1.30
Mesa version: 17.1.2
X server version: 1.19.3
Linux kernel version: 4.11.5
Direct rendering: Requires strict binding: yes
GLSL shaders:  yes
Texture NPOT support:  yes
Virtual Machine:  no
OpenGL 2 Shaders are used
Painting blocks for vertical retrace:  no

Loaded Effects:
---------------
zoom
mouseclick
kwin4_effect_logout
kwin4_effect_login
slidingpopups
kwin4_effect_windowaperture
kwin4_effect_translucency
slide
screenshot
minimizeanimation
desktopgrid
colorpicker
kwin4_effect_frozenapp
kwin4_effect_fade
kwin4_effect_morphingpopups
kwin4_effect_maximize
kwin4_effect_dialogparent
presentwindows
highlightwindow
blur
contrast
startupfeedback
screenedge
kscreen

Currently Active Effects:
-------------------------
blur
contrast

Effect Settings:
----------------
zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
enableFocusTracking: false
followFocus: true
focusDelay: 350
moveFactor: 20
targetZoom: 1

mouseclick:
color1: #ff0000
color2: #00ff00
color3: #0000ff
lineWidth: 1
ringLife: 300
ringSize: 20
ringCount: 2
showText: true
font: Noto Sans [GOOG],10,-1,5,50,0,0,0,0,0,Regular
enabled: false

kwin4_effect_logout:

kwin4_effect_login:

slidingpopups:
fadeInTime: 150
fadeOutTime: 250

kwin4_effect_windowaperture:

kwin4_effect_translucency:

slide:

screenshot:

minimizeanimation:

desktopgrid:
zoomDuration: 300
border: 10
desktopNameAlignment: 0
layoutMode: 0
customLayoutRows: 2
usePresentWindows: true

colorpicker:

kwin4_effect_frozenapp:

kwin4_effect_fade:

kwin4_effect_morphingpopups:

kwin4_effect_maximize:

kwin4_effect_dialogparent:

presentwindows:
layoutMode: 0
showCaptions: true
showIcons: true
doNotCloseWindows: false
ignoreMinimized: false
accuracy: 20
fillGaps: true
fadeDuration: 150
showPanel: false
leftButtonWindow: 1
rightButtonWindow: 2
middleButtonWindow: 0
leftButtonDesktop: 2
middleButtonDesktop: 0
rightButtonDesktop: 0

highlightwindow:

blur:
blurRadius: 12
cacheTexture: true

contrast:

startupfeedback:
type: 1

screenedge:

kscreen:
Comment 3 Patrick Silva 2017-06-17 14:34:37 UTC
Sorry, "xinput test-xi2" shows a small window with a black square, nothing hapeens when I click or touch this window. After close the window terminal says

XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 39 requests (39 known processed) with 0 events remaining.
Comment 4 Martin Flöser 2017-06-17 15:03:29 UTC
when you interact with the window it should show in the konsole the events like touch begin, touch end, etc.
Comment 5 Patrick Silva 2017-06-17 15:43:53 UTC
Yes, I see "touch begin", "touch update" and "touch end".
Comment 6 Martin Flöser 2017-06-17 20:27:26 UTC
What does it show when you swipe in from the screen edge?
Comment 7 Patrick Silva 2017-06-17 20:49:34 UTC
EVENT type 22 (RawTouchBegin), EVENT type 23 (RawTouchUpdate) and EVENT type 24 (RawTouchEnd).
Comment 8 Martin Flöser 2017-07-22 17:14:50 UTC
do the touch events start at the border? It should show x position 0.
Comment 9 Patrick Silva 2017-07-22 18:17:17 UTC
Here is "xinput test-xi2" output when I swipe in from the edge of screen

⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ SYNAPTICS Synaptics Large Touch Screen  	id=9	[slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                	id=13	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ Lenovo EasyCamera                       	id=10	[slave  keyboard (3)]
    ↳ Ideapad extra buttons                   	id=11	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=12	[slave  keyboard (3)]
EVENT type 9 (FocusIn)
    device: 3 (3)
    windows: root 0xd2 event 0x3c00001 child 0x0
    mode: NotifyNormal (detail NotifyNonlinear)
    flags:  [same screen]
    buttons:
    modifiers: locked 0 latched 0 base 0 effective: 0
    group: locked 0 latched 0 base 0 effective: 0
    root x/y:  595.00 / 15.00
    event x/y: 595.00 / 15.00
EVENT type 14 (RawKeyRelease)
    device: 3 (12)
    detail: 36
    valuators:

EVENT type 3 (KeyRelease)
    device: 3 (12)
    detail: 36
    flags: 
    root: 595.00/15.00
    event: -497.00/-14.00
    buttons:
    modifiers: locked 0 latched 0 base 0 effective: 0
    group: locked 0 latched 0 base 0 effective: 0
    valuators:
    windows: root 0xd2 event 0x3c00001 child 0x0
EVENT type 12 (PropertyEvent)
     property: 293 'Synaptics Off'
     changed: modified
EVENT type 22 (RawTouchBegin)
    device: 2 (9)
    detail: 39
    valuators:
          0: 0.00 (0.00)
          1: 29348.44 (29348.44)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 39
    valuators:
          0: 125.59 (125.59)
          1: 29385.41 (29385.41)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 39
    valuators:
          0: 439.55 (439.55)
          1: 29533.26 (29533.26)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 39
    valuators:
          0: 1067.48 (1067.48)
          1: 29755.03 (29755.03)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 39
    valuators:
          0: 1695.41 (1695.41)
          1: 29939.85 (29939.85)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 39
    valuators:
          0: 2323.34 (2323.34)
          1: 30124.66 (30124.66)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 39
    valuators:
          0: 2909.41 (2909.41)
          1: 30346.44 (30346.44)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 39
    valuators:
          0: 3537.34 (3537.34)
          1: 30605.18 (30605.18)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 39
    valuators:
          0: 4039.69 (4039.69)
          1: 30863.92 (30863.92)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 39
    valuators:
          0: 4542.03 (4542.03)
          1: 31159.62 (31159.62)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 39
    valuators:
          0: 4939.72 (4939.72)
          1: 31344.43 (31344.43)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 39
    valuators:
          0: 5211.82 (5211.82)
          1: 31492.28 (31492.28)

EVENT type 24 (RawTouchEnd)
    device: 2 (9)
    detail: 39
    valuators:
          0: 5211.82 (0.00)
          1: 31492.28 (0.00)

EVENT type 22 (RawTouchBegin)
    device: 2 (9)
    detail: 40
    valuators:
          0: 24468.35 (24468.35)
          1: 2143.84 (2143.84)

EVENT type 10 (FocusOut)
    device: 3 (3)
    windows: root 0xd2 event 0x3c00001 child 0x0
    mode: NotifyNormal (detail NotifyNonlinear)
    flags:  [same screen]
    buttons:
    modifiers: locked 0 latched 0 base 0 effective: 0
    group: locked 0 latched 0 base 0 effective: 0
    root x/y:  510.00 / 25.00
    event x/y: -582.00 / -4.00
EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 40
    valuators:
          0: 24447.42 (24447.42)
          1: 2143.84 (2143.84)

EVENT type 23 (RawTouchUpdate)
    device: 2 (9)
    detail: 40
    valuators:
          0: 24426.49 (24426.49)
          1: 2180.80 (2180.80)

EVENT type 24 (RawTouchEnd)
    device: 2 (9)
    detail: 40
    valuators:
          0: 24426.49 (0.00)
          1: 2180.80 (0.00)

EVENT type 13 (RawKeyPress)
    device: 3 (12)
    detail: 37
    valuators:

EVENT type 13 (RawKeyPress)
    device: 3 (12)
    detail: 54
    valuators:
Comment 10 Martin Flöser 2017-07-23 06:38:37 UTC
Looks like it starts at 0
Comment 11 Patrick Silva 2017-09-21 00:09:26 UTC
Still not working on plasma 5.11 beta.
Comment 12 Stefan Brüns 2017-11-13 23:00:10 UTC
I see the same on my XPS 12 (9Q33, Haswell generation)

I think this not a problem of the actual code, but the config is neither properly saved and applied:

1. Setting an edge action is not saved to .kwinrc when hitting "Apply" in the "Touch screen" systemsettings

Workaround: Set the edge action, go to the "Display and Monitor" -> "Compositor" setting, modify something, hit "Apply" -> kwinrc is updated

---
grep -A5 TouchEdges ~/.config/kwinrc 
[TouchEdges]
Bottom=ShowDesktop
Left=None
Right=None
Top=ShowDesktop
---

2. The new config is not directly applied, but works after "kwin_x11 --replace &"
Comment 13 Patrick Silva 2017-11-14 20:37:32 UTC
(In reply to Stefan Brüns from comment #12)
> 
> Workaround: Set the edge action, go to the "Display and Monitor" ->
> "Compositor" setting, modify something, hit "Apply" -> kwinrc is updated

it does not work on neon dev unstable.
Comment 14 Patrick Silva 2018-02-08 02:39:57 UTC
just tested on neon user edition lts.
Touch screen gestures are still not working.
Comment 15 Stefan Brüns 2018-02-19 00:54:29 UTC
(In reply to Dr. Chapatin from comment #14)
> just tested on neon user edition lts.
> Touch screen gestures are still not working.

Please provide the output of
grep -A5 TouchEdges ~/.config/kwinrc
Comment 16 Patrick Silva 2018-02-19 03:12:00 UTC
(In reply to Stefan Brüns from comment #15)
> (In reply to Dr. Chapatin from comment #14)
> > just tested on neon user edition lts.
> > Touch screen gestures are still not working.
> 
> Please provide the output of
> grep -A5 TouchEdges ~/.config/kwinrc

[TouchEdges]
Bottom=None
Left=LockScreen
Right=None
Top=LockScreen
Comment 17 Stefan Brüns 2018-02-19 03:35:29 UTC
(In reply to Dr. Chapatin from comment #16)
> (In reply to Stefan Brüns from comment #15)
> > (In reply to Dr. Chapatin from comment #14)
> > > just tested on neon user edition lts.
> > > Touch screen gestures are still not working.
> > 
> > Please provide the output of
> > grep -A5 TouchEdges ~/.config/kwinrc
> 
> [TouchEdges]
> Bottom=None
> Left=LockScreen
> Right=None
> Top=LockScreen

Try moving you finger from *above* the screen edge to approximately the center of the screen really fast, immediately releasing the finger when you reach the center.

You should see a glow effect on the edge of the screen. If you see the glow effect but nothing happens, try again.
Comment 18 Patrick Silva 2018-02-19 03:50:19 UTC
(In reply to Stefan Brüns from comment #17)
> 
> Try moving you finger from *above* the screen edge to approximately the
> center of the screen really fast, immediately releasing the finger when you
> reach the center.
> 
> You should see a glow effect on the edge of the screen. If you see the glow
> effect but nothing happens, try again.

following your instructions gestures work.
But to move the finger to almost center of screen and fast is uncomfortable and not intuitive.
Comment 19 Stefan Brüns 2018-02-19 04:35:05 UTC
(In reply to Dr. Chapatin from comment #18)
> (In reply to Stefan Brüns from comment #17)
> > 
> > Try moving you finger from *above* the screen edge to approximately the
> > center of the screen really fast, immediately releasing the finger when you
> > reach the center.
> > 
> > You should see a glow effect on the edge of the screen. If you see the glow
> > effect but nothing happens, try again.
> 
> following your instructions gestures work.
> But to move the finger to almost center of screen and fast is uncomfortable
> and not intuitive.

Two different issues:
config not written properly: #390714
gesture difficult to trigger: #390711

I think this should be closed.
Comment 20 Patrick Silva 2018-02-19 04:48:43 UTC
(In reply to Stefan Brüns from comment #19

> I think this should be closed.

I agree.