侧边栏壁纸
  • 累计撰写 11 篇文章
  • 累计创建 5 个标签
  • 累计收到 2 条评论
标签搜索

目 录CONTENT

文章目录

在 kubuntu 中添加鼠标快捷键功能

场景

kubuntu 是集成了 kde plasma 桌面环境的 ubuntu,而且 ked plasma 很适合我,但是有一个问题是

kde 自定义快捷键中不能自定义 鼠标键触发某个操作

默认只支持自定义键盘快捷键触发某个操作,例如可以定义 ctrl + shift + prt 键盘快捷键触发 flameshot gui 命令进行截图

90592ae769708eccd497b12912c992fb

我需要 鼠标点击中键 - 显示活动窗口,目前在 kubuntu 上只能通过键盘按键 super + w 使用。在我的 mac 上可以直接在设置中设置鼠标快捷键,很方便。而我需要做到一致的体验,在搜索引擎中辗转多个网页,最终找到了好的方案

xbindkeys 和 xdotool

两个开源工具

xbindkeys:监听事件,例如 鼠标中键按下,然后根据配置文件(~/.xbindkeysrc)执行相应的命令
xdotool:使用命令的方式模拟某个操作,例如键盘按下(super+w)

注:其只适用于 x11 图形平台
确认图形服务使用的 x11
d1d50aec467098c52e6b5ec6e84125f3

使用 apt 安装

sudo apt install xbindkeys xdotool

编辑配置文件

vim .xbindkeysrc 

内容为

"xdotool key --clearmodifiers super+w"
    b:2 

b:2 前需要有缩进,空格数不限制

--clearmodifiers 参数的作用是在执行键盘操作前清除所有可能已经按下的修饰键,可以防止意外组合
无论你当前按着什么其他键,触发的始终是干净的 Super+W 组合

逻辑很简单

xbindkeys 监听 鼠标中键,当被按下时,执行 xdotool key --clearmodifiers super+w 命令,模拟键盘按键 super + w 从而显示 kubuntu 上的所有活动窗口

安装完成、配置文件编写正确后就不再需要手动管理服务了
xbindkeys 文档中提到,xbindkeys 将会在后台以守护进程的方式运行,并且当配置文件发生变化将会自动加载
实际上在系统启动时也会自动运行

83844ba3401c02e4087015b1a97fc84c

综合

为什么选择两个不同的程序?一个单独的程序做完这两件事不是更好吗?

我最初的想法的确是这样,但是能在一个程序中做到这两件事情的开源项目,要么使用 python 开发,运行较为繁琐且本身过重,要么添加了许多我根本不需要的附加功能

xbindkeys 和 xdotool 主要使用 c 语言开发,轻量且高效,并且不附带多余的功能

xbindkeys 进行输入事件的监听,xdotool 模拟输出事件

可能这也和 linux 的理念相符合:单个程序只做一件事情并且做好

0

评论区