如何为所有鼠标按钮分配动作?

如何为所有鼠标按钮分配动作?

我有一个带很多按钮的鼠标,但它不是像 Logitech 这样的主流品牌。对于 Windows,我有一个驱动程序,可以让我分配诸如关闭窗口 (Ctrl+W) 或下一个选项卡 (Ctrl+Tab) 之类的操作,但我没有 Linux 驱动程序。由于 Linux 非常灵活,我想也许有一种通用的方法可以做到这一点,无论品牌如何?

更新:根据 Cyrex 的输入,我安装并运行后sudo apt-get install btnx发现了几个鼠标按钮,但不是全部。
发现:左、右、滚轮、滚轮点击、拇指向前、拇指向后。
未找到:左轮,右轮,拇指中间按钮。
供应商 ID 为 0x04d9,型号 ID 为 0xa015。

更新 2:在系统>首选项>鼠标中有一个灯泡图标,用于测试双击速度。每个可用的按钮都可以打开和关闭灯泡,但缺失的按钮则不能。看起来 Ubuntu 没有意识到这些按钮,因此没有记录它们的点击。我想我需要寻找一个驱动程序,尽管主流鼠标可能是更简单的方法。

答案1

我有一台 MX Anywhere“M-R0001”

我使用前进和后退按钮作为复制和粘贴。

步骤:
1)使用最后一个内核检测所有按钮……至少使用

uname -a

3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6 20:47:07 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

2) 因此,基本上,您只需要将那些按钮映射到所需的操作。如何知道按下了哪个按钮以及对应的数字代码?好吧,您可以使用“xev”程序:

xev

此程序是一个按键和鼠标事件嗅探器。运行时,您可以看到一个窗口,您可以在其中按下鼠标按钮并查看是否检测到它们。例如,使用 Performance MX 的缩放按钮,您将看到类似以下内容:

ButtonPress event, serial 35, synthetic NO, window 0x5800001,
    root 0x15a, subw 0x0, time 64521438, (84,117), root88,144),
    state 0x10, button 13, same_screen YES

这意味着 13 是该鼠标按钮的代码。您可以尝试手上的每个鼠标按钮...为方便访问,以下是 Performance MX 的映射:

  • 返回按钮:8
  • 前进按钮:9
  • 缩放按钮:13
  • 显示窗口按钮:10

其他按钮很容易识别,您不需要映射到操作。

3) 现在,您需要安装一个小程序来重新映射鼠标和键盘输入。魔术师是“xbindkeys”...简单的安装方法是使用:

sudo apt-get install xbindkeys

4) 安装后,您就可以施展魔法了。想法是配置鼠标按钮以发送组合键来激活其他桌面功能(事实上,当您按下鼠标按钮时,xbindkeys 可用于执行任何其他程序)。在 KDE 中,您可以使用 Ctrl+F10 组合键来执行此操作。关键是创建一个 xbindkeys 配置文件来完成这项工作。

5)要创建配置文件,只需运行以下命令:

xbindkeys --defaults > $HOME/.xbindkeysrc

6)我们需要编辑文件来指定按钮的映射:

gedit $HOME/.xbindkeysrc

7)我们需要添加按钮到键的配置。例如,我有以下内容:

# Back changed to Copy
"xte 'keydown Control_L' 'key C' 'keyup Control_L'"
  b:8

# Forward
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L'"
  b:9

# Present desktops
"xte 'keydown Control_L' 'key F8' 'keyup Control_L'"
  b:13

# Present windows
"xte 'keydown Control_L' 'key F10' 'keyup Control_L'"
  b:10

8) 有一个新的需求。'xte' 程序,它基本上模拟用户按键组合。使用以下命令安装它:

sudo apt-get install xautomation

现在,如果你在终端上运行类似以下命令:

xte 'keydown Control_L' 'key F10' 'keyup Control_L'

这意味着模拟Ctrl+F10按键。这个想法是使用 xbindkeys 来表示:“当我按下第 13 个鼠标按钮时,使用 xte 程序发送Ctrl+F10键盘按下来生成该按钮”

9) 最后,您需要配置“xbindkeys”以在系统启动时自动运行。启动应用程序/添加程序按钮并在对话框中输入“/usr/bin/xbindkeys”。

完毕

答案2

在此处输入图片描述

易行是一款适用于 Ubuntu 和其他 Linux 发行版的鼠标手势识别应用程序和鼠标手势管理器。它允许用户使用手绘鼠标手势或在屏幕上绘图来控制 Ubuntu 应用程序。Easystroke 可在平板电脑上运行,如果您有触摸屏,也可以用鼠标、笔甚至手指同样好地使用它。

在 Ubuntu 中安装 Easystroke

sudo apt-get install easystroke

如果要通过 PPA 安装 easystroke,可以添加 PPA 存储库,输入以下命令:

sudo add-apt-repository ppa:easystroke/ppa
sudo apt-get update
sudo apt-get install easystroke

对于 Unity 用户:EasyStroke 尚未使用指示器小程序,因此当您从菜单运行它时,指示器小程序上没有任何内容。要解决此问题,只需在终端中运行以下命令:

easystroke -g

它将自动运行 EasyStroke 并打开配置窗口。

来源

答案3

如果所有按钮都正确检测到,那么您可以安装 btnx:

sudo apt-get install btnx或者sudo aptitude install btnx

然后前往:应用程序 -> 系统工具 -> Btnx

它支持多种类型的鼠标

答案4

如果你安装CompizConfig 设置管理器 安装 CompizConfig 设置管理器然后你将能够设置很多窗口管理鼠标按钮的快捷方式。

可能需要花费一些力气才能弄清楚哪个按钮是哪个。

在屏幕截图中,我将打开 Super+Tab 切换器指定为滚轮左键单击。

截屏

相关内容