Repolode
Indra55

Indra55/bezel

A lightweight Rust daemon that maps trackpad edge gestures with 1-4 fingers to actions like volume and brightness on Wayland.

Stars
160
Forks
7
Open issues
4
Last commit
3 days ago

What is it?

Bezel turns the edges of a Linux trackpad into a configurable control surface. Each edge can carry its own bindings for one to four fingers, so a single-finger swipe on the left edge might adjust volume while a two-finger swipe adjusts brightness. Normal touches in the center of the pad keep working for the desktop.

Supported gestures include taps, double taps, holds, eight swipe directions, and repeating slides. Gesture Studio, a terminal wizard, previews gestures and offers 30 action presets as well as custom shell commands. Sensitivity can be shared across bindings or set per binding, and the config lives at ~/.config/bezel/config.toml.

Bezel requires Linux with Wayland and a trackpad that uses type-B multitouch slots. It is installed through a script, Cargo, or a NixOS and Home Manager module. Pinch-to-zoom and tap-then-swipe gestures are not implemented.

Key features

  • 01Supports taps, double taps, holds, eight swipe directions, and repeating slides.
  • 02Lets each screen edge and finger count (1-4) have its own binding.
  • 03Includes Gesture Studio, a terminal wizard with gesture previews and 30 action presets.
  • 04Accepts custom shell commands as actions.
  • 05Provides NixOS and Home Manager configuration support.

Use cases

  • Adjusting volume or brightness with a swipe on the trackpad edge on a Linux laptop.
  • Triggering media playback controls or workspace switching from edge gestures.
  • Running custom scripts from trackpad gestures in a Wayland desktop session.

Quick start

  1. 1

    Run the official install script from the README

  2. 2

    Or build and install from source with Cargo

    cargo install --git https://github.com/indra55/bezel
  3. 3

    Add your user to the input group, then reboot

    sudo usermod -aG input "$USER"
  4. 4

    Open Gesture Studio to configure your bindings

    bezel --configure

Things to know

  • Works only on Linux with Wayland.
  • Requires a trackpad with type-B multitouch slots.
  • Pinch/zoom and tap-then-swipe gestures are not implemented.
  • Licensed under GPL-3.0, a copyleft license.

Topics

#wayland#trackpad#gestures#linux-desktop#rust#input-devices#edge-gesture#evdev#gesture#linux

FAQ

What is bezel?
A lightweight Rust daemon that maps trackpad edge gestures with 1-4 fingers to actions like volume and brightness on Wayland. Bezel turns the edges of a Linux trackpad into a configurable control surface. Each edge can carry its own bindings for one to four fingers, so a single-finger swipe on the left edge might adjust volume while a two-finger swipe adjusts brightness. Normal touches in the center of the pad keep working for the desktop.
Is bezel free to use? What license does it have?
bezel is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is bezel still maintained?
Actively maintained. The last commit to bezel was on Nov 5, 2026.
What can I use bezel for?
Adjusting volume or brightness with a swipe on the trackpad edge on a Linux laptop. Triggering media playback controls or workspace switching from edge gestures. Running custom scripts from trackpad gestures in a Wayland desktop session.
How do I install bezel?
Run the official install script from the README Or build and install from source with Cargo: cargo install --git https://github.com/indra55/bezel Add your user to the input group, then reboot: sudo usermod -aG input "$USER" Open Gesture Studio to configure your bindings: bezel --configure
Where can I get bezel?
The source code and installation instructions are on GitHub: https://github.com/Indra55/bezel

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects