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

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

更新:根据Cyrex的输入,我安装并运行了sudo apt-get install btnx ,它发现了几个但不是所有的鼠标按钮。
找到:左,右,车轮,wheelclick,拇指前转,拇指后退。
找不到:左转轮,右转轮,拇指中间按钮。
供应商ID为0x04d9,型号ID为0xa015。

更新2:在系统>首选项>鼠标中,有一个灯泡图标用于测试双击速度。 每个工作按钮都可以打开和关闭灯泡,但丢失的按钮不能。 似乎Ubuntu不知道这些按钮,因此没有注册他们的点击。 我想我需要寻找一个驱动程序,虽然主流鼠标可能更容易。

如果正确检测到所有按钮,则可以安装btnx:

sudo apt-get install btnxsudo aptitude install btnx

然后转到: 应用程序 – >系统工具 – > Btnx

它支持许多类型的老鼠

我有一个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)一旦安装完毕,你就可以发挥魔力。 我们的想法是配置鼠标按钮以发送组合键以激活其他桌面function(事实上,当您按下鼠标按钮时,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”。

DONE

在此处输入图像描述

Easystroke是一个用于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并打开配置窗口。

资源

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

可能需要一些努力来确定哪个按钮是哪个。

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

截图

Easystroke手势识别主要用于创建自定义指点设备手势 ,但也可用于为简单的按钮操作分配操作。

要以这种方式使用它,

  1. 打开配置窗口 。
  2. 首选项中▸行为▸其他按钮▸添加 ,选择“ 即时手势” ,然后在灰色框中按所需的鼠标按钮。

    Easystroke手势识别 - 选择鼠标或笔按钮

  3. Actions中 ,单击Add Action

  4. 双击Stoke列,然后再次按下所需的鼠标按钮。

  5. 单击“ 名称” ,“ 类型”和“ 详细信息”列以设置操作。

    Easystroke手势识别 - 行动

如果你想通过apt安装,Olli Salonen有自己的ppa需要添加到你的列表中。 这是关于添加ppa的信息。

https://launchpad.net/~daou/+archive/ppa

此外,这个链接可能有助于在更新版本的Ubuntu上安装,因为我看到Olli现在已经很长时间没有活动了。

来源在这里: http : //github.com/cdobrich/btnx.git它在我的Linux Mint 13上构建并运行没有问题。 警告:btnx-config需要使用root perms运行。

在2017年中期,Ubuntu 16.04 LTS似乎没有更新的btnx软件包,而且easyystroke似乎也不再维护。

我想将复制/粘贴分配给我(几十年前但经过实战考验的) Microsoft IntelliMouse的两个额外按钮,最后定位于imwheel ,这在Ubuntu Wiki的本页中有所描述。

作为参考,这是我的~/.imwheelrc

 # https://help.ubuntu.com/community/ManyButtonsMouseHowto "^(Gnome-terminal|Tilda)" None, Thumb1, Shift_L|Control_L|C None, Thumb2, Shift_L|Control_L|Insert ".*" None, Thumb1, Control_L|C None, Thumb2, Control_L|V # vim:ts=4:shiftwidth=4:syntax=sh 

要与X服务器一起启动该工具,请在/etc/X11/imwheel/startup.conf设置IMWHEEL_START=1

Btnx可从此处下载。