bulletmark / libinput-gestures

Actions gestures on your touchpad using libinput
3.9k stars 242 forks source link

Pinch and swap interferences — Gesture's sensitivity #91

Closed Asphahyre closed 7 years ago

Asphahyre commented 7 years ago

I'm using libinput-gestures for two weeks now. I used it under Fedora (Gnome + Wayland) most of the time; since I finished installing my Gentoo I am now using it under Gentoo (Gnome 3.22 + X), with the same configuration.

However, it seems I ran into a few issues that change my experience from Fedora. Indeed, when I swap left or right (tab switching via Ctrl+Pg. Up/Down), libinput-gestures misinterpret my gesture for a pinch in/out.

As the problem wasn't here when I used it from Fedora, I supposed it comes from an obscure configuration file which may or may not come from libinput-gestures.

Here the tests I did multiples swap to the left (I kept my gestures as simple as possible):

libinput-gestures: PINCH in 3 0.030000000000000027
   xdotool key control+w
 libinput-gestures -d
libinput-gestures: SWIPE left 3 [-494.93999999999994, -5.79]
   xdotool key control+Page_Up
libinput-gestures: PINCH out 3 -0.17000000000000015
   xdotool key control+t
 libinput-gestures -d
libinput-gestures: PINCH out 3 -0.020000000000000018
   xdotool key control+t
 libinput-gestures -d
libinput-gestures: SWIPE left 3 [-624.3, 13.89]
   xdotool key control+Page_Up
 libinput-gestures -d
libinput-gestures: PINCH out 3 -0.20000000000000018
   xdotool key control+t
 libinput-gestures -d
libinput-gestures: SWIPE left 3 [-594.3, -68.31]
   xdotool key control+Page_Up
libinput-gestures: SWIPE left 3 [-485.57000000000005, 23.16]
   xdotool key control+Page_Up
 libinput-gestures -d
libinput-gestures: PINCH out 3 -0.16000000000000014
   xdotool key control+t
 libinput-gestures -d
libinput-gestures: SWIPE left 3 [-504.30999999999995, -122.74000000000001]
   xdotool key control+Page_Up
 libinput-gestures -d

It seems to be a bit too sensitive (when I pinch in/out, the intensity is under -0.3 or above 0.3; in this example it even recognizes intensities around 0.03).

I may have missed something in the configuration but I didn't found where to change that.

Anyway, do you know why the setup is better by default on Fedora than on Gentoo?

Thanks in advance for you answers, and congratulations for this amazing lib ;)

bulletmark commented 7 years ago

It is much clearer about your environment and your configuration if you simply paste the output of libinput-gestures -e and libinput-gestures -l here (as per step 7 of trouble shooting section). Ideally, paste those for both Fedora and Gentoo.

I don't see why it wouldn't work as well on Gentoo other than given you are using an old version of GNOME you are probably also using an old version of libinput as well.

vetalball commented 7 years ago

Hello @bulletmark, Thank you for working on this package. This is the only way I succeeded to enable multitouch on my Xiaomi Mi Notebook Air ‎13 on Ubuntu 16.04. However, I'm experiencing the same issue as @Asphahyre. About a half of my SWIPE gestures by 3 or 4 fingers are misinterpreting as a pinch in/out. here are outputs of: libinput-gestures -e

libinput-gestures: device /dev/input/event6: SynPS/2 Synaptics TouchPad
libinput-gestures: session ubuntu+x11 on Linux-4.8.0-56-generic-x86_64-with-Ubuntu-16.04-xenial, python 3.5.2, libinput 1.2.3
libinput-gestures: using ~/.config/libinput-gestures.conf with 4 gestures

libinput-gestures -l

