Code Monkey home page Code Monkey logo

syngesture's Issues

can't add permanent configuration

  • Firstly I want to thank you, this is the only gestures software that worked on my laptop, I tried libinput-gestures, touchegg, fusuma with libinput drivers but none of these worked.

How to add a fixed event

  • each time I restart my laptop I find that syngestures is not working, even though a process is running in the background.
  • The problem is the device=path, this is my configuration file:
[[device]]
device = "/dev/input/event25"
<SNIP>
  • every time the laptop restarts the event number of the touchpad changes, so I changed it to /dev/input/event* but this error happens
    image

The value of device should be a stable path to your touchpad

I appreciate what you are doing. I am a non-technical person. After using libinput, I switched back to synaptics driver. And you are the only one working on and publishing software to give gestures support to synaptics. However I am having difficulty figuring out "The value of device should be a stable path to your touchpad". Can you make "Syngesture" recognize automatically 'the value of device". I understand it is too much of an ask, erstwhile hoping you could find a way to do it.

Shantanu

Lowering/changing sensitivity

I'm finding this is causing unwanted gestures in some cases - e.g. I have two-finger back/forward configured, but I also use two finger scrolling; it frequently triggers a back or forward action when I finish my scroll action. I'm not sure how much of this is syngesture's responsibility vs one of the lower level systems. Any pointers to where I can tweak this behaviour?

Great program by the way!

evtest: No such file or directory

Trying to use this on a GalliumOS (based on XUbuntu).

When I run:
syngestures
I get:
evtest: No such file or directory

Although, I have evtest installed with apt

which evtest
/usr/bin/evtest

Also noting that evtest runs on my system just fine.

evtest is also accessible from the root user, running syngestures as root does not help.

Any ideas?
Thanks,
Justin

Remove evtest dependency

As part of the initial proof-of-concept, I opted into using evtest (directly installable at least on Debian/Ubuntu/etc via apt install evtest) to read the input events coming out of the touchpad's libevdev device and parse the output.

In the name of reducing dependencies and minimizing friction for adoption, we should switch to directly opening the touchpad /dev/whatever device node and reading the input events directly rather than spawning an evtest instance and parsing the results. This would presumably additionally bring down the already virtually nil CPU usage by removing the regex matching that takes place when a gesture is in progress.

Thank You

Seriously thank you so much. Coming from a sway user this is amazing, and the fact its rusty is the proverbial cherry on top of the best cake ever.

Finetune sensitivity and treshold

I am wondering if, and how, we could finetune sensitivity and treshold of the gestures?
I am using this lib for the one and only purpose to bring two finger gestures (history back and forward) into gnome.

For some reason all other developers insist it is "impossible" to detect a horizontal two-finger gesture, however your implementation clearly proves otherwise, which is why I use it.

However, it is uncontrollable :D

  • it navigates back and forward way too fast, and uncontrollably (because the treshold is so little)
  • there are no finetune options in the config, as opposed to fusuma or just generally synaptics, which I am otherwise used to, and using actively along this very repo here.

Can you let me know if it is possible to finetune geseture treshold and sensitivity just for the gestures implemented in the syngestures?

My config is very simple as I need just the two finger swipes, the rest I do in fusuma (and synaptics):

##
# Part of a full "MacOS on Gnome X experience setting"
# Here we control only two finger gestures (navigation back and forward)
# Requires syngestures https://github.com/mqudsi/syngesture/
#
# Other settings and controls done with:
# Fusuma https://github.com/iberianpig/fusuma, xdotool
# libinput-three-finger-gestures https://github.com/marsqing/libinput-three-finger-drag
# synaptics https://wiki.archlinux.org/title/Touchpad_Synaptics
# Kinto https://github.com/rbreaves/kinto
# Xorg
##
[[device]]
device = "/dev/input/by-path/pci-0000:04:00.1-usb-0:5:1.2-event-mouse"# Edit as required
gestures = [
	# Navigate next
	{ type = "swipe", direction = "right", fingers = 2, execute = "xdotool key alt+Left" },
	# Navigate previous
	{ type = "swipe", direction = "left", fingers = 2, execute = "xdotool key alt+Right" },
]

It would be daft to have something like treshold and even acceleration settings for each of the commands.

How to set the sticky bit on evtest

Hi,
Not an issue, more of a call for support :)
I'm trying to make syngestures work on Ubuntu 20.10 but I'm stuck at the evtest sticky bit part: could you precise what command do I need to run to set it? I thought you could only set it on a file, what would be the path to the evtest executable then?
Thanks a lot for your help!

SUID bit documentation

I'm not a os guru but did you mean SUID bit on evtest, e.g., chmod u+s not the sticky bit chmod +t?

The latter works, the former does not (and sorta makes sense that it doesn't to me).

Also, minor thing since the executed commands appear arbitrary, but xdotool was an additional dependency requirement for me just testing the out of the box config.

Other than that, this worked really well! Thanks!

Magic Mouse 1 support?

Can it work with Apple Magic Mouse 1? I tried to install it on ubuntu 22.10, but got this:

# ./syngestures 
thread '<unnamed>' panicked at 'index out of bounds: the len is 5 but the index is 7', /home/andrey/.cargo/registry/src/github.com-1ecc6299db9ec823/syngestures-1.0.1/src/events.rs:304:25
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Any { .. }', /home/andrey/.cargo/registry/src/github.com-1ecc6299db9ec823/syngestures-1.0.1/src/main.rs:154:23

Maybe it was wrong to use /dev/input/event9 as a device, but it's the only thing in /dev/input which corresponds to this mouse.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.