Lisgd (libinput synthetic gesture daemon) lets you bind gestures based on libinput touch events to run specific commands to execute. For example, dragging left to right with one finger could execute a particular command like launching a terminal. L-R, R-L, U-D, and D-U swipe gestures are supported with 1 through n fingers.
Unlike other libinput gesture daemons, lisgd uses touch events to recognize synthetic swipe gestures rather than using the libinput's gesture events. The advantage of this is that the synthetic gestures you define via lisgd can be used on touchscreens, which normal libinput gestures don't support.
This program was built for use on the Pinephone; however it could be used in general for any device that supports touch events, like laptop touchscreens or similar. You may want to adjust the threshold depending on the device you're using.
Configuration can be done in two ways:
config.h; see the
Copy the example
config.def.h configuration to
lisgd -d /dev/input/input1
lisgd -t 400
lisgd -g "1,l,r,notify-send swiped lr"
lisgd -g "1,l,r,notify-send swiped lr" -g "1,r,l,noitfy-send swiped rl"
Full commandline-based configuration example:
lisgd -d /dev/input/input1 -g "1,l,r,notify-send swiped lr" -t 200 -v