Gestures configured in ~/.config/libinput-gestures.conf:
swipe left       <not configured>
swipe right      <not configured>
swipe up         <not configured>
swipe down       <not configured>
swipe left_up    <not configured>
swipe right_up   <not configured>
swipe left_down  <not configured>
swipe right_down <not configured>
pinch in         <not configured>
pinch out        <not configured>
pinch clockwise  <not configured>
pinch anticlockwise <not configured>

In my ~/.config/libinput-gestures.conf I've commened most of all default options and enabled these:

gesture swipe up    3   xdotool key ctrl+alt+Up
gesture swipe down  3   xdotool key ctrl+alt+Down
gesture swipe left  3   xdotool key ctrl+alt+Left
gesture swipe right 3   xdotool key ctrl+alt+Right

They works, but in about a half of tries: libinput-gestures -d (3 fingers, 5 tries for each direcction)

libinput-gestures: device /dev/input/event6: SynPS/2 Synaptics TouchPad
libinput-gestures: session ubuntu+x11 on Linux-4.8.0-56-generic-x86_64-with-Ubuntu-16.04-xenial, python 3.5.2, libinput 1.2.3

libinput-gestures: using ~/.config/libinput-gestures.conf with 4 gestures
libinput-gestures: PINCH out 3 [0.16000000000000014, 6.4399999999999995]
libinput-gestures: SWIPE right 3 [2521.6, 316.36]
   xdotool key ctrl+alt+Right
libinput-gestures: PINCH out 3 [1.2400000000000009, 13.1]
libinput-gestures: PINCH in 3 [-0.050000000000000044, 9.009999999999998]
libinput-gestures: SWIPE right 3 [2120.71, 248.53000000000003]
   xdotool key ctrl+alt+Right

libinput-gestures: SWIPE left 3 [-1586.83, 329.72999999999996]
   xdotool key ctrl+alt+Left
libinput-gestures: PINCH out 3 [1.7599999999999998, -6.13]
libinput-gestures: SWIPE left 3 [-1343.3799999999999, 27.77]
   xdotool key ctrl+alt+Left
libinput-gestures: PINCH out 3 [1.8499999999999996, -4.16]
libinput-gestures: SWIPE left 3 [-1115.81, 42.9]
   xdotool key ctrl+alt+Left

libinput-gestures: PINCH out 3 [1.19, 0.6300000000000003]
libinput-gestures: PINCH out 3 [0.3200000000000003, 3.49]
libinput-gestures: SWIPE up 3 [-220.38, -839.4300000000001]
   xdotool key ctrl+alt+Up
libinput-gestures: SWIPE up 3 [84.48000000000002, -1496.0700000000002]
   xdotool key ctrl+alt+Up
libinput-gestures: SWIPE up 3 [-81.62, -725.18]
   xdotool key ctrl+alt+Up

libinput-gestures: SWIPE down 3 [-96.01, 1599.4099999999999]
   xdotool key ctrl+alt+Down
libinput-gestures: SWIPE down 3 [17.76, 1516.45]
   xdotool key ctrl+alt+Down
libinput-gestures: SWIPE down 3 [57.140000000000015, 1667.2700000000002]
   xdotool key ctrl+alt+Down
libinput-gestures: SWIPE down 3 [187.73, 1631.4099999999999]
   xdotool key ctrl+alt+Down
libinput-gestures: SWIPE down 3 [69.15, 1447.9]
   xdotool key ctrl+alt+Down

Could you please assist with the configuration of this sensitiveness?

bulletmark commented 7 years ago

The discrimination of is a SWIPE or PINCH is completely done by libinput before it gets to this program. Type the following to stop libinput-gestures and just see the underlying libinput raw messages.

libinput-gestures-setup stop
libinput-gestures -r

Then do some swipes and pinches. Those text messages you then see are coming unedited from libinput-debug-events so if libinput reports some of your pinches as swipes then sorry but there is little I can do about it.

vetalball commented 7 years ago

Yes, they are misinterpreting there as well. Understood. Thanks.

bulletmark commented 7 years ago

No response from OP.