Home

Awesome

Build Status

Pull Requests are still welcome!

Forked from Coffee2CodeNL/gebaar-libinput since original repo unmaintained for multiple years, yet this is NOT OFFICIAL repo!

I Don't have linux machine for the moment, the project is frozen till I get one. (or maybe forever).

Gebaar

WM Independent Touchpad Gesture Daemon for libinput

Gebaar means Gesture in Dutch

Run any command by simply gesturing on your touchpad!

What makes this different over the other implementations?

libinput-gestures and fusuma both parse the output of the shell command libinput debug-events which is an unstable API and the output just keeps coming, so it'll eat (some) RAM.

Gebaar directly interfaces with libinput to receive and react to the events.
This is more stable, faster, and more efficient as it does not parse the output of a program like the aforementioned projects do.

Getting support (or talking about the project's future)

Click to join: Discord

How to build and install

  1. Clone the repository via git clone https://github.com/Coffee2CodeNL/gebaar-libinput
  2. Check out the latest version (git checkout v0.0.5)
  3. Run git submodule update --init in the root folder
  4. Run mkdir build && cd build
  5. Run cmake ..
  6. Run make -j$(nproc)
  7. Run sudo make install to install
  8. Run mkdir -p ~/.config/gebaar
  9. Run nano ~/.config/gebaar/gebaard.toml (or vim, if you like it better)
  10. Add the snippet below to gebaard.toml
  11. Configure commands to run per direction
  12. Add yourself to the input group with usermod -a -G input $USER
  13. Run Gebaar via some startup file by adding gebaard -b to it
  14. Reboot and see the magic
[swipe.commands.three]
left_up = ""
right_up = ""
up = ""
left_down = ""
right_down = ""
down = ""
left = ""
right = ""

[swipe.commands.four]
left_up = ""
right_up = ""
up = ""
left_down = ""
right_down = ""
down = ""
left = ""
right = ""

[pinch.commands]
in = ""
out = ""

[pinch.settings]
threshold = 0.25
one_shot = false


[swipe.settings]
threshold = 0.5
one_shot = true
trigger_on_release = false

Repository versions

Examples

bspwm

~/.config/gebaar/gebaard.toml

[swipe.commands.three]
left_up = ""
right_up = ""
up = "bspc node -f north"
left_down = ""
right_down = ""
down = "bspc node -f south"
left = "bspc node -f west"
right = "bspc node -f east"


[swipe.commands.four]
left_up = ""
right_up = ""
up = "rofi -show combi"
left_down = ""
right_down = ""
down = ""
left = "bspc desktop -f prev"
right = "bspc desktop -f next"

[pinch.commands.two]
in = "xdotool key Control_L+equal"
out = "xdotool key Control_L+minus"

[pinch.settings]
threshold=0.25
one_shot=false

[swipe.settings]
threshold = 0.5
one_shot = true
trigger_on_release = false

Add gebaard -b to ~/.config/bspwm/bspwmrc

State of the project