-
-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Touchegg can't see gesture events even though geisview can #524
Comments
Under the hood, Touchégg uses the libinput X11 driver. Have you configured your device to use a different driver? Geis is a "old" technology not maintained any more by Canonical/Ubuntu, my recommendation is to move to libinput if you can. |
How would I check that? |
The Xorg log seems to indicate that the touchscreen is on the libinput driver. [ 14.399] (II) config/udev: Adding input device WaveShare WS170120 (/dev/input/event0) 14.452] () WaveShare WS170120: (accel) acceleration factor: 2.000 |
Ah ok, it's a touchscreen. Could you attach the output of this command, please?
It should show your touchscreen after "A list of detected compatible devices will be displayed below". If it's not listed, please include:
When running Touchégg in client mode, you can set this flag to get more information:
|
Here is the output of journalctl -u touchegg -b -- Logs begin at Wed 2021-07-21 12:00:21 PDT, end at Tue 2021-09-14 17:50:53 PDT. -- touchegg --debug tells me that I need to delete the lockfile. After I delete the lockfile, I run touchegg --debug again but get only ouchégg v2.0.11. No further output is produced on performing simple pinch gestures (pinch has been defined in the .conf file attached to the initial post. |
Is there any more information that I can provide? |
Sorry for the delay answering. After some testing, running the client as In my case the pinch is recognized eventually if I try long enough. Is is your case? |
Thank you. I suppose that it isn't a problem with the files being in the right place or with communication between processes as the 3 finger and 4 finger swipes both seem to work. However, I don't see the pinch at all. Out of about 20 tries, I was able to see the two-finger tap only once. |
Here is a small update. It seems like two- and three-finger swipes work well. If I get the timing exactly right, I can manage the two-finger tap. I can't seem to manage the pinch regardless of how large or small the motion. Perhaps there is a way to configure the amount of time that touchegg allows between the first and second finger touch for the two-finger tap (the window is very small) and the manner in which the pinch is detected? |
I just created a pull request that should fix the issue (#530) Could you compile and test it? Here are instructions to compile the project: Let me know if you need help downloading the right code and I'll send you detailed instructions. |
Thank you. Unfortunately, I don't see any difference in results. I used to get the right set of sources and then proceeded to compile. Unfortunately, I seem to get the same results (no pinch and two-finger tap only when I get the timing just right). |
Sigh, ok, I didn't notice this line in your log, sorry about that 🤦♂️
The OS doesn't know the size of your screen so Touchégg fallbacks to a default size to calculate the gesture thresholds. Hopefully, there is a couple of options in place to fix this issue: The recommended values are:
For example, if your screen height is 100mm, this command should return:
Restart the daemon as explained in the README file and double check that the right thresholds are printed. Gestures should be recognized. It might be worth it to report the issue to the touchscreen vendor so they can fix it. |
Thank you. This change does cause pinches and double taps to be recognized, however they re recognized as two-finger swipes about 90% of the time. I'm not sure what type of logs would be useful for understanding this? |
libinput includes couple of tools that can help us to debug the problem. Please run the following command and attach the output:
The command will display a list of input devices and will ask you to select one, type the number of your touchscreen. Then, perform a 3 finger pinch and press Control+C to exit. Also, send me the thresholds you used in |
Thank you. I have recorded both a 2-finger pinch (diagonal from top right and bottom left towards the center) and a 3-finger pinch. |
Both records look fine. When you recorded the 3 finger pinch, where you able to execute the action associated to the gesture? Or was it a buggy gesture? What thresholds are you using? When I replay your 3 finger pinch record using For reference, I'm using 3 and 28 as thresholds as printed by:
And the client is able to detect the gesture:
|
The three-finger pinch produced a response, but the result was not clear and I was not running touchegg at the time. When I repeated the physical gesture under touchegg --debug, the three-finger pinch appeared as a two-finger swipe. I was using 3 and 13 as the thresholds. Threshold 3/13
Threshold 3/28
So, it looks like the three finger pinch did happen that time. I've recorded two additional files. The first includes give three-finger pinches and the second includes five two-finger pinches. One of the two-finger pinches does come through at 3/28, but the others are seen as different gestures. Threshold 3/7
|
Oops, I had meant to fill this in. It is based on the single-gesture files Threshold 3/7
|
Thanks for the recordings, they made easier to debug the issue. The "problem" seems to be that, unlike me, you usually keep a finger pinned at the beginning of the pinch gesture and my algorithm just failed to detect this case. I just pushed a fix to Let me know if that worked or there are any other case where it felt short, thanks! |
That makes a huge difference! The two-finger pinches in and out are now recognized quite well. |
What is your intent with respect to the two-finger touch? I have been trying to get them to touch the screen simultaneously, but wonder if that is wrong. |
Sweet! I'll tag a release with this improvements soon.
Do you mean tap gestures? https://github.com/JoseExposito/touchegg#tap It is not necessary to tap in the exact same moment, a bit of delay is allowed. Unfortunately, the mouse pointer is placed by X11, making difficult to right click precisely... Ideally, apps should implement long press to right click, but that's up to them. Closing the issue, unless you are experimenting issues with tap gestures. In that case, feel free to reopen it and attach a recording. |
System is Ubuntu Mate 20.04. Touchegg version is 2021-09100709-stable-2.0.11-ubuntu20.04.1 compiled from the github repository.
Touchegg is running as a daemon. Touchegg was previously configured to detect "pinch in" and "pinch out" using touche (see attached touchegg.conf).
When the touchegg client is run ("touchegg" with no parameters) and gestures are performed, the client produces no output. The expected behavior when running the touchegg client is for gesture events to be noted on the console.
Since geisview does see gesture inputs (tested with pinch), the device and driver are set up for multitouch.
The output of "geisview > pinch.txt" is attached. It represents the output of geisview during a single pinch.
pinch.txt
touchegg.conf.txt
The text was updated successfully, but these errors were encountered: