Touchpad : No 3/4 fingers vertical swipe or pinch

Hi
my touchpad works fine except that I am not able to perform tasks on vertical 3/4 fingers swipe or pinch gestures.
3/4 fingers horizontal swipes work fine.
Already tried : fusuma, touchegg, gesture. Always the same problem. So I think I’ll stick with ‘gesture’ unless imperious reasons.
“libinput debug-gui” show the gestures are recognised.

First what I’m playing with :

[jaco@Lclodo ~]$ inxi -Fazy
System:
  Kernel: 6.9.0-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.9-x86_64
    root=UUID=a6712c84-a233-4860-8285-3fc63b997dbb rw quiet splash apparmor=1
    security=apparmor resume=UUID=9accaba2-c78f-424b-9edd-436a1dab5ac9
    udev.log_priority=3
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36 wm: xfwm4 v: 4.18.0
    with: xfce4-panel tools: xfce4-screensaver vt: 7 dm: LightDM v: 1.32.0
    Distro: Manjaro base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 20FMS0SR00 v: ThinkPad T460
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: LENOVO model: 20FMS0SR00 v: SDK0J40705 WIN
    serial: <superuser required>
    part-nu: LENOVO_MT_20FM_BU_Think_FM_ThinkPad T460
    uuid: <superuser required> UEFI: LENOVO v: R06ET67W (1.41 )
    date: 05/07/2019
Battery:
  ID-1: BAT1 charge: 66.8 Wh (97.7%) condition: 68.4/71.3 Wh (96.0%)
    power: 7.3 W volts: 12.1 min: 10.8 model: SANYO 45N1777 type: Li-ion
    serial: <filter> status: discharging
CPU:
  Info: model: Intel Core i5-6300U bits: 64 type: MT MCP arch: Skylake
    gen: core 6 level: v3 note: check built: 2015 process: Intel 14nm family: 6
    model-id: 0x4E (78) stepping: 3 microcode: 0xF0
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache:
    L1: 128 KiB desc: d-2x32 KiB; i-2x32 KiB L2: 512 KiB desc: 2x256 KiB
    L3: 3 MiB desc: 1x3 MiB
  Speed (MHz): avg: 895 high: 900 min/max: 400/3000 scaling:
    driver: intel_pstate governor: powersave cores: 1: 882 2: 900 3: 900 4: 900
    bogomips: 20004
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: gather_data_sampling status: Vulnerable: No microcode
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT
    vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed mitigation: IBRS
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: IBRS; IBPB: conditional; STIBP: conditional;
    RSB filling; PBRSB-eIBRS: Not affected; BHI: Not affected
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort mitigation: TSX disabled
Graphics:
  Device-1: Intel Skylake GT2 [HD Graphics 520] vendor: Lenovo driver: i915
    v: kernel arch: Gen-9 process: Intel 14n built: 2015-16 ports: active: eDP-1
    empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:1916
    class-ID: 0300
  Device-2: Bison ThinkPad P50 Integrated Camera driver: uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-10:4 chip-ID: 5986:0706
    class-ID: 0e02
  Display: x11 server: X.org v: 1.21.1.13 compositor: xfwm4 v: 4.18.0 driver:
    X: loaded: modesetting alternate: fbdev,vesa dri: iris gpu: i915
    display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1366x768 s-size: <missing: xdpyinfo>
  Monitor-1: eDP-1 model: AU Optronics 0x2e3c built: 2013 res: 1366x768
    hz: 60 dpi: 112 gamma: 1.2 size: 309x173mm (12.17x6.81") diag: 354mm (13.9")
    ratio: 16:9 modes: 1366x768
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
    device: 1 drv: swrast surfaceless: drv: iris x11: drv: iris
    inactive: gbm,wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.0.6-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel HD Graphics 520 (SKL GT2)
    device-ID: 8086:1916 memory: 7.44 GiB unified: yes
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_soc_avs
    bus-ID: 00:1f.3 chip-ID: 8086:9d70 class-ID: 0403
  API: ALSA v: k6.9.0-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.0.5 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Ethernet I219-LM vendor: Lenovo driver: e1000e v: kernel
    port: N/A bus-ID: 00:1f.6 chip-ID: 8086:156f class-ID: 0200
  IF: enp0s31f6 state: down mac: <filter>
  Device-2: Intel Wireless 8260 driver: iwlwifi v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 bus-ID: 04:00.0 chip-ID: 8086:24f3 class-ID: 0280
  IF: wlp4s0 state: up mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Intel Bluetooth wireless interface driver: btusb v: 0.8 type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-7:3 chip-ID: 8087:0a2b
    class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 1 state: up address: see --recommends
Drives:
  Local Storage: total: 238.47 GiB used: 12.72 GiB (5.3%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/sda maj-min: 8:0 vendor: SanDisk model: SD7TB6S256G1001
    size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 1201 scheme: GPT
Partition:
  ID-1: / raw-size: 229.37 GiB size: 224.71 GiB (97.97%) used: 12.72 GiB (5.7%)
    fs: ext4 dev: /dev/sda2 maj-min: 8:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 296 KiB (0.1%) fs: vfat dev: /dev/sda1 maj-min: 8:1
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/sda3 maj-min: 8:3
Sensors:
  System Temperatures: cpu: 41.0 C pch: 38.5 C mobo: N/A
  Fan Speeds (rpm): fan-1: 0
Info:
  Memory: total: 8 GiB available: 7.62 GiB used: 2.69 GiB (35.3%)
  Processes: 226 Power: uptime: 8m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 3.03 GiB services: upowerd,xfce4-power-manager
    Init: systemd v: 255 default: graphical tool: systemctl
  Packages: 1091 pm: pacman pkgs: 1077 libs: 339 tools: pamac pm: flatpak
    pkgs: 6 pm: snap pkgs: 8 Compilers: N/A Shell: Bash v: 5.2.26
    running-in: xfce4-terminal inxi: 3.3.34

Then the damned touchpad

[jaco@Lclodo ~]$ libinput list-devices
Device:           SynPS/2 Synaptics TouchPad
Kernel:           /dev/input/event7
Group:            6
Seat:             seat0, default
Size:             100x58mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    *button-areas clickfinger 
Disable-w-typing: enabled
Disable-w-trackpointing: enabled
Accel profiles:   flat *adaptive custom
Rotation:         n/a

And its complete prop :

[jaco@Lclodo ~]$ xinput --list-props "SynPS/2 Synaptics TouchPad"
Device 'SynPS/2 Synaptics TouchPad':
	Device Enabled (184):	1
	Coordinate Transformation Matrix (186):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Tapping Enabled (316):	1
	libinput Tapping Enabled Default (317):	0
	libinput Tapping Drag Enabled (318):	1
	libinput Tapping Drag Enabled Default (319):	1
	libinput Tapping Drag Lock Enabled (320):	0
	libinput Tapping Drag Lock Enabled Default (321):	0
	libinput Tapping Button Mapping Enabled (322):	1, 0
	libinput Tapping Button Mapping Default (323):	1, 0
	libinput Natural Scrolling Enabled (324):	1
	libinput Natural Scrolling Enabled Default (325):	0
	libinput Disable While Typing Enabled (326):	1
	libinput Disable While Typing Enabled Default (327):	1
	libinput Scroll Methods Available (328):	1, 1, 0
	libinput Scroll Method Enabled (329):	1, 0, 0
	libinput Scroll Method Enabled Default (330):	1, 0, 0
	libinput Click Methods Available (331):	1, 1
	libinput Click Method Enabled (332):	1, 0
	libinput Click Method Enabled Default (333):	1, 0
	libinput Middle Emulation Enabled (334):	0
	libinput Middle Emulation Enabled Default (335):	0
	libinput Accel Speed (336):	0.460000
	libinput Accel Speed Default (337):	0.000000
	libinput Accel Profiles Available (338):	1, 1, 1
	libinput Accel Profile Enabled (339):	1, 0, 0
	libinput Accel Profile Enabled Default (340):	1, 0, 0
	libinput Accel Custom Fallback Points (341):	<no items>
	libinput Accel Custom Fallback Step (342):	0.000000
	libinput Accel Custom Motion Points (343):	<no items>
	libinput Accel Custom Motion Step (344):	0.000000
	libinput Accel Custom Scroll Points (345):	<no items>
	libinput Accel Custom Scroll Step (346):	0.000000
	libinput Left Handed Enabled (347):	0
	libinput Left Handed Enabled Default (348):	0
	libinput Send Events Modes Available (301):	1, 1
	libinput Send Events Mode Enabled (302):	0, 0
	libinput Send Events Mode Enabled Default (303):	0, 0
	Device Node (304):	"/dev/input/event7"
	Device Product ID (305):	2, 7
	libinput Drag Lock Buttons (349):	<no items>
	libinput Horizontal Scroll Enabled (350):	1
	libinput Scrolling Pixel Distance (351):	15
	libinput Scrolling Pixel Distance Default (352):	15
	libinput High Resolution Wheel Scroll Enabled (353):	1

Here is the libinput debug-events : first swipe 3fingers horizontal (that works fine), second swipe 3 fingers vertical that does nohting

[jaco@Lclodo ~]$ libinput debug-events
-event2   DEVICE_ADDED            Power Button                      seat0 default group1  cap:k
-event4   DEVICE_ADDED            Video Bus                         seat0 default group2  cap:k
-event0   DEVICE_ADDED            Lid Switch                        seat0 default group3  cap:S
-event1   DEVICE_ADDED            Sleep Button                      seat0 default group4  cap:k
-event3   DEVICE_ADDED            AT Translated Set 2 keyboard      seat0 default group5  cap:k
-event7   DEVICE_ADDED            SynPS/2 Synaptics TouchPad        seat0 default group6  cap:pg  size 100x58mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on dwtp-on
-event15  DEVICE_ADDED            TPPS/2 IBM TrackPoint             seat0 default group7  cap:p left scroll-nat scroll-button
-event6   DEVICE_ADDED            ThinkPad Extra Buttons            seat0 default group8  cap:k
-event7   GESTURE_HOLD_BEGIN      +0.040s	2
 event7   GESTURE_HOLD_END        +0.142s	2 cancelled
 event7   GESTURE_SWIPE_BEGIN     +0.158s	3
 event7   GESTURE_SWIPE_UPDATE    +0.158s	3 -0.89/-3.82 (-1.43/-6.15 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +0.178s	3  0.00/-6.70 ( 0.00/-6.80 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +0.197s	3  0.00/-9.39 ( 0.00/-9.39 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +0.216s	3 -0.96/-11.33 (-0.96/-11.33 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +0.236s	3 -1.91/-14.25 (-1.91/-14.25 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +0.255s	3 -1.43/-17.81 (-1.43/-17.81 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +0.275s	3 -1.43/-17.48 (-1.43/-17.48 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +0.293s	3 -1.43/-14.57 (-1.43/-14.57 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +0.313s	3 -1.43/-13.60 (-1.43/-13.60 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +0.332s	3 -1.43/-12.63 (-1.43/-12.63 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +0.351s	3 -0.48/-10.68 (-0.48/-10.68 unaccelerated)
 event7   GESTURE_SWIPE_END       +0.380s	3
^[event7  - SynPS/2 Synaptics TouchPad: kernel bug: Touch jump detected and discarded.
See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
event7  - SynPS/2 Synaptics TouchPad: kernel bug: Touch jump detected and discarded.
See https://wayland.freedesktop.org/libinput/doc/1.25.0/touchpad-jumping-cursors.html for details
 event7   GESTURE_SWIPE_BEGIN     +3.514s	3
 event7   GESTURE_SWIPE_UPDATE    +3.514s	3  0.00/ 0.59 ( 0.00/ 0.65 unaccelerated)
 event7   GESTURE_SWIPE_END       +3.736s	3
 event7   GESTURE_SWIPE_BEGIN     +4.848s	4
 event7   GESTURE_SWIPE_UPDATE    +4.848s	4 -9.22/ 0.59 (-10.04/ 0.65 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +4.867s	4 -19.13/ 3.89 (-19.13/ 3.89 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +4.887s	4 -20.57/ 3.89 (-20.57/ 3.89 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +4.906s	4 -24.39/ 3.89 (-24.39/ 3.89 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +4.926s	4 -24.87/ 3.56 (-24.87/ 3.56 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +4.944s	4 -24.87/ 2.27 (-24.87/ 2.27 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +4.964s	4 -23.44/ 2.59 (-23.44/ 2.59 unaccelerated)
 event7   GESTURE_SWIPE_UPDATE    +4.983s	4 -22.48/ 1.62 (-22.48/ 1.62 unaccelerated)
 event7   GESTURE_SWIPE_END       +5.022s	4
-event3   KEYBOARD_KEY            +9.531s	*** (-1) pressed
 event3   KEYBOARD_KEY            +9.730s	*** (-1) pressed
^C

And finally my config

[jaco@Lclodo ~]$ libinput-gestures -l
libinput-gestures: session xfce+x11 on Linux-6.9.0-1-MANJARO-x86_64-with-glibc2.39, python 3.12.3, libinput 1.25.0
Hash: 1e084483b086645ffe79e86f3b59961d
Gestures configured in ~/.config/libinput-gestures.conf:
swipe left       3 xdotool key Alt+Right
swipe right      3 xdotool key Alt+Left
swipe left       4 xdotool key Ctrl+Alt+Right
swipe right      4 xdotool key Ctrl+Alt+Left
swipe up         3 xdotool key Ctrl+Alt+D
libinput-gestures: device /dev/input/by-path/platform-i8042-serio-1-event-mouse(event7): SynPS/2 Synaptics TouchPad
libinput-gestures is installed.
libinput-gestures is set up as a desktop application.
libinput-gestures is currently running as a desktop application.
libinput-gestures is set to autostart as a desktop application.
libinput-gestures is using custom configuration file.

The faulty touch jump error is annoying but I understand that one have to live with what one can do nothing about.

On the libinput-gesture github page there is talk of _internal command instead of xdotool. I have wmctrl installed, but the “_internal” syntax is completely alien to me.

Then, dunno if it’s related, here is what happens when I hit enter on “xinput list-props 10 | grep Capabilities” command :

Hope I’ve been thorough, first post ever.

Thanks for all guys, you all saved me from a lot of tight spot. But that particular issue I am unable to solve with all there is here or on arch forum.

Hope someone got an idea.

CHeers

I would suggest using a DE which is capable of wayland. For example the pinch zoom gesture works perfectly fine with firefox in wayland. I guess the problem is not that the driver cannot transmit that gesture, but rather that the Apps ignore that on Xorg or need to enable it in the configs.

Keep in mind that xorg is legacy software and most progress will be made on Wayland in that regard.

Aye, so new DE or wait and see…
The pinch move doesn’t work for anything for me… too bad.
Is it only a xfce4/wayland compatibility development problem ?
here is a xorg.0.log entry :

[    11.863] (**) SynPS/2 Synaptics TouchPad: (accel) selected scheme none/0
[    11.863] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[    11.863] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[    11.869] (II) event14 - SynPS/2 Synaptics TouchPad: is tagged by udev as: Touchpad
[    11.876] (II) event14 - SynPS/2 Synaptics TouchPad: device is a touchpad
[    11.880] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)
[    11.880] (II) No input driver specified, ignoring this device.
[    11.880] (II) This device may have been added with another device file.

Thanks for the reply.