Closed Zatfer17 closed 3 years ago
Same here with Manjaro 20.2 KDE
Same here with Manjaro 20.2 KDE
I thought it was something related to the fact that Gestures comes preinstalled in Manjaro and so the two cannot coexist, but even after uninstalling it nothing changed :(
Hi!
How did you installed Touchégg? Using the AUR PKGBUILD? I'm not sure how it handles the systemd
intalation, so the first thing should be checking if the daemon is running. It should look like:
$ sudo systemctl status touchegg
● touchegg.service - Touchégg
Loaded: loaded (/lib/systemd/system/touchegg.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-12-19 14:05:21 CET; 4min 16s ago
If it is not running, you will need to start it:
$ sudo systemctl enable touchegg.service
$ sudo systemctl start touchegg
If it was running, could you copy and paste the output of the daemon please?
$ sudo systemctl restart touchegg && journalctl -u touchegg -b -f
This command will restart the daemon and show the logs.
Hi!
How did you installed Touchégg? Using the AUR PKGBUILD? I'm not sure how it handles the
systemd
intalation, so the first thing should be checking if the daemon is running. It should look like:$ sudo systemctl status touchegg ● touchegg.service - Touchégg Loaded: loaded (/lib/systemd/system/touchegg.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-12-19 14:05:21 CET; 4min 16s ago
If it is not running, you will need to start it:
$ sudo systemctl enable touchegg.service $ sudo systemctl start touchegg
If it was running, could you copy and paste the output of the daemon please?
$ sudo systemctl restart touchegg && journalctl -u touchegg -b -f
This command will restart the daemon and show the logs.
Hi, I confirm you that it was not running. Doing what you suggested worked like a charm and now gestures are up and running! Thank you! I would suggest to edit the readme for the Manjaro installation. Have a nice day!
I'm have not use Arch Linux that much, but, should it be possible to add this step to the PKGBUILD? It makes sense to me to start the service on install. @jbouter ??
I'm not 100% sure, but I don't think any of the regular systemd daemons are enabled and started by default on Arch. I'll check on the #archlinux
IRC channel.
Yeah, so no services are started and enabled by default on Arch. However, upon installation of the AUR package the following is shown on the user's terminal:
Enable & start the daemon:
systemctl enable --now touchegg
And post-upgrade, the following is shown:
Restart daemon:
systemctl daemon-reload && systemctl restart touchegg
Cool! Thanks a lot for clarifying this @jbouter. If this is how it works on Arch I'm happy with it.
Still doesn't work for me :/
sudo systemctl restart touchegg && journalctl -u touchegg -b -f
[sudo] password for nataniel:
-- Logs begin at Sat 2020-06-27 11:55:09 CEST. --
déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Starting Touchégg in daemon mode
déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Starting daemon server...
déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Server started
déc 20 10:32:45 manjaro-nataniel touchegg[45225]: A list of detected compatible devices will be displayed below:
déc 20 10:32:54 manjaro-nataniel touchegg[45225]: New client connected with ID: 8
déc 20 10:46:14 manjaro-nataniel touchegg[45225]: New client connected with ID: 19
déc 20 10:46:52 manjaro-nataniel systemd[1]: Stopping Touchégg...
déc 20 10:46:53 manjaro-nataniel systemd[1]: touchegg.service: Succeeded.
déc 20 10:46:53 manjaro-nataniel systemd[1]: Stopped Touchégg.
déc 20 10:46:53 manjaro-nataniel systemd[1]: Started Touchégg.
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Touchégg v2.0.4.
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Usage: touchegg [--daemon [threshold animation_finish_threshold]] [--client]
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Multi-touch gesture recognizer.
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Touchégg is an app that runs in the background and transform the gestures you make on your touchpad into visible actions in your desktop.
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: For more information please visit:
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: https://github.com/JoseExposito/touchegg
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Option Meaning
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: --daemon Run Touchégg in daemon mode. This mode starts a service that gathers gestures but executes no actions
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: --client Connect to an existing Touchégg daemon and execute actions in your desktop
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Without arguments Touchégg starts in client mode
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Starting Touchégg in daemon mode
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Starting daemon server...
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Server started
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: A list of detected compatible devices will be displayed below:
déc 20 10:46:57 manjaro-nataniel touchegg[158350]: New client connected with ID: 8
sudo systemctl restart touchegg && journalctl -u touchegg -b -f
[sudo] password for nataniel:
-- Logs begin at Sat 2020-06-27 11:55:09 CEST. --
déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Starting Touchégg in daemon mode
déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Starting daemon server...
déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Server started
déc 20 10:32:45 manjaro-nataniel touchegg[45225]: A list of detected compatible devices will be displayed below:
déc 20 10:32:54 manjaro-nataniel touchegg[45225]: New client connected with ID: 8
déc 20 10:46:14 manjaro-nataniel touchegg[45225]: New client connected with ID: 19
déc 20 10:46:52 manjaro-nataniel systemd[1]: Stopping Touchégg...
déc 20 10:46:53 manjaro-nataniel systemd[1]: touchegg.service: Succeeded.
déc 20 10:46:53 manjaro-nataniel systemd[1]: Stopped Touchégg.
déc 20 10:46:53 manjaro-nataniel systemd[1]: Started Touchégg.
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Touchégg v2.0.4.
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Usage: touchegg [--daemon [threshold animation_finish_threshold]] [--client]
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Multi-touch gesture recognizer.
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Touchégg is an app that runs in the background and transform the gestures you make on your touchpad into visible actions in your desktop.
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: For more information please visit:
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: https://github.com/JoseExposito/touchegg
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Option Meaning
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: --daemon Run Touchégg in daemon mode. This mode starts a service that gathers gestures but executes no actions
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: --client Connect to an existing Touchégg daemon and execute actions in your desktop
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Without arguments Touchégg starts in client mode
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Starting Touchégg in daemon mode
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Starting daemon server...
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Server started
déc 20 10:46:53 manjaro-nataniel touchegg[158350]: A list of detected compatible devices will be displayed below:
déc 20 10:46:57 manjaro-nataniel touchegg[158350]: New client connected with ID: 8
Still doesn't work for me :/
sudo systemctl restart touchegg && journalctl -u touchegg -b -f [sudo] password for nataniel: -- Logs begin at Sat 2020-06-27 11:55:09 CEST. -- déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Starting Touchégg in daemon mode déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Starting daemon server... déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Server started déc 20 10:32:45 manjaro-nataniel touchegg[45225]: A list of detected compatible devices will be displayed below: déc 20 10:32:54 manjaro-nataniel touchegg[45225]: New client connected with ID: 8 déc 20 10:46:14 manjaro-nataniel touchegg[45225]: New client connected with ID: 19 déc 20 10:46:52 manjaro-nataniel systemd[1]: Stopping Touchégg... déc 20 10:46:53 manjaro-nataniel systemd[1]: touchegg.service: Succeeded. déc 20 10:46:53 manjaro-nataniel systemd[1]: Stopped Touchégg. déc 20 10:46:53 manjaro-nataniel systemd[1]: Started Touchégg. déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Touchégg v2.0.4. déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Usage: touchegg [--daemon [threshold animation_finish_threshold]] [--client] déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Multi-touch gesture recognizer. déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Touchégg is an app that runs in the background and transform the gestures you make on your touchpad into visible actions in your desktop. déc 20 10:46:53 manjaro-nataniel touchegg[158350]: For more information please visit: déc 20 10:46:53 manjaro-nataniel touchegg[158350]: https://github.com/JoseExposito/touchegg déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Option Meaning déc 20 10:46:53 manjaro-nataniel touchegg[158350]: --daemon Run Touchégg in daemon mode. This mode starts a service that gathers gestures but executes no actions déc 20 10:46:53 manjaro-nataniel touchegg[158350]: --client Connect to an existing Touchégg daemon and execute actions in your desktop déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Without arguments Touchégg starts in client mode déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Starting Touchégg in daemon mode déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Starting daemon server... déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Server started déc 20 10:46:53 manjaro-nataniel touchegg[158350]: A list of detected compatible devices will be displayed below: déc 20 10:46:57 manjaro-nataniel touchegg[158350]: New client connected with ID: 8 sudo systemctl restart touchegg && journalctl -u touchegg -b -f [sudo] password for nataniel: -- Logs begin at Sat 2020-06-27 11:55:09 CEST. -- déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Starting Touchégg in daemon mode déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Starting daemon server... déc 20 10:32:45 manjaro-nataniel touchegg[45225]: Server started déc 20 10:32:45 manjaro-nataniel touchegg[45225]: A list of detected compatible devices will be displayed below: déc 20 10:32:54 manjaro-nataniel touchegg[45225]: New client connected with ID: 8 déc 20 10:46:14 manjaro-nataniel touchegg[45225]: New client connected with ID: 19 déc 20 10:46:52 manjaro-nataniel systemd[1]: Stopping Touchégg... déc 20 10:46:53 manjaro-nataniel systemd[1]: touchegg.service: Succeeded. déc 20 10:46:53 manjaro-nataniel systemd[1]: Stopped Touchégg. déc 20 10:46:53 manjaro-nataniel systemd[1]: Started Touchégg. déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Touchégg v2.0.4. déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Usage: touchegg [--daemon [threshold animation_finish_threshold]] [--client] déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Multi-touch gesture recognizer. déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Touchégg is an app that runs in the background and transform the gestures you make on your touchpad into visible actions in your desktop. déc 20 10:46:53 manjaro-nataniel touchegg[158350]: For more information please visit: déc 20 10:46:53 manjaro-nataniel touchegg[158350]: https://github.com/JoseExposito/touchegg déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Option Meaning déc 20 10:46:53 manjaro-nataniel touchegg[158350]: --daemon Run Touchégg in daemon mode. This mode starts a service that gathers gestures but executes no actions déc 20 10:46:53 manjaro-nataniel touchegg[158350]: --client Connect to an existing Touchégg daemon and execute actions in your desktop déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Without arguments Touchégg starts in client mode déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Starting Touchégg in daemon mode déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Starting daemon server... déc 20 10:46:53 manjaro-nataniel touchegg[158350]: Server started déc 20 10:46:53 manjaro-nataniel touchegg[158350]: A list of detected compatible devices will be displayed below: déc 20 10:46:57 manjaro-nataniel touchegg[158350]: New client connected with ID: 8
Make sure you are on Xorg and not on Wayland, Manajro runs by default on Wayland, this could be one reason. Otherwise maybe try uninstalling Gestures and libinput packages, which may be conflicting
Yes I made sure! I'm definitely on X
Well I give up :( Ball to the creator
A list of detected compatible devices will be displayed below:
I doesn't look like any device was detected. Can you check if your device is detected by libinput
, please?
$ sudo libinput list-devices
In Ubuntu, that command is installed with the libinput-tools
package.
Your touchscreen or touchpad should be listed there.
Mmh weird because my touchpad works great from day 0! Here's what libinput say:
Device: Power Button
Kernel: /dev/input/event2
Group: 1
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Video Bus
Kernel: /dev/input/event10
Group: 2
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Video Bus
Kernel: /dev/input/event11
Group: 2
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Lid Switch
Kernel: /dev/input/event0
Group: 3
Seat: seat0, default
Capabilities: switch
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Sleep Button
Kernel: /dev/input/event1
Group: 4
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Audient iD4
Kernel: /dev/input/event21
Group: 5
Seat: seat0, default
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: button
Click methods: none
Disable-w-typing: n/a
Accel profiles: flat *adaptive
Rotation: n/a
Device: Integrated Camera: Integrated C
Kernel: /dev/input/event20
Group: 6
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: Logitech M315/M235
Kernel: /dev/input/event19
Group: 7
Seat: seat0, default
Capabilities: keyboard pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: button
Click methods: none
Disable-w-typing: n/a
Accel profiles: flat *adaptive
Rotation: n/a
Device: AT Translated Set 2 keyboard
Kernel: /dev/input/event3
Group: 8
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
Device: SynPS/2 Synaptics TouchPad
Kernel: /dev/input/event12
Group: 9
Seat: seat0, default
Size: 67x36mm
Capabilities: pointer
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: none
Disable-w-typing: enabled
Accel profiles: flat *adaptive
Rotation: n/a
Device: TPPS/2 IBM TrackPoint
Kernel: /dev/input/event18
Group: 10
Seat: seat0, default
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: *button
Click methods: none
Disable-w-typing: n/a
Accel profiles: flat *adaptive
Rotation: n/a
Device: ThinkPad Extra Buttons
Kernel: /dev/input/event5
Group: 11
Seat: seat0, default
Capabilities: keyboard
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: n/a
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
OK, so the issue is with how you touchpad is handled by libinput:
Device: SynPS/2 Synaptics TouchPad
Kernel: /dev/input/event12
Group: 9
Seat: seat0, default
Size: 67x36mm
Capabilities: pointer
The capabilities section only shows pointer, and it should display gesture. This means that, either your touchpad doesn't support multitouch or, most likely, it is being handled by the Synaptics driver, instead of by the libinput driver.
Have a look to the Arch Linux wiki to know how to configure libinput: https://wiki.archlinux.org/index.php/Libinput
Okay thanks, I installed libinput but nothing happens anyway, so I'm giving up (I learned to give up, don't want to spend hours on it just to have cool gestures...). Thanks anyway for trying!
Yep, Arch can be really difficult, I totally understand you 😆
Okay thanks, I installed libinput but nothing happens anyway, so I'm giving up (I learned to give up, don't want to spend hours on it just to have cool gestures...). Thanks anyway for trying!
Hey @Leinatan, if it's not too late, I'd like to chime in. I forcefully enable my touchpad to use libinput by creating the following file:
/etc/X11/xorg.conf.d/10-libinput.conf
With the following content:
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
If the /etc/X11/xorg.conf.d
directory does not exist, just create it. It does take a restart of xorg to get it to load, so I'd suggest rebooting after you've created the config file.
I recommend installing xdotool
, wmctrl
and libinput
as well:
sudo pacman -S xdotool wmctrl libinput
Hope this helps! And if not, please let me know!
@jbouter thank you for helping! Sorry I dit wait almost one month before re-trying.
I created /etc/X11/xorg.conf.d/10-libinput.conf
and populated it with the content, installed the recommended packages, rebooted, but it's still not working ;(
Running sudo systemctl status touchegg
outputs the following:
touchegg.service - Touchégg
Loaded: loaded (/usr/lib/systemd/system/touchegg.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2021-01-15 10:51:38 CET; 2min 17s ago
Main PID: 574 (touchegg)
Tasks: 2 (limit: 18839)
Memory: 11.8M
CGroup: /system.slice/touchegg.service
└─574 /usr/bin/touchegg --daemon
jan 15 10:51:38 nataniel-manjaro touchegg[574]: https://github.com/JoseExposito/touchegg
jan 15 10:51:38 nataniel-manjaro touchegg[574]: Option Meaning
jan 15 10:51:38 nataniel-manjaro touchegg[574]: --daemon Run Touchégg in daemon mode. This mode starts a service that gathers gestures but exe>
jan 15 10:51:38 nataniel-manjaro touchegg[574]: --client Connect to an existing Touchégg daemon and execute actions in your desktop
jan 15 10:51:38 nataniel-manjaro touchegg[574]: Without arguments Touchégg starts in client mode
jan 15 10:51:38 nataniel-manjaro touchegg[574]: Starting Touchégg in daemon mode
jan 15 10:51:38 nataniel-manjaro touchegg[574]: Starting daemon server...
jan 15 10:51:38 nataniel-manjaro touchegg[574]: Server started
jan 15 10:51:38 nataniel-manjaro touchegg[574]: A list of detected compatible devices will be displayed below:
jan 15 10:51:44 nataniel-manjaro touchegg[574]: New client connected with ID: 6
...skipping...
● touchegg.service - Touchégg
Loaded: loaded (/usr/lib/systemd/system/touchegg.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2021-01-15 10:51:38 CET; 2min 17s ago
Main PID: 574 (touchegg)
Tasks: 2 (limit: 18839)
Memory: 11.8M
CGroup: /system.slice/touchegg.service
└─574 /usr/bin/touchegg --daemon
jan 15 10:51:38 nataniel-manjaro touchegg[574]: https://github.com/JoseExposito/touchegg
jan 15 10:51:38 nataniel-manjaro touchegg[574]: Option Meaning
jan 15 10:51:38 nataniel-manjaro touchegg[574]: --daemon Run Touchégg in daemon mode. This mode starts a service that gathers gestures but exe>
jan 15 10:51:38 nataniel-manjaro touchegg[574]: --client Connect to an existing Touchégg daemon and execute actions in your desktop
jan 15 10:51:38 nataniel-manjaro touchegg[574]: Without arguments Touchégg starts in client mode
jan 15 10:51:38 nataniel-manjaro touchegg[574]: Starting Touchégg in daemon mode
jan 15 10:51:38 nataniel-manjaro touchegg[574]: Starting daemon server...
jan 15 10:51:38 nataniel-manjaro touchegg[574]: Server started
jan 15 10:51:38 nataniel-manjaro touchegg[574]: A list of detected compatible devices will be displayed below:
jan 15 10:51:44 nataniel-manjaro touchegg[574]: New client connected with ID: 6
~
~
~
@Leinatan Is the client side of touchegg running?
It seems yes, that's what happens when I run touchegg
:
[nataniel@nataniel-manjaro ~]$ touchegg
Touchégg v2.0.5.
Usage: touchegg [--daemon [start_threshold finish_threshold]] [--client]
Multi-touch gesture recognizer.
Touchégg is an app that runs in the background and transform the gestures you make on your touchpad into visible actions in your desktop.
For more information please visit:
https://github.com/JoseExposito/touchegg
Option Meaning
--daemon Run Touchégg in daemon mode. This mode starts a service that gathers gestures but executes no actions
--client Connect to an existing Touchégg daemon and execute actions in your desktop
Without arguments Touchégg starts in client mode
Starting Touchégg in client mode
terminate called after throwing an instance of 'std::runtime_error'
what(): Another instance of Touchégg is already running. If you are sure that Touchégg is not already running, delete the lock file with the following command and try again:
$ rm /home/nataniel/.config/touchegg/.touchegg.lock
Aborted (core dumped)
Could you try killing the running touchegg and starting your own in the terminal. Then try some gestures on your touchpad and see if it shows in the terminal.
Okay I did that, and it shows plain nothing in the terminal!
I'm assuming then that touchegg
works, but is simply still not getting any input from your touchpad. This is most likely because your touchpad still isn't using libinput
(meaning the xorg config I recommended earlier isn't working).
Could you try running the following two commands:
First, check your connected devices using xinput list
. It'll give output like such:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=13 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech TrackPoint id=14 [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)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=10 [slave keyboard (3)]
↳ Integrated Camera: Integrated I id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)]
In above example (my systems' output) my touchpad (ETPS/2 Elantech Touchpad) has an ID
of 13. Going on that (adjust the ID to your output), execute xinput list-props 13
.
If the device is using libinput
, output will look as such:
Device 'ETPS/2 Elantech Touchpad':
Device Enabled (162): 1
Coordinate Transformation Matrix (164): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (297): 1
libinput Tapping Enabled Default (298): 0
libinput Tapping Drag Enabled (299): 1
libinput Tapping Drag Enabled Default (300): 1
libinput Tapping Drag Lock Enabled (301): 0
libinput Tapping Drag Lock Enabled Default (302): 0
libinput Tapping Button Mapping Enabled (303): 1, 0
libinput Tapping Button Mapping Default (304): 1, 0
libinput Natural Scrolling Enabled (305): 1
libinput Natural Scrolling Enabled Default (306): 0
libinput Disable While Typing Enabled (307): 1
libinput Disable While Typing Enabled Default (308): 1
libinput Scroll Methods Available (309): 1, 1, 0
libinput Scroll Method Enabled (310): 1, 0, 0
libinput Scroll Method Enabled Default (311): 1, 0, 0
libinput Click Methods Available (312): 1, 1
libinput Click Method Enabled (313): 0, 1
libinput Click Method Enabled Default (314): 1, 0
libinput Middle Emulation Enabled (315): 0
libinput Middle Emulation Enabled Default (316): 0
libinput Accel Speed (317): 0.200000
libinput Accel Speed Default (318): 0.000000
libinput Accel Profiles Available (319): 1, 1
libinput Accel Profile Enabled (320): 1, 0
libinput Accel Profile Enabled Default (321): 1, 0
libinput Left Handed Enabled (322): 0
libinput Left Handed Enabled Default (323): 0
libinput Send Events Modes Available (282): 1, 1
libinput Send Events Mode Enabled (283): 0, 0
libinput Send Events Mode Enabled Default (284): 0, 0
Device Node (285): "/dev/input/event6"
Device Product ID (286): 2, 14
libinput Drag Lock Buttons (324): <no items>
libinput Horizontal Scroll Enabled (325): 1
Thanks!
xinput list command isn't recognized though.
$ xinput list
bash: xinput: command not found
$ sudo pacman -S xinput
[sudo] password for nataniel:
error: target not found: xinput
EDIT: I found the package in pamac,
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Comfort Curve Keyboard 3000 id=10 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎜ ↳ Logitech M315/M235 id=11 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=14 [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)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Microsoft Comfort Curve Keyboard 3000 id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)]
↳ Microsoft Comfort Curve Keyboard 3000 id=16 [slave keyboard (3)]
↳ Logitech M315/M235 id=17 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=18 [slave keyboard (3)]
$ xinput list-props 13
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (130): 1
Coordinate Transformation Matrix (132): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (287): 1
libinput Tapping Enabled Default (288): 0
libinput Tapping Drag Enabled (289): 1
libinput Tapping Drag Enabled Default (290): 1
libinput Tapping Drag Lock Enabled (291): 0
libinput Tapping Drag Lock Enabled Default (292): 0
libinput Tapping Button Mapping Enabled (293): 1, 0
libinput Tapping Button Mapping Default (294): 1, 0
libinput Natural Scrolling Enabled (267): 1
libinput Natural Scrolling Enabled Default (268): 0
libinput Disable While Typing Enabled (295): 1
libinput Disable While Typing Enabled Default (296): 1
libinput Scroll Methods Available (271): 1, 1, 0
libinput Scroll Method Enabled (272): 1, 0, 0
libinput Scroll Method Enabled Default (273): 1, 0, 0
libinput Accel Speed (280): 0.200000
libinput Accel Speed Default (281): 0.000000
libinput Accel Profiles Available (282): 1, 1
libinput Accel Profile Enabled (283): 1, 0
libinput Accel Profile Enabled Default (284): 1, 0
libinput Left Handed Enabled (285): 0
libinput Left Handed Enabled Default (286): 0
libinput Send Events Modes Available (252): 1, 1
libinput Send Events Mode Enabled (253): 0, 0
libinput Send Events Mode Enabled Default (254): 0, 0
Device Node (255): "/dev/input/event15"
Device Product ID (256): 2, 7
libinput Drag Lock Buttons (269): <no items>
libinput Horizontal Scroll Enabled (270): 1
sudo pacman -S xorg-xinput
Ok I edited my previous post with the outputs of xinput! ;)
Mhh, running touchegg
doesn't work anymore:
$ touchegg --client
Touchégg v2.0.5.
Usage: touchegg [--daemon [start_threshold finish_threshold]] [--client]
Multi-touch gesture recognizer.
Touchégg is an app that runs in the background and transform the gestures you make on your touchpad into visible actions in your desktop.
For more information please visit:
https://github.com/JoseExposito/touchegg
Option Meaning
--daemon Run Touchégg in daemon mode. This mode starts a service that gathers gestures but executes no actions
--client Connect to an existing Touchégg daemon and execute actions in your desktop
Without arguments Touchégg starts in client mode
Starting Touchégg in client mode
Parsing you configuration file...
Using configuration file "/usr/share/touchegg/touchegg.conf"
Configuration parsed successfully
Connecting to Touchégg daemon...
Connection with Touchégg daemon lost. Reconnecting in 5 seconds...
Connection with Touchégg daemon lost. Reconnecting in 5 seconds...
Connection with Touchégg daemon lost. Reconnecting in 5 seconds...
Connection with Touchégg daemon lost. Reconnecting in 5 seconds...
Connection with Touchégg daemon lost. Reconnecting in 5 seconds...
Connection with Touchégg daemon lost. Reconnecting in 5 seconds...
Connection with Touchégg daemon lost. Reconnecting in 5 seconds...
And
$ sudo systemctl status touchegg
[sudo] password for nataniel:
Sorry, try again.
[sudo] password for nataniel:
● touchegg.service - Touchégg
Loaded: loaded (/usr/lib/systemd/system/touchegg.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Sat 2021-01-16 11:12:58 CET; 3min 7s ago
Process: 551 ExecStart=/usr/bin/touchegg --daemon (code=killed, signal=TERM)
Main PID: 551 (code=killed, signal=TERM)
jan 16 11:07:42 nataniel-manjaro touchegg[551]: Option Meaning
jan 16 11:07:42 nataniel-manjaro touchegg[551]: --daemon Run Touchégg in daemon mode. This mode starts a servic>
jan 16 11:07:42 nataniel-manjaro touchegg[551]: --client Connect to an existing Touchégg daemon and execute act>
jan 16 11:07:42 nataniel-manjaro touchegg[551]: Without arguments Touchégg starts in client mode
jan 16 11:07:42 nataniel-manjaro touchegg[551]: Starting Touchégg in daemon mode
jan 16 11:07:42 nataniel-manjaro touchegg[551]: Starting daemon server...
jan 16 11:07:42 nataniel-manjaro touchegg[551]: Server started
jan 16 11:07:42 nataniel-manjaro touchegg[551]: A list of detected compatible devices will be displayed below:
jan 16 11:07:49 nataniel-manjaro touchegg[551]: New client connected with ID: 6
jan 16 11:12:58 nataniel-manjaro systemd[1]: touchegg.service: Succeeded.
Has the line " New client connected with ID: 6" something to do with the xinput ID (which should be 13, as in your case)?
This is really interesting! I have found that the touchegg daemon can possibly crash when disconnecting the client-side application. You can restart it using sudo systemctl restart touchegg
. The ID should indeed by 13, but not because it is the case with me, but your entry also shows ID
as 13:
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
@JoseExposito do you have any other recommendations? It shows the touchpad is using libinput but it doesn't seem to register?
Yeah I meant it should be 13, and by chance it's the same as you (I have a thinkpad t530, maybe you do too?)
Ok I could successfully restart touchegg with systemctl! (But it's still not working). Okay, well I'm happy you find this interesting haha XD Hopefully there is a solution, and if not, let's not spend too much time and energy on it ;)
The order in starting is a bit interesting sometimes.
Thinkpad T495s here, so I'm not surprised it's identical! But I do think the ID can vary based on connected devices (and order of connecting).
On a more debugging note, is your user member of the input
group?
$ groups
sys network power lp audio wheel autologin nataniel
It seems not!
Try the following, where <username>
(obviously) is your own username.
sudo usermod -aG input <username>
You need to log in to your desktop environment again in order for the group to load globally. If you don't want to log in again, you can use newgrp input
and in the same terminal session start the touchegg
client again.
No luck ;(
This is really interesting! I have found that the touchegg daemon can possibly crash when disconnecting the client-side application. You can restart it using sudo systemctl restart touchegg
Yes, it is a bug that seems to happen in Arch, probably because of a newer kernel. It was already solved: https://github.com/JoseExposito/touchegg/pull/424
On a more debugging note, is your user member of the input group?
There is no need to add your user to the input group. It is actually not recommended, as it represents a security issue because then, any program you run will have access to your keyboard input. The daemon runs as part of that group exposing only the required bits in a secure manner: https://github.com/JoseExposito/touchegg/blob/master/installation/touchegg.service#L7
@Leinatan I can think of 2 issues.
The first one could be that your touchpad is not using the libinput driver, but I think that the configuration Jeffrey gave you is correct. Just in case, let's double check it:
$ grep -e "input driver" /var/log/Xorg.0.log
[...]
[ 724.554] (II) Using input driver 'libinput' for 'Apple Inc. Magic Trackpad 2'
If your touchpad is handled by libinput, then the other possible issue is that it is not being recognized as a multi-touch device:
$ sudo libinput list-devices
[...]
Device: Apple Inc. Magic Trackpad 2
Kernel: /dev/input/event19
Group: 5
Seat: seat0, default
Size: 162x115mm
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: n/a
Accel profiles: none
Rotation: n/a
[...]
The Capabilities
property must include gesture
, otherwise Touchégg is not going to be able to handle your device.
In that case, you'll need to report the issue in the libinput project.
Another easy way of testing that libinput is recognizing your gestures is by running the following command and performing a swipe gesture:
$ sudo libinput debug-events
[...]
event19 GESTURE_SWIPE_BEGIN +3.460s 3
event19 GESTURE_SWIPE_UPDATE +3.460s 3 7.11/ 0.67 (28.48/ 2.68 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.471s 3 9.86/ 1.28 (36.86/ 4.77 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.482s 3 11.28/ 1.84 (42.16/ 6.86 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.494s 3 13.60/ 2.63 (50.82/ 9.84 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.505s 3 10.31/ 2.31 (38.53/ 8.65 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.516s 3 12.77/ 3.19 (47.75/11.93 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.527s 3 11.58/ 3.03 (43.28/11.33 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.538s 3 12.62/ 3.51 (47.19/13.12 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.549s 3 8.44/ 1.99 (31.55/ 7.46 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.561s 3 5.45/ 1.44 (20.38/ 5.37 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.572s 3 7.77/ 2.15 (29.04/ 8.05 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.583s 3 5.75/ 1.36 (21.50/ 5.07 unaccelerated)
event19 GESTURE_SWIPE_UPDATE +3.594s 3 5.23/ 1.20 (19.55/ 4.47 unaccelerated)
event19 GESTURE_SWIPE_END +3.627s 3
[...]
That's is the output of a 3 fingers swipe. If that works, Touchégg should work as well. Let's see what we can find :smile:
The Capabilities property must include gesture, otherwise Touchégg is not going to be able to handle your device. In that case, you'll need to report the issue in the libinput project.
Well I think we found the culprit! It's only capable of being a pointer
. Thanks @JoseExposito and @jbouter for your help! Unfortunately I'll leave it there, having gestures is not my top priority at the moment ;)
Describe the bug
Gestures are not detected, indeed that's what appears in terminal when running touchegg: Connection with Touchégg daemon lost. Reconnecting in 5 seconds...
Your environment
Touchégg v2.0.4. Manjaro 20.2 Gnome