当前位置: 首页 > news >正文

archlinux 触摸板手势配置

文章目录

    • @[toc]
    • libinput-gestures
      • 安装 libinput-gestures
      • 加入 input 组
      • 创建配置文件
        • 可用手势
      • 启动 libinput-gestures
      • 停止 libinput-gestures
      • 自启动 libinput-gestures

  • Touchpad Synaptics
  • synaptics.4

/etc/X11/xorg.conf.d/ 目录下会有默认的触摸板配置文件,如果用的 libinput,配置文件是 40-libinput.conf

下面是一些常用的选项

Section "InputClass"Identifier "touchpad"Driver "synaptics"MatchIsTouchpad "on"Option "TapButton1" "1"Option "TapButton2" "3"Option "TapButton3" "2"Option "VertEdgeScroll" "on"Option "VertTwoFingerScroll" "on"Option "HorizEdgeScroll" "on"Option "HorizTwoFingerScroll" "on"Option "CircularScrolling" "on"Option "CircScrollTrigger" "2"Option "EmulateTwoFingerMinZ" "40"Option "EmulateTwoFingerMinW" "8"Option "CoastingSpeed" "0"Option "FingerLow" "30"Option "FingerHigh" "50"Option "MaxTapTime" "125"...
EndSection
  • TapButton1
    • (整数)配置在非角点单指点击时报告哪个鼠标按钮。
  • TapButton2
    • (整数)配置在非角点双指点击时报告哪个鼠标按钮
  • TapButton3
    • (整数)配置在非角点三指点击时报告哪个鼠标按钮
  • RBCornerButton
    • (整数)配置在右下角报告哪个鼠标按钮,单指点击(使用 Option “RBCornerButton” “3” 实现右下角鼠标右键的 Ubuntu 样式点击行为
  • RTCornerButton
    • (整数),但对于右上角,请用一根手指点击。
  • VertEdgeScroll
    • (布尔值)允许在触摸板的右边缘拖动时进行垂直滚动。
  • HorizEdgeScroll
    • (布尔值)在触摸板的底部边缘拖动时启用水平滚动。
  • VertTwoFingerScroll
    • (布尔值)启用使用两根手指进行垂直滚动。
  • HorizTwoFingerScroll
    • (布尔值)启用使用两个手指进行水平滚动。
  • EmulateTwoFingerMinZ/W
    • (整数)播放此值以设置双指滚动的精度。
  • FingerLow
    • (整数)当手指压力低于此值时,驱动程序会将其计为释放。
  • FingerHigh
    • (整数)当手指压力超过此值时,驱动程序会将其计为一次触摸。
  • MaxTapTime
    • 确定拍子的 “清脆” 程度才能被视为真正的拍子。减小该值以需要更清脆的点击。正确调整此参数可以减少手悬停或轻轻触摸 pad 时的误报。
  • VertScrollDelta and HorizScrollDelta
    • (integer) 配置滚动速度,这有点违反直觉,因为较高的值会产生更高的精度,因此滚动速度会变慢。负值会导致自然滚动,就像在 macOS 中一样。
  • 如果您的触摸板过于敏感,请为 FingerLowFingerHigh 使用较高的值,反之亦然。请记住 FingerLow 应小于 FingerHigh

libinput-gestures

虽然 libinput 驱动程序已经包含用于处理高级多点触控事件(如滑动和捏合手势)的逻辑,但桌面环境或窗口管理器可能尚未为所有这些事件实施操作

于符合 EWMH (另见 wm-spec) 的窗口管理器,可以同时使用 libinput-gestures 工具。程序从触摸板读取 libinput 手势(通过 libinput debug-events),并根据配置文件将它们映射到手势。因此,它在 libinput 的内置识别范围内提供了一些灵活性

  • libinput-gestures
    • 您需要 python 3.7 或更高版本,不支持 python2。您还需要 libinput 版本 1.0 或更高版本。

安装 libinput-gestures

安装 libinput-gestures 需要用到 aur 源,需要提前安装好 yay 命令

yay -S libinput-gestures

安装其他依赖

sudo pacman -S wmctrl xdotool

加入 input 组

必须是 input 组的成员才能获得读取触摸板设备的权限

sudo gpasswd -a $USER input

创建配置文件

  • 默认手势在 /etc/libinput-gestures.conf 中。
    • 如果要创建自己的自定义手势,请将该文件复制到 ~/.config/libinput-gestures.conf 并对其进行编辑
    • 该文件中描述了许多示例和选项
cp /etc/libinput-gestures.conf ~/.config/

一些常用的配置,其他玩法,可以看配置文件

  • 这里的 key 对应的是 i3-wm 的快捷键,具体的快捷键,需要查看自己的 i3 配置文件 grep mod+ ~/.config/i3config
# 四指上划切换悬浮模式
gesture swipe up        4 xdotool key super+Shift+space
# 四指下划关闭窗口
gesture swipe down      4 xdotool key super+Shift+q
# 四指左划切换到左侧工作区
gesture swipe left      4 xdotool key super+Shift+Left
# 四指右划切换到右侧工作区
gesture swipe right     4 xdotool key super+Shift+Right
# 双指缩放
gesture pinch in        2 xdotool key ctrl+minus
gesture pinch out       2 xdotool key ctrl+plus

官方默认开启的配置

gesture swipe up        _internal ws_up
gesture swipe down      _internal ws_down
gesture swipe left      xdotool key alt+Right
gesture swipe right     xdotool key alt+Left
gesture pinch in        xdotool key super+s
gesture pinch out       xdotool key super+s
可用手势
Gesture 手势Example Mapping 示例映射
swipe up向上滑动
swipe down向下滑动
swipe left向左滑动
swipe right向右滑动
swipe left_up向左上滑动
swipe left_down向左下滑动
swipe right_up向右上滑动
swipe right_down向右下滑动
pinch in捏合缩小
pinch out捏合放大
pinch clockwise
pinch anticlockwise
hold on请参阅按住手势的说明。
hold on+NN 秒,例如 1.5)按住时长。请参阅按住手势的说明。

