ubuntu中通过logiops设置罗技鼠标按键
Logitech Options 是罗技办公鼠标的自定义功能驱动,但是只提供了Windows和Mac版本。在Linux环境下进行鼠标按键的配置可以使用第三方驱动项目:logiops项目地址
安装
参考官网教程https://github.com/PixlOne/logiops#readme
依赖:
项目需要c++ 14 编译器,需要安装 cmake,libevdev,libudev,libconfig。
ubuntu安装依赖:
sudo apt install cmake libevdev-dev libudev-dev libconfig++-dev
安装编译logiops:
git clone https://github.com/PixlOne/logiops.gitcd logiops
mkdir build
cd build
cmake ..
makesudo make install
设置开机启动
sudo systemctl enable --now logid
其他命令
安装完成后,即可使用命令logid完成相应操作
-h:查看命令帮助
-v:查看运行信息(debug/info/warn/error)
-V:查看版本
-c [file path]:更改配置文件地址为[file path]
出现[ERROR] Could not create input device: Permission denied,提示权限不足,使用sudo运行即可。
查看运行状态
sudo service logid status
重启logiops服务
sudo service logid restart
配置
配置文件默认地址为/etc/logid.cfg,需要自己手动添加
sudo touch /etc/logid.cfg
然后打开这个配置文件,参考例程:logid.example.cfg
详细的配置说明:Configuration
我用的是M590无线鼠标,修改name为M585/M590 Multi-Device Mouse,部分确认支持的设备名称参考:logiops/TEST.md
按键设置(Keypress)
Action类型为Keypress
首先找到鼠标对应按键的cid,可以查看官方wiki:CIDs
M590的几个cid:前后侧键0x56,0x53,中键0x52;
按键输入对应:input-event-codes.h
我的侧键设置:
{cid: 0x56;action ={type: "Keypress";keys: ["KEY_LEFTCTRL", "KEY_Z"]; # 前侧键用于撤销};},{cid: 0x53;action ={type: "Keypress";keys: ["KEY_DELETE"]; #后侧键delete};}
手势设置(gestures)
Action类型为gestures,分为五个子动作:Up, Down, Left, Right, None,其中上下左右分别对应按键之后向对应方向移动鼠标的动作,None对应按下按键以后不动的动作。
我设置了滚轮键(中键)的gestures:
{cid: 0x52; #中键action ={type: "Gestures";gestures: ({direction: "Up";mode: "OnRelease";action ={type: "Keypress";keys: ["KEY_UP"];};},{direction: "Down";mode: "OnRelease";action ={type: "Keypress";keys: ["KEY_DOWN"];};},{direction: "Left";mode: "OnRelease";action ={type: "Keypress";keys: ["KEY_LEFTMETA", "KEY_D"]; #切换到桌面};},{direction: "Right";mode: "OnRelease";action ={type = "Keypress";keys: ["KEY_LEFTALT","KEY_LEFTCTRL","KEY_T"]; #打开Terminal}},{direction: "None";mode: "OnRelease";action ={type:"Keypress";keys:["KEY_LEFTMETA"]; #windows键}});};
完整配置文件
最后附上我的完整配置文件
devices: (
{name: "M585/M590 Multi-Device Mouse";smartshift:{on: true;threshold: 30;};hiresscroll:{hires: true;invert: false;target: false;};dpi: 1000;buttons: ({cid: 0x52; #中键action ={type: "Gestures";gestures: ({direction: "Up";mode: "OnRelease";action ={type: "Keypress";keys: ["KEY_UP"];};},{direction: "Down";mode: "OnRelease";action ={type: "Keypress";keys: ["KEY_DOWN"];};},{direction: "Left";mode: "OnRelease";action ={type: "Keypress";keys: ["KEY_LEFTMETA", "KEY_D"]; #切换到桌面};},{direction: "Right";mode: "OnRelease";action ={type = "Keypress";keys: ["KEY_LEFTALT","KEY_LEFTCTRL","KEY_T"]; #打开Terminal}},{direction: "None";mode: "OnRelease";action ={type:"Keypress";keys:["KEY_LEFTMETA"]; #windows键}});};},{cid: 0x56;action ={type: "Keypress";keys: ["KEY_LEFTCTRL", "KEY_Z"]; # 前侧键撤销};},{cid: 0x53;action ={type: "Keypress";keys: ["KEY_DELETE"]; #后侧键delete};});
}
);
ubuntu中通过logiops设置罗技鼠标按键相关推荐
- linux恢复设置文件夹,将.bashrc文件恢复到Ubuntu中的默认设置
以下介绍在Ubuntu系统中将.bashrc文件恢复默认设置的方法,如果你在Ubuntu系统中把.bashrc文件搞坏了就按下面的方法恢复bashrc文件. 背景 我有一个Ubuntu VM,我经常用 ...
- linux环境下如何调鼠标灵敏度,如何在Ubuntu中配置鼠标设置
Ubuntu是open-source操作系统,它使您可以对最小的系统模块进行大量配置.其中之一就是您要使用外部USB鼠标的方式.在本文中,我们将介绍如何对鼠标设置进行以下更改: 将左/右按钮设置为主按 ...
- 在ubuntu中设置使用网络摄像头
介绍 目录 选择网络摄像头 使用Cheese测试您的网络摄像头 网络摄像头软件 配置网络摄像头软件 VLC FFmpeg的 MPlayer的 MEncoder的 Skype的 飘带 识别您的网络摄像头 ...
- Ubuntu中Netbeans的中文问题彻底解决
我的系统是Ubuntu9.10,JDK1.6,Netbeans是6.x,这个问题的解决方案其实和Netbeans无关,主要是解决JDK读取字体方面的问题,所以,它也同样适用于所有的Swing界面的Ja ...
- Ubuntu中启用关闭Network-manager网络设置问题!
Ubuntu中启用关闭Network-manager网络设置问题! [Server版本] 在UbuntuServer版本中,因为只存有命令行模式,所以要想进行网络参数设置,只能通过修改/etc/net ...
- 在 ubuntu 中设置安装 boost 库
c++ 编程中有时候要用到 Boost 库,这里总结一下安装的过程. 一.平台 ubuntu 16.04 Boost_1_65_1 二.安装 1.下载安装文件. 1).http://www.boost ...
- Ubuntu中设置静态IP和DNS
在Ubuntu中设置静态IP共两步:1>设置IP:2>设置DNS 1>设置IP 编辑 /etc/network/interface文件: sudo vi /e ...
- [快速技巧]通过命令在 Debian/Ubuntu 中设置默认浏览器
[快速技巧]通过命令在 Debian/Ubuntu 中设置默认浏览器 img 嘿,伙计们! 在这篇文章中,我们将使用终端设置默认浏览器. 虽然,使用浏览器主界面来设置默认浏览器很方便,但是有时,你需要 ...
- Ubuntu中设置环境变量PATH
Ubuntu中设置环境变量PATH二种方法 时间:2008-11-06 00:00 来源:网管之家bitsCN.com 字体:[大 中 小] 目前在Ubuntu中有二种设置PATH环境变量的方法. 为 ...
最新文章
- EPON与GPON的应用与区别
- go map并发写错误问题
- QML基础类型之quaternion
- oracle+去括号,关于001 TK的几个问题,请大家一起讨论一下
- oracle横向统计个数,Oracle横向求最大值
- php留言簿,PHP 简易留言板
- 找一份高薪的AI工作有多难?
- 计算机科学已发展成为一门,计算机前沿技术论文
- Hibernate实体类注解中如何忽略某些字段的映射
- 机器人入门困惑之资料总结
- Windows客户端开发--URLDownloadToFile下载文件进度条
- 服务如何获取当前登录的windows用户名
- MyBatisplus字段名与表名的映射
- java空气质量指数AQI换算
- 分享一款将中文网站源代码直接生成英文网站的工具
- 虚拟服务器 vmotion,不使用 vMotion 将 VMware 虚拟机从一台主机迁移至另一台主机...
- android 4.4 小米2a,小米手机2/2S/2A吃上Android 4.4 附刷机教程
- 老人与海好词100英文带翻译_The_Old_Man_and_The_Sea_老人与海_中英文对照版_(good)
- 五种IO模型和nginx的web模块
- 语音控制机器人小车运动科大讯飞SDK