将 GNOME-Shell 活动概述绑定到自定义鼠标按钮

imb*_*aer 6 mouse shortcut-keys activities-overview gnome-shell

我有一个罗技 G500 鼠标,它在通常的“向后”和“向前”鼠标按钮之间有第三个按钮。

我想将 GNOME-Shell 活动概述绑定到该按钮按钮。

我尝试在“系统”下的“显示活动概览”操作可用的键盘设置中执行此操作,但是当我按下鼠标按钮时,它仍处于“禁用”状态。

cal*_*ode 8

复制自波西米亚博客文章(现已死亡,Wayback Machine 链接)以防它死亡:

Gnome 3:通过鼠标按钮激活覆盖等

我想通过单击其他未使用的鼠标按钮来激活“Gnome 3/Shell Overlay”。正如我之前发布的,Gnome 3 目前没有任何将动作/功能分配给鼠标按钮的能力。但是有一种方法可以使用 xdotool 和 xbindkeys 使其工作。感谢 AlphaLux(见下面的评论),我能够用 xbindkeys 替换我早期的 easystroke 解决方案。

还有一个名为 easystroke 的程序,它使用鼠标手势来执行快捷方式。我知道这一点的唯一原因是比我更聪明的人在 Ubuntu 论坛上描述了该解决方案。所以,为了“呜呜呜”这片神奇土地的“臭蛋”,我留下了一棵桂冠。. . 并热烈握手回答有关 Gnome 3 中键盘和鼠标快捷键的问题。虽然我在下面包含了两个解决方案,但我建议使用 xbindkeys 解决方案。

首先,描述xdotool、xbindkeys和easystroke的作用:

工具

这个工具是隐形的。您不会直接使用它。但它会让您能够编写命令行指令,告诉您的计算机已按下一个按钮或一组按钮。不仅如此,但对于我们的目的而言,这才是最重要的。

绑定键

此工具允许您将键盘和鼠标键绑定到 shell 命令。

易中风

此工具允许您使用“鼠标手势”向计算机提交命令。鼠标手势类似于“触摸手势”,它是较新的触摸界面计算机系统(如 Apple 的 iOS 甚至 OSX 通过其不断增长的触摸板以及 Android、Windows Phone 7 等)的重要组成部分。下面的说明将使用这个程序只是按下鼠标按钮。我今天不会谈论手势。

使用 xbindkeys 制作鼠标按钮

如上所述,我使用此功能的唯一动机是召唤 Gnome Shell 概述。下面的说明将描述如何做到这一点。随意替换您自己认为合适的功能。希望这些说明会以足够清晰的方式编写,以便轻松完成。

  1. 将键盘输入分配给所需的功能

System Settings > Keyboard > Shortcuts 在我的例子中,我将 Show the activity overview 设置为 Menu 键,因为我使用 Super/Windows 键进行三级和四级切换。

  1. 安装 xdotool 和 xbindkeys

您必须找出适合您的 Linux 风格的最佳/最简单的方法。如果您正在运行 Ubuntu,您可以通过软件中心或:

sudo apt-get install xbindkeys xdotool
Run Code Online (Sandbox Code Playgroud)
  1. 使用 xev 确定鼠标按钮标识

打开终端并输入此命令

xev
Run Code Online (Sandbox Code Playgroud)

Xev 将创建一个小的、空的窗口。将鼠标悬停在此窗口上,然后单击鼠标上的各种按钮。在你点击 xev 后会告诉你那个按钮的身份。现在您知道了它们的身份,我们可以使用 xbindkeys 将它们与 shell 命令相关联。

  1. 配置 xbindkeys

打开终端并输入以下命令:

gedit ~/.xbindkeysrc
Run Code Online (Sandbox Code Playgroud)

并按 Enter。这将在 Gedit 中打开 xbindkeys 配置文件。它应该是一个空白文件。将以下内容添加到文档中并保存。

# Gnome Shell Mouse Button 8 to Overview
"xdotool key Menu"
release + b:8
Run Code Online (Sandbox Code Playgroud)

以上配置设置鼠标按键8激活Gnome Shell概览。第一行是一条注释,可帮助您记住此设置的作用。第二行定义了要在双引号内执行的 shell 命令。第三行定义按钮动作,在这种情况下,在释放鼠标按钮 8 时,将执行命令。

  1. 将 xbindkeys 设置为在登录时自动启动

从 Gnome Shell 概览 > 应用程序列表中,查找“启动应用程序”并启动它。应用程序窗口出现后,单击添加按钮。您可以随意为条目命名,但“xbindkeys”非常简洁。最重要的是,在命令输入中输入以下内容:

xbindkeys &
Run Code Online (Sandbox Code Playgroud)

正确输入后,单击“确定”,然后单击“关闭”。现在 xbindkeys 将在登录时自动启动。

制作一个鼠标按钮,用easystroke让事情发生

  1. 安装 xdotool 和 easystroke

您必须找出适合您的 Linux 风格的最佳/最简单的方法。如果您正在运行 Ubuntu,您可以通过软件中心或:

sudo apt-get install easystroke xdotool
Run Code Online (Sandbox Code Playgroud)
  1. Easystroke 偏好设置

启动 Easystroke。转到首选项选项卡。在“行为”部分下,单击“手势按钮”按钮。将光标移动到结果窗口中的空白灰色区域,然后单击要关联到激活 Gnome Shell 活动叠加层的鼠标按钮(或单击鼠标按钮尝试执行的任何操作)。单击后,您应该会在小窗口底部看到设置的更改。就我而言,我有一个罗技激光鼠标,我使用的是“Button 8”。同样在外观部分下,选中“自动启动 Easystroke”选项。

  1. 创建新的 Easystroke 动作

转到操作选项卡。单击添加操作按钮。将操作命名为“通过鼠标叠加”。类型应为“命令”,详细信息为:

xdotool key Menu
Run Code Online (Sandbox Code Playgroud)
  1. 将鼠标按钮与 Easystroke 操作相关联

在 Easystroke 中,通过单击突出显示您的新“操作”。单击“记录笔划”按钮。将光标移动到生成的小窗口,然后单击所需的鼠标按钮。单击“是”按钮以确认您的鼠标按钮输入。完成后单击隐藏按钮。

同样,除非您特别想使用鼠标手势,否则我认为 xbindkeys 是比 easystroke 更好、响应更快的解决方案。您应该能够立即测试这个奇特的新功能。如果没有,请尝试注销并重新登录。享受吧。