启动 libinput-gestures

libinput-gestures-setup start

停止 libinput-gestures

libinput-gestures-setup stop

自启动 libinput-gestures

libinput-gestures-setup autostart

相关文章:

archlinux 触摸板手势配置

文章目录 [toc]libinput-gestures安装 libinput-gestures加入 input 组创建配置文件可用手势 启动 libinput-gestures停止 libinput-gestures自启动 libinput-gestures Touchpad Synapticssynaptics.4 在 /etc/X11/xorg.conf.d/ 目录下会有默认的触摸板配置文件,如果…...

djinn:1 靶场学习小记

一、测试环境: kail攻击机:Get Kali | Kali Linux 靶场镜像:https://download.vulnhub.com/djinn/djinn.ova 描述: 该机器与 VirtualBox 和 VMWare 兼容。DHCP 将自动分配一个 IP。您将在登录屏幕上看到 IP。您必须找到并读取分…...

kafka消费者组和分区数之间的关系是怎样的?

消费者组和分区数之间的关系决定了Kafka中消息的消费方式和负载均衡。合理配置分区数和消费者数量对于优化Kafka的性能和资源利用率至关重要。以下是这种关系的几个关键点: 一个分区只能被同一组的一个消费者消费:这是为了保证消息的顺序性。在同一个消费…...

【go】查询某个依赖是否存在于这个代理

1. 使用 go list 命令 go list -m -versions github.com/gin-gonic/gin 如果模块存在,该命令会返回模块及其可用版本: github.com/gin-gonic/gin v1.7.0 v1.7.1 v1.8.0如果模块不存在或无法找到,会返回错误。 2. 使用 curl 查询代理服务 …...

如何从postman中导出所有集合Collection

项目场景: 有时候需要备份或迁移到其他平台,我们需要在postman中将这些集合数据导出。导出 Postman 集合是为了备份、团队共享或平台迁移等目的的重要步骤。此过程可分为导出单个集合和批量导出所有集合两部分,确保已保存和更新集合后&#x…...

在 Spring Boot 中实现多种方式登录(用户名、手机号、邮箱等)的不正经指南

欢迎来到一场技术与幽默交织的冒险!今天,我们将跳进 Spring Boot 的世界,探索如何通过 用户名、手机号、邮箱 等多种方式实现登录。想象一下,用户在登录时可以随心所欲地选择——就像你今天早上纠结到底是要喝美式咖啡还是拿铁&am…...

.NET平台用C#添加动作到PDF文档

使用C#语言在.NET框架下向PDF文档中添加动作,不仅能够提升文档的交互性和用户体验,还能够在自动化工作流中发挥关键作用,例如自动跳转至特定页面、链接外部资源或播放音频资源等操作。这种能力使得开发者能够根据具体需求定制PDF文档的互动操…...

大数据治理:概念、框架与实践应用

