我有一把罗技 G500 鼠标,它在通常的“后退”和“前进”鼠标按钮之间有第三个按钮。
我想将 GNOME-Shell 活动概览绑定到该按钮按钮。
我尝试在键盘设置中执行此操作,在“系统”下可以使用“显示活动概述”操作,但是当我按下鼠标按钮时,它仍然处于“禁用”状态。
答案1
复制自波西米亚博客文章(现已死亡,Wayback Machine 链接)以防它死亡:
Gnome 3:通过鼠标按钮激活覆盖和更多功能
我想通过单击未使用的鼠标按钮来激活“Gnome 3/Shell Overlay”。正如我之前发布的那样,Gnome 3 目前无法为鼠标按钮分配操作/功能。但有一种方法可以使用 xdotool 和 xbindkeys 来实现。感谢 AlphaLux(见下面的评论),我能够用 xbindkeys 替换我之前的 easystroke 解决方案。
还有一个名为 easystroke 的程序,它使用鼠标手势来执行快捷方式。我知道这一点的唯一原因是因为有人比我聪明,在 Ubuntu 论坛上描述了这个解决方案。因此,对于“Woop Woop”魔幻之地的“stinkeye”,我向他致以敬意……并热情握手,感谢他回答了有关 Gnome 3 中键盘和鼠标快捷键的问题。虽然我在下面提供了两个解决方案,但我推荐 xbindkeys 解决方案。
首先,描述一下 xdotool、xbindkeys 和 easystroke 的作用:
工具
此工具是不可见的。您不会直接使用它。但它可以让您编写命令行指令,告诉您的计算机已按下按钮或一组按钮。它的功能不止于此,但就我们的目的而言,这才是最重要的。
绑定键
此工具允许您将键盘和鼠标键绑定到 shell 命令。
轻松一击
此工具允许您使用“鼠标手势”向计算机提交命令。鼠标手势类似于“触摸手势”,它是较新的触摸界面计算机系统(如 Apple 的 iOS 甚至 OSX,通过其不断增长的触摸板以及 Android、Windows Phone 7 等)的重要组成部分。以下说明将使用此程序仅按下鼠标按钮。我今天不会谈论手势。
使用 xbindkeys 实现鼠标按钮操作
如上所述,我实现此功能的唯一动机是调用 Gnome Shell 概览。下面的说明将描述如何执行此操作。您可以根据需要随意替换您自己的功能。希望说明写得足够清楚,以便于操作。
- 将键盘输入分配给所需功能
系统设置>键盘>快捷键在我的情况下,我将显示活动概览设置为菜单键,因为我使用 Super/Windows 键进行第三级和第四级切换。
- 安装 xdotool 和 xbindkeys
您必须找出最适合您 Linux 风格的最好/最简单的方法。如果您运行的是 Ubuntu,您可以通过软件中心安装它们,或者:
sudo apt-get install xbindkeys xdotool
- 使用 xev 确定鼠标按钮身份
打开终端并输入此命令
xev
Xev 将创建一个小的空窗口。将鼠标悬停在此窗口上并单击鼠标上的各种按钮。单击后,xev 将告诉您该按钮的身份。现在您知道了它们的身份,我们可以使用 xbindkeys 将它们与 shell 命令关联起来。
- 配置 xbindkeys
打开终端并输入此命令:
gedit ~/.xbindkeysrc
然后按 Enter。这将在 Gedit 中打开 xbindkeys 配置文件。它应该是一个空白文件。将以下内容添加到文档并保存。
# Gnome Shell Mouse Button 8 to Overview
"xdotool key Menu"
release + b:8
上述配置将鼠标按钮 8 设置为激活 Gnome Shell 概览。第一行是注释,可帮助您记住此设置的作用。第二行定义要在双引号内执行的 shell 命令。第三行定义按钮操作,在本例中,释放鼠标按钮 8 时将执行命令。
- 将 xbindkeys 设置为登录时自动启动
从 Gnome Shell 概览 > 应用程序列表中,查找“启动应用程序”并启动它。应用程序窗口出现后,单击添加按钮。您可以随意为条目命名,但“xbindkeys”简洁明了。但最重要的是,在命令输入中输入以下内容:
xbindkeys &
正确输入后,单击“确定”,然后单击“关闭”。现在 xbindkeys 将在登录后自动启动。
使用 easystroke 制作鼠标按钮来实现某些功能
- 安装 xdotool 和 easystroke
您必须找出最适合您 Linux 风格的最好/最简单的方法。如果您运行的是 Ubuntu,您可以通过软件中心安装它们,或者:
sudo apt-get install easystroke xdotool
- Easystroke 偏好设置
启动 Easystroke。转到“首选项”选项卡。在“行为”部分下,单击“手势按钮”按钮。将光标移动到结果窗口中的空白灰色区域,然后单击要关联的鼠标按钮以激活 Gnome Shell 活动覆盖(或单击鼠标按钮时尝试执行的任何操作)。单击后,您应该会看到小窗口底部的设置发生变化。我有一个 Logitech 激光鼠标,我使用的是“按钮 8”。同样在“外观”部分下,选中“自动启动 Easystroke”选项。
- 创建新的 Easystroke 动作
转到“操作”选项卡。单击“添加操作”按钮。将操作命名为“通过鼠标覆盖”。类型应为“命令”,详细信息应为:
xdotool key Menu
- 将鼠标按钮与 Easystroke 操作关联
在 Easystroke 中,单击以突出显示您的新“操作”。单击“记录笔划”按钮。将光标移到结果小窗口并单击所需的鼠标按钮。单击“是”按钮以确认您的鼠标按钮输入。完成后单击“隐藏”按钮。
再次强调,除非您特别想使用鼠标手势,否则我认为 xbindkeys 是比 easystroke 更好、响应速度更快的解决方案。您应该能够立即测试这个新奇的功能。如果不行,请尝试注销并重新登录。尽情享受吧。