#libinput #linux #touchpad #multi-touch #gesture #config-file

app gestures

基于Libinput的触摸板手势程序

8 个版本 (5 个重大更新)

0.6.0 2023年3月12日
0.5.2 2023年3月5日
0.5.1 2023年2月21日
0.4.0 2023年1月30日
0.1.0 2022年11月26日

#4 in #libinput

每月 34 次下载

MIT 许可证

24KB
568 行代码(不包括注释)

手势

关于

这是一个拦截触摸板手势并执行基于它们的命令的程序。与一些替代方案不同,它直接使用libinput api,而不是解析 libinput debug-events 的输出。

功能

gestures 能够处理libinput滑动事件;不仅包括垂直和水平,还包括对角线。

  • 处理libinput事件
    • 滑动事件;垂直、水平和对角线
    • 捏合事件
    • 悬停事件
    • 旋转事件
    • 连续和单次事件
  • 配置文件

配置

有关配置说明,请参阅 config.md

安装

平台

Linux。测试工作流程在Ubuntu上运行,我还在Artix Linux上亲自测试过,但如果它使用 libinput 触摸板驱动程序而不是较旧的 synaptics 驱动程序,它应该可以在任何发行版上工作。
注意:如果您的DE/WM有自己的触摸板手势系统,则很可能需要禁用它以防止冲突。

依赖关系

您可能需要安装 libudevlibinput,或者您发行版的等效版本,以及可能的 dev 版本。

使用Cargo

如果您已安装 cargo,只需使用 cargo install gestures

手动安装

  • 克隆仓库

    • gitclone https://github.com/riley-martin/gestures && cdgestures
  • 构建

    • cargobuild --release
  • ./target/release/gestures 复制到方便的位置并执行它

自动启动

合成器/窗口管理器

您可以在 .xinitrc 或其他启动文件(例如sway配置文件)中启动 gestures

Systemd

examples/gestures.service放入~/.config/systemd/user/gestures.service中,并根据您的系统进行修改(主要需要更改"$HOME"环境变量和ExecStart)。要使其自动启动,运行systemctl --user enable --now gestures.service

其他初始化系统

我没有使用过任何其他初始化系统,但服务相当简单,因此应该很容易修改以适应其他系统。

替代方案

以下是一些具有类似功能的替代方案。

依赖关系

~14MB
~247K SLoC