摘要: 随着大数据时代的到来,数据量呈爆炸式增长,数据来源和类型日益多样化。大数据治理作为确保数据质量、安全性、合规性以及有效利用数据资产的关键领域,已成为企业和组织在数字化转型过程中面临的重要挑战和机遇。本文深入探讨了大数据治理的概念,详细阐述了其涵盖的主…...

Vue.observable 全解析:Observable 是什么及使用场景剖析

Vue.observable 详解 Vue.observable 是 Vue 2.x 中的一个 API,用于将普通对象转化为响应式对象,类似于 Vue 组件中的 data 对象,可以实现数据的双向绑定。它允许你将任何普通对象转化为 Vue 响应式系统管理的对象,使得该对象的属性变化时能够自动触发视图更新。 什么是 …...

MySQL基础知识大总结

一,介绍 数据库是什么,我们在学习其他编程语言的时候会使用数组呀,链表,二叉树等等一些数据结构来存储我们的数据,但是大家有没有发现我们一旦关闭程序,所有的数据都没有了,这在发行的软件来看是…...

池化技术、Commons Pool介绍

概述 池化技术,一种通过重复利用对象实例而非频繁创建和销毁的技术。 常见的可池化对象: 数据库连接(Connection):数据库连接创建和销毁代价高,连接池广泛用于管理JDBC连接;线程(Thread):线程的创建和销…...

下载并安装Visual Studio 2017过程

一、下载 1、下载链接 下载链接:官方网址 先登录 往下滑找到较早的下载 2、进行搜索下载 或者直接点击🔗网站跳转 3、确认系统信息进行下载 二、安装 下载完成后右键使用管理员身份运行 1、点击同意后安装 2、若报错—设置失败 打开控制面板-&g…...

菊风视频能力平台开发服务正式入驻华为云云商店,成为华为云联营联运合作伙伴

日前,菊风视频能力平台开发服务正式入驻华为云云商店,成为华为云在实时音视频领域的联营联运合作伙伴。 菊风结合自身产品方案优势与华为云开放、共盈的生态优势强强联手,在推动金融行业数字化转型的路上又向前迈出了一大步。华为云云商店作为…...

springboot整合kafka

springboot整合kafka pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven…...

Python深度学习框架:PyTorch、Keras、Scikit-learn、TensorFlow如何使用?学会轻松玩转AI!

前言 我们先简单了解一下PyTorch、Keras、Scikit-learn和TensorFlow都是什么。 想象一下你要盖一座大房子。你需要砖头、水泥、工具等等&#xff0c;对吧&#xff1f;机器学习也是一样&#xff0c;需要一些工具来帮忙。PyTorch、Keras、Scikit-learn和TensorFlow就是四种不同的…...

【Linux】安装cuda

一、安装nvidia驱动 # 添加nvidia驱动ppa库 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update# 查找推荐版本 sudo ubuntu-drivers devices# 安装推荐版本 sudo apt install nvidia-driver-560# 检验nvidia驱动是否安装 nvidia-smi 二、安装cudatoolkit&…...

为什么DDoS防御很贵?

分布式拒绝服务攻击&#xff08;DDoS攻击&#xff09;是一种常见的网络安全威胁&#xff0c;通过大量恶意流量使目标服务器无法提供正常服务。DDoS防御是一项复杂且昂贵的服务&#xff0c;本文将详细探讨为什么DDoS防御如此昂贵&#xff0c;并提供一些实用的代码示例和解决方案…...

将WPS的PPT 无损的用微软的PowerPoint打开

用WPS做了PPT&#xff0c;但是用用PowerPoint打开的时候&#xff0c;老是会有几张图错位。 解决方案&#xff1a;将wps做的PPT另存为PowerPoint的格式 参考博客&#xff1a;解决office的PPT和WPS的PPT不兼容的问题_office ppt和wps中代码不通用-CSDN博客 另存为的时候&#…...

【汇编】uniapp开发

UniApp是一款基于Vue.js构建的跨平台开发框架&#xff0c;可以用于快速开发同时运行在多个平台&#xff08;包括iOS、Android、H5和小程序&#xff09;的应用程序。UniApp的目标是提供一套代码即可在不同平台上运行的开发模式&#xff0c;从而节省开发者的时间和精力。本文将介…...

详解Oracle表的类型(二)

1.引言&#xff1a; Oracle数据库提供了多种表类型&#xff0c;以满足不同的数据存储和管理需求。本博文将对Oracle分区表及使用场景进行详细介绍。 2. 分区表 分区表是Oracle数据库中一种重要的表类型&#xff0c;它通过将表数据分割成多个逻辑部分来提高查询性能、管理灵活…...

【苍穹外卖 | 篇⑥】登录流程

在牛某网看见了牛肉哥的帖子之后&#xff0c;打算向牛肉大佬学习&#xff0c;故开始书写CSDN博客&#xff0c;通过博客的方式来巩固自身知识学习。因为之前有粗略的学习了Java Web 的基础课程&#xff0c;所以博客内容主要是巩固之前学习当中的模糊点&#xff0c;以及一些自己认…...

华为交换机-跨Vlan通信的实战配置指南

1. 华为交换机跨VLAN通信的核心原理 第一次接触跨VLAN通信时&#xff0c;我也被那些专业术语搞得一头雾水。直到把整个流程拆解成生活场景&#xff0c;才真正理解其中的奥妙。想象一下&#xff0c;VLAN就像公司里的不同部门&#xff0c;财务部、技术部、市场部各自在独立的办公…...

Mastering Text Tokenization for Large Language Models: From Words to Embeddings

1. 文本标记化的核心概念 你可能已经听说过ChatGPT这类大语言模型的神奇能力&#xff0c;但你知道它们是如何"读懂"人类文字的吗&#xff1f;秘密就藏在文本标记化&#xff08;Tokenization&#xff09;这个关键步骤里。想象一下&#xff0c;我们要教一个完全不懂中…...

单片机I/O口阻抗特性及其在电路设计中的关键作用

1. 阻抗基础&#xff1a;从水管到电路的理解 第一次接触阻抗概念时&#xff0c;我盯着教科书上的公式发呆了半小时。直到有天修水管时突然开窍——这不就是水管的粗细对水流的影响吗&#xff1f;在电路中&#xff0c;阻抗就是电子流动遇到的"阻力"。但和水管不同&…...

Python金融数据获取终极指南:用mootdx高效处理通达信股票数据

Python金融数据获取终极指南&#xff1a;用mootdx高效处理通达信股票数据 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在量化投资和金融数据分析领域&#xff0c;获取稳定、免费的股票数据一直…...

Parallax三线LCD Arduino驱动库详解

1. 项目概述 Parallax LCD 是一个专为驱动 Parallax 公司三线制串行 LCD 模块设计的轻量级 Arduino 库。该库不依赖标准 HD44780 并行接口协议&#xff0c;而是针对 Parallax 自研的 3 线串行通信协议&#xff08;TX、GND、VDD&#xff09;进行底层适配&#xff0c;显著降低 GP…...

【Unity3D】从零打造动态天空盒:Cubemap生成与实时环境映射实战

1. 动态天空盒的核心原理与场景价值 第一次在Unity里看到动态天空盒效果时&#xff0c;我盯着屏幕愣了三秒——云层在头顶流动&#xff0c;夕阳的光影实时投射在建筑表面&#xff0c;整个场景瞬间有了生命力。这种魔法般的体验&#xff0c;其实都建立在立方体贴图&#xff08;C…...

OpenClaw定时任务详解:GLM-4.7-Flash每日自动生成工作报告

OpenClaw定时任务详解&#xff1a;GLM-4.7-Flash每日自动生成工作报告 1. 为什么需要自动化日报系统 上周三晚上11点&#xff0c;我盯着空白的周报文档发呆——明明这周完成了3个需求迭代和2次跨部门协作&#xff0c;却怎么都想不起具体细节。翻遍Git记录、邮件和会议纪要才勉…...

别再死磕分布式事务了!用MySQL+RabbitMQ手撸一个本地消息表,搞定订单库存一致性问题

轻量级数据一致性实战&#xff1a;基于MySQL与RabbitMQ的本地消息表设计 在电商系统开发中&#xff0c;订单创建与库存扣减的原子性操作一直是技术难点。传统单体架构下的数据库事务无法跨越服务边界&#xff0c;而引入分布式事务框架又往往带来额外的复杂性和性能损耗。本文将…...

给硬件工程师的PCIe协议栈拆解:从FPGA IP核视角看三层协议如何协同工作

给硬件工程师的PCIe协议栈拆解&#xff1a;从FPGA IP核视角看三层协议如何协同工作 当你在Xilinx UltraScale或Intel Stratix 10 FPGA中集成PCIe硬核IP时&#xff0c;是否曾好奇过那个配置向导里勾选的"Enable Advanced Mode"究竟在底层做了什么&#xff1f;物理层的…...