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


28

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

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

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


请说明鼠标按钮9是什么。

@mateo_salta在我面前几秒钟就知道了。

您使用Unity吗?
int_ua 2012年

它是什么牌子和型号的?

@int_ua是的,我努力使用尽可能允许的默认系统配置。
ændrük

Answers:


7

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

sudo apt-get install btnx 要么 sudo aptitude install btnx

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

它支持多种类型的小鼠


我用btnx测试了鼠标,但无法识别我所有的按钮。这是否表示我的鼠标(驱动程序?)或btnx(我猜不太可能)有问题?
2011年

我猜之间。可能是鼠标模块未正确检测到鼠标,因此btnx也没有。您是否可以实际单击所有按钮并查看程序是否可以识别它们,例如鼠标设置中的单击测试。
Luis Alvarado

1
我选择这个作为正确答案,因为btnx允许我立即测试每个鼠标按钮-这证明Ubuntu根本不知道多余的按钮。我需要一个Linux友好的鼠标。
Torben Gundtofte-Bruun'2

19
找不到btnx-软件包名称更改了吗?
诺森本


27

我有一个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”。

完成


7
另外,请注意,使用xev | grep button鼠标按钮进行grep xev通常更容易。.–
Seth

对我来说效果很好,除了出于某种原因我不必编写脚本使其从我的计算机开始。谢谢!
舒尔

我将如何制作一个鼠标按钮,使其像其他鼠标按钮一样工作?这似乎特别适合于钥匙。例如,我希望按钮8像按下鼠标滚轮按钮一样起作用。xte有可能吗?
舒尔

10

在此处输入图片说明

Easystroke是适用于Ubuntu和其他Linux发行版的鼠标手势识别应用程序和鼠标手势管理器。它允许用户使用手绘鼠标手势或在屏幕上绘制来控制ubuntu应用程序。Easystroke可在Tablet PC上使用,如果您使用的是触摸屏,则可以与鼠标,钢笔甚至手指一起使用。

在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并自动打开配置窗口。

资源


无法识别Logitech G700上的多余按钮。
Dan Dascalescu

5

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

要以这种方式使用它,

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

    简易笔划手势识别-选择鼠标或笔按钮

  3. 在“ 操作”中,单击“ 添加操作”

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

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

    易泳手势识别-动作


5

如果安装CompizConfig设置管理器, 安装CompizConfig设置管理器则可以设置许多窗口管理鼠标按钮快捷方式。

找出哪个按钮可能需要一些时间。

在屏幕快照中,我将打开Super + Tab切换器分配给滚轮的左键单击。

屏幕截图





1

在2017年中,似乎没有针对Ubuntu 16.04 LTS的任何更新的btnx软件包,并且easystroke也似乎不再得到维护。

我想将复制/粘贴分配给我的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服务器,设置启动该工具一起IMWHEEL_START=1/etc/X11/imwheel/startup.conf


0

接受的答案已过时,这是更新的版本。

您应该已经拥有了它们,因为它们应该随Ubuntu一起提供,但是为了以防万一,请运行它。

sudo apt-get install libdaemon-dev libglade2-dev libgtk2.0-dev 

现在,下载并安装

1)btnx-config 2)btnx按此顺序。

安装:

解压缩,并cd进入每个文件夹。

在每个运行:

./configure make
sudo make
sudo make install

两者都安装后,运行

sudo btnx-config

在“配置”选项卡中,单击“检测鼠标和按钮”

在此处输入图片说明

在“按钮”选项卡中,为鼠标按钮分配一个键或功能。确保已启用☑复选标记

在此处输入图片说明

最后,在“配置”选项卡中,单击“重新启动btx”按钮,以使您的更改生效。

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.