Swipe back with two fingers?

Greetingo! So there’s something i want to change but do not know how. As i use windows as well as linux, i’m more into two finger swipe in browser for previous or next page (alt + arrows). But libinput is using three finger swipe. Is there a way to change the three into two? thanks!

That will be completely desktop/WM-dependent. If/When you post the garuda-inxi AS REQUIRED you’ll probably receive decent help.


Yeah sorry, my bad! This’s my garuda-inxy

Kernel: 6.5.5-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc available: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=17ac736c-821f-4582-b5e0-92bdc9ea07d0 rw rootflags=subvol=@
quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
Desktop: KDE Plasma v: 5.27.8 tk: Qt v: 5.15.10 wm: kwin_x11 dm: SDDM
Distro: Garuda Linux base: Arch Linux
Type: Laptop System: LENOVO product: 82RG v: Legion 5 Pro 16ARH7H
serial: <filter> Chassis: type: 10 v: Legion 5 Pro 16ARH7H serial: <filter>
Mobo: LENOVO model: LNVNB161216 v: SDK0T76461 WIN serial: <filter>
UEFI: LENOVO v: JUCN59WW date: 03/15/2023
ID-1: BAT0 charge: 60.0 Wh (76.0%) condition: 78.9/80.0 Wh (98.6%)
power: 15.1 W volts: 15.7 min: 15.4 model: BYD L21B4PC0 type: Li-poly
serial: <filter> status: discharging cycles: 77
Info: model: AMD Ryzen 7 6800H with Radeon Graphics socket: FP7 bits: 64
type: MT MCP arch: Zen 3+ gen: 4 level: v3 note: check built: 2022
process: TSMC n6 (7nm) family: 0x19 (25) model-id: 0x44 (68) stepping: 1
microcode: 0xA404102
Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
L3: 16 MiB desc: 1x16 MiB
Speed (MHz): avg: 1085 high: 1397 min/max: 400/4785 base/boost: 3200/4750
scaling: driver: amd-pstate-epp governor: powersave volts: 1.2 V
ext-clock: 100 MHz cores: 1: 1397 2: 400 3: 400 4: 400 5: 1397 6: 1396
7: 1397 8: 400 9: 1395 10: 1397 11: 1397 12: 1396 13: 1397 14: 400
15: 1397 16: 1395 bogomips: 102206
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities: <filter>
Device-1: AMD Rembrandt [Radeon 680M] vendor: Lenovo driver: amdgpu
v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm) built: 2020-22
pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: eDP-1 empty: DP-1,
DP-2, DP-3, DP-4, DP-5, DP-6 bus-ID: 34:00.0 chip-ID: 1002:1681
class-ID: 0300 temp: 35.0 C
Display: server: X.Org v: 21.1.8 with: Xwayland v: 23.2.1
compositor: kwin_x11 driver: X: loaded: amdgpu unloaded: modesetting
alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
Screen-1: 0 s-res: 2560x1600 s-dpi: 96 s-size: 677x423mm (26.65x16.65")
s-diag: 798mm (31.43")
Monitor-1: eDP-1 mapped: eDP model: BOE Display 0x0a9b built: 2020
res: 2560x1600 dpi: 189 gamma: 1.2 size: 344x215mm (13.54x8.46")
diag: 406mm (16") ratio: 16:10 modes: max: 2560x1600 min: 640x480
API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
device: 1 drv: swrast surfaceless: drv: radeonsi x11: drv: radeonsi
inactive: gbm,wayland
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 23.1.8-arch1.1
glx-v: 1.4 direct-render: yes renderer: AMD Radeon Graphics (rembrandt LLVM
16.0.6 DRM 3.54 6.5.5-zen1-1-zen) device-ID: 1002:1681 memory: 500 MiB
unified: no
API: Vulkan v: 1.3.264 layers: 4 device: 0 type: integrated-gpu name: AMD
Radeon Graphics (RADV REMBRANDT) driver: mesa radv v: 23.1.8-arch1.1
device-ID: 1002:1681 surfaces: xcb,xlib device: 1 type: cpu name: llvmpipe
(LLVM 16.0.6 256 bits) driver: mesa llvmpipe v: 23.1.8-arch1.1 (LLVM
16.0.6) device-ID: 10005:0000 surfaces: xcb,xlib
Device-1: AMD Rembrandt Radeon High Definition Audio vendor: Lenovo
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 34:00.1 chip-ID: 1002:1640 class-ID: 0403
Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Lenovo
driver: snd_pci_acp6x v: kernel alternate: snd_pci_acp3x, snd_rn_pci_acp3x,
snd_pci_acp5x, snd_acp_pci, snd_rpl_pci_acp6x, snd_pci_ps,
snd_sof_amd_renoir, snd_sof_amd_rembrandt pcie: gen: 4 speed: 16 GT/s
lanes: 16 bus-ID: 34:00.5 chip-ID: 1022:15e2 class-ID: 0480
Device-3: AMD Family 17h/19h HD Audio vendor: Lenovo driver: snd_hda_intel
v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 34:00.6
chip-ID: 1022:15e3 class-ID: 0403
API: ALSA v: k6.5.5-zen1-1-zen status: kernel-api tools: N/A
Server-1: PipeWire v: 0.3.80 status: n/a (root, process) with:
1: pipewire-pulse status: active 2: wireplumber status: active
3: pipewire-alsa type: plugin 4: pw-jack type: plugin
tools: pactl,pw-cat,pw-cli,wpctl
Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
vendor: Lenovo driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1
bus-ID: 02:00.0 chip-ID: 14c3:0616 class-ID: 0280
IF: wlp2s0 state: up mac: <filter>
Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: Lenovo driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
port: 4000 bus-ID: 03:00.0 chip-ID: 10ec:8168 class-ID: 0200
IF: eno1 state: down mac: <filter>
Device-1: Foxconn / Hon Hai Wireless_Device driver: btusb v: 0.8 type: USB
rev: 2.1 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-3:3 chip-ID: 0489:e0d8
class-ID: e001 serial: <filter>
Report: btmgmt ID: hci0 rfk-id: 2 state: down bt-service: enabled,running
rfk-block: hardware: no software: yes address: <filter> bt-v: 5.2 lmp-v: 11
status: discoverable: no pairing: no
Local Storage: total: 953.87 GiB used: 22.63 GiB (2.4%)
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
model: MZVL21T0HCLR-00BL2 size: 953.87 GiB block-size: physical: 512 B
logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: CL1QGXA7 temp: 35.9 C scheme: GPT
SMART: yes health: PASSED on: 73d 14h cycles: 22,392
read-units: 76,815,112 [39.3 TB] written-units: 68,118,490 [34.8 TB]
ID-1: / raw-size: 117.19 GiB size: 117.19 GiB (100.00%)
used: 22.57 GiB (19.3%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p5
maj-min: 259:5
ID-2: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%)
used: 60.5 MiB (63.0%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p1
maj-min: 259:1
ID-3: /home raw-size: 117.19 GiB size: 117.19 GiB (100.00%)
used: 22.57 GiB (19.3%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p5
maj-min: 259:5
ID-4: /var/log raw-size: 117.19 GiB size: 117.19 GiB (100.00%)
used: 22.57 GiB (19.3%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p5
maj-min: 259:5
ID-5: /var/tmp raw-size: 117.19 GiB size: 117.19 GiB (100.00%)
used: 22.57 GiB (19.3%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p5
maj-min: 259:5
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 14.82 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16 dev: /dev/zram0
System Temperatures: cpu: 34.8 C mobo: N/A gpu: amdgpu temp: 33.0 C
Fan Speeds (rpm): N/A
Processes: 386 Uptime: 13m wakeups: 31802 Memory: total: 16 GiB note: est.
available: 14.82 GiB used: 6.77 GiB (45.7%) Init: systemd v: 254
default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages:
pm: pacman pkgs: 1407 libs: 352 tools: octopi,paru Shell: garuda-inxi (sudo)
default: Bash v: 5.1.16 running-in: konsole inxi: 3.3.30
Garuda (2.6.16-1):
System install date:     2023-09-12
Last full system update: 2023-09-29
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut nvidia-dkms
Windows dual boot:       Yes
Failed units:


There are tools that allow you to use more or less fingers it seems

Hmm i looked at libinput gestures for this (you can too just search it in application launcher) and it seems you can only have more than 3 fingers and not less…

I could be wrong though perhaps there is a way to bypass this :thinking:. Ah also any changes made here need a reboot to take effect.

1 Like

Ok, but is there any other tool to register my gestures? I remember that indeed Libinput doesn’t let you use swipes with less then 3 fingers.

Yes, there is syngestures

but I don’t know a lot about it like how well maintained it is or how good it is. It certainly says that

Introducing Syngestures

syngesture is a configurable, multi-device capable, and rust-powered userland daemon that brings basic multi-touch support for one-, two-, and three-finger gestures to the venerable xf86-input-synaptics driver. It is, of course, fully open-source and released under the MIT license.

paru -Si syngestures
Repository      : aur
Name            : syngestures
Version         : 1.0.1-4
Description     : Swipes and gestures for Linux with the MT multitouch protocol
URL             : https://github.com/mqudsi/syngesture
AUR URL         : https://aur.archlinux.org/packages/syngestures
Groups          : None
Licenses        : MIT
Provides        : None
Depends On      : evtest
Make Deps       : cargo  git
Check Deps      : None
Optional Deps   : wmctrl  xdotool
Conflicts With  : None
Maintainer      : begin-theadventu
Votes           : 0
Popularity      : 0
First Submitted : Sun, 28 Nov 2021 16:54:52 +0000
Last Modified   : Mon, 04 Sep 2023 21:41:02 +0000
Out Of Date     : No

It is only available in AUR and you would have to look up setting it up and everything yourself. It’s certainly not going to be a easy journey but good luck. :+1:

do you know if it lets using 2 fingers?

The value of each gesture’s type may be either swipe or tap; a numeric fingers parameter from 1 to 5 is required in both cases, but an additional direction (being one of right, left, up, or down) is required in case of swipe.

1 Like

Ooh, what SGS linked looks very clean :smiley:
There’s also this guide:

See what works best for you.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.