如何为Logitech Anywhere Mouse MX的水平滚轮分配“后退”和“前进”动作?


11

我在Ubuntu上使用Logitech Anywhere Mouse MX。鼠标效果很好,但是我无法将操作分配给它上可用的其他按钮。我最想念的是分配给滚轮左右倾斜的“后退”和“前进”动作。

如何激活这些功能?

Answers:


9

xbindkeys与结合使用xdotool

.xbindkeysrc在您的主目录中创建一个文件。它必须包含:

# Mapping BACK to mousewheel left on old Logitech
"xdotool key Alt_L+Left"
m:0x0 + b:6

# Mapping FORWARD to mousewheel right on old Logitech
"xdotool key Alt_L+Right"
m:0x0 + b:7

但是,使用VMware,除了添加外,您无需执行其他任何操作

mouse.vusb.enable = "TRUE"

到主机系统中的.vmx文件。这是每次启动来宾系统时VMware打开的功能。


谢谢。下次重启系统时,我将测试vmx行(这种情况不会经常发生)。
ysap 2013年

刚尝试过vmx文件黑客攻击-似乎没有用。我看到的是,当我重新启动计算机时,VMware会删除我刚刚添加的行,就好像它具有默认文件模板一样,每次启动计算机时都会被重置。
ysap

好的,看来我必须一直走下去并关闭计算机,而不是仅重新启动。现在,设置被保留。不幸的是,现在远程操作时,鼠标滚轮似乎无效(与主机相同)。我将在远程站点再次检查并报告结果。
ysap 2013年

哦,是的-刚刚检查了一下,就可以了!
ysap 2013年

显然,您需要xbindkeys在设置后运行。
HongboZhu

18

我有同样的鼠标,我想将鼠标侧面的两个按钮绑定到前进和后退。这是我解决的方法:

1)使用实用程序“ xev”来确定要重新映射的按钮对应的编号。您可能需要使用以下命令安装此软件包

sudo apt-get install xev  

一旦安装了xev,请在终端中键入“ xev”,然后弹出一个带有黑框的白色X窗口。将鼠标移到该窗口中,将开始向终端注册事件。仔细阅读该输出将告诉您鼠标按钮的数量。在我的鼠标上,左右倾斜分别映射到按钮6和7。

2)现在,我们将使用实用程序“ xbindkeys”将鼠标按钮重新映射为按键。如果您尚未安装此程序,则可能需要安装

sudo apt-get install xbindkeys

3)在您的主目录中创建一个名为“ .xbindkeysrc”的文件。这就是xbindkeys读取的内容,以查看您要重新映射的内容。我的.xbindkeysrc文件的内容是:

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Left]""
   m:0x0 + b:8

 "/usr/bin/xvkbd -xsendevent -text "\[Alt_L]\[Right]""
  m:0x0 + b:9

因此,这告诉我的计算机每当分别按下鼠标0上的按钮8或按下鼠标0上的按钮9时,就使用虚拟键盘(xvkbd)向系统发送键盘按钮“ Alt + Left”或“ Alt + Right”。这些键对应于大多数应用程序中的前进和后退键。例如,在Nautilus,chrome /

注意xvkbd如果系统上尚不存在,则可能需要安装。sudo apt-get install xvkbd


谢谢。运行xev实用程序,我确实看到了很多信息,尽管向上和向下滚动功能已映射到键4和5,但在倾斜滚轮或单击两个侧面按钮时都不会发生任何事件。有什么想法吗?
ysap 2012年

出于某种原因,您的系统可能无法识别鼠标发出的信号。在这种情况下,您应该在/ var / log / messages或dmesg中看到错误代码。有关此问题以及如何解决此问题的详细信息,请访问以下网址jveweb.net/en/archives/2011/01/…如果这不是问题,我们将不得不对其进行更多研究。
jarvisschultz 2012年

好的,我看了看dmesg日志。这是一长串消息。我到底应该找什么?
ysap 2012年

顺便说一句,我没有在问题中提到它,但它可能会有所帮助-我将Ubuntu用作Windows 7上VMware Player上的来宾OS。根据我在几台设备上的经验,模拟效果非常好,Ubuntu应该可以看到所有鼠标发送的消息。
ysap

1
可能sudo apt-get install xvkbd在这里丢失了吗?
c_korn

5

这是我所做的。无需sudo命令或新软件包:

  • 我用xev->所有按钮都对应一个特定值测试了按钮,这意味着它们可以被系统识别
  • xinput list-> 检查设备- 在我的情况下,鼠标的ID为9
  • xinput list-props 9 显示当前映射,并特别说明按钮标签->似乎向前/向后对应于我没有的按钮8和9(滚轮倾斜度分别为6和7并映射到水平滚动)
  • xmodmap对X而言,通过重新映射绑定对我来说是最方便的解决方案。前五个按钮不应更改(左中键单击并上下滑动),但报告为按钮6和7的按钮应向前/向后导航
  • xmodmap -e "pointer = 1 2 3 4 5 8 9 6 7 10 11 12 13 14 15 16"在终端中执行将按钮6和7与8和9交换(实际上)
  • 如果此映射对您不起作用,请使用还原默认值,xmodmap -e "pointer = default"然后尝试其他映射
  • 现在我在启动应用程序中有按钮交换命令,可以在登录后执行
  • 根据man xmodmap将这个命令存储在一个名为~/.xmodmaprc或将指令附加到~/.bashrc

为我工作。希望这可以帮助。


1
+1:这种xmodmap方法对我立即起作用,但是...是否可以修改特定鼠标的映射?
MestreLion

4

这对我有用:

1)安装xbindkeys

sudo apt-get install xbindkeys

2)安装xautomation

sudo apt-get install xautomation

3)在您的主目录中创建一个文件.xbindkeysrc,其中包含以下内容:

# History Back & Forward
"xte 'keydown Alt_L' 'key Left' 'keyup Alt_L' "
  b:6
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L' "
  b:7

4)转到启动应用程序,然后使用xbindkeys命令添加程序。

5)注销并登录

资料来源:Ubuntu论坛


谢谢,B-Scan。我认为您的意思是将文件放在我的主目录中。我将其放置在此处,xbindkeys并向Startup Apps 添加了一个条目,然后注销并登录并...这不起作用:-(
ysap 2012年

是的,主目录。现在,我看到您正在使用VMware。也许与有关?
B扫描

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.