size of each edge is configurable
implementing support for gestures with edge and corner detection
Remove extra variable
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. Directional L-R, R-L, U-D, and D-U gestures and diagnol LD-RU, RD-LU, UR-DL, UL-DR 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 config.def.h
Copy the example config.def.h
configuration to config.h
.
Flags:
lisgd -d /dev/input/input1
lisgd -g "1,LR,*,*,notify-send swiped lr"
lisgd -g "1,LR,*,*,notify-send swiped lr" -g "1,RL,R,*,noitfy-send swiped rl from right edge"
lisgd -m 1200
lisgd -o 1
lisgd -r 20
lisgd -t 400
lisgd -v