附注

附注

我有 Logitech MX5500 鼠标和键盘组合。当我按下鼠标滚轮时,它会释放滚动点击器并允许滚轮自由旋转。再次按下鼠标滚轮会关闭自由旋转并重新锁定滚轮或使其在每次滚动时点击。

当我以前使用 Windows 时,Logitech 驱动程序安装了一个软件,允许我轻松选择按键绑定、自定义键盘上的显示设置(我从来没有看过并且对此一无所知;我甚至根本不使用键盘)并且最重要的是,可以在将鼠标中键作为 MOUSE3 处理或在自由旋转和点击滚动之间切换之间切换的选项之间切换。

我相信这个软件叫做 Logitech SetPoint。通常,您会选择设置鼠标滚轮上的绑定,并将其从“Shift 滚动模式”更改为“中键”,但 Logitech 不提供任何 Linux 支持。经过一番研究,我发现了一款​​名为 HIDPoint 的软件,旨在模拟 Linux 系统的 SetPoint,但它似乎在过去几年中没有更新或支持,因为它列出了最新支持的 Ubuntu 版本为 10.10。我尝试安装它,但没有成功。据我所知,这个项目似乎已被放弃。考虑到它有多有用,这真是太可惜了。

我找不到有关此问题的任何在线文档,但我确实找到了一些有关设置自定义鼠标绑定的文档。 这里概述了一个使用 imwheel 的指南:

https://help.ubuntu.com/community/ManyButtonsMouseHowto

我有点困惑,我怎么知道哪个命令执行了哪些任务。此外,我在尝试运行 imwheel 时遇到错误。

本指南更加有意义:

如何配置 Logitech 鼠标中的额外按钮

我可以用它来弄清楚我的鼠标绑定,但我再次不知道如何弄清楚将哪些命令或脚本绑定到哪个键。

=========================================

附注

=========================================

是否有类似 xev 的应用程序可以显示操作完成的命令输出?这样,人们就可以像鼠标绑定一样轻松地获得他们想要绑定到脚本的操作。

例如:使用 xev 我单击鼠标上的每个按钮以查看它具有哪些绑定。如果我想将鼠标按钮绑定到 ctrl,我会添加:

“xte‘键 Control_L’”b:1

到我的 .xbindkeysrc 文件,或者如果我想绑定一个键来切换工作场所(在 KDE 中,从另一个教程复制),我会添加:

“qdbus org.kde.kwin /KWin org.kde.KWin.previousDesktop”

b:6

“qdbus org.kde.kwin /KWin org.kde.KWin.nextDesktop”

b:7

但是编写这些教程的人知道这些命令或能够以某种方式弄清楚它们。假设 b:6 和 b:7 是我的前进和后退鼠标按钮,我想将它们绑定到 VLC 中的上一首曲目和下一首曲目。有没有像 xev 这样的程序,我可以让它运行,然后在 VLC 打开的情况下,当我按下 VLC 中的下一个按钮时,它会将传递给 VLC 的命令输出到终端?这样就可以将命令从终端复制到 .xbindkeysrc

据我所知,这里提到的最佳解决方案是:

http://blog.hanschen.org/2009/10/13/mouse-shortcuts-with-xbindkeys/

是在您想要使用的任何程序中设置键盘快捷键,然后将鼠标按钮绑定到键盘键组合。对于进行自定义鼠标绑定的人来说,这是最好的工作解决方案吗?

Linux 和 Ubuntu 似乎很少对自定义鼠标绑定感兴趣和支持,这对我来说尤其奇怪。我认为这是一个更常见的问题,这让我相信有一些我从未见过的关于这个问题的文档可以澄清一切或使一切变得更容易。

到目前为止,我知道如何设置自定义鼠标绑定,但不知道如何确定将鼠标按钮绑定到什么。Logitech SetPoint 软件使这变得非常简单,只需选择按钮,然后选择应用程序和特定功能(例如媒体播放器 > 下一曲目或媒体播放器 > 上一曲目,用于前面提到的 VLC 中的曲目跳过)。

=====================================

旁注结束

=====================================

遗憾的是,整个按键绑定甚至没有帮助我更接近解决问题,因为在 xev 中单击鼠标滚轮完全没有输出。所有其他按钮都会在移动鼠标或滚轮的同时提供输出。向上滚轮注册按钮 4,向下滚轮注册按钮 5,但单击滚轮只会切换滚动模式,而不会在 xev 中执行任何操作。

所以我想我可以找到 mouse3 或鼠标中键单击的命令并将其绑定到...b:3(我猜?)但我想这可能不起作用因为我的鼠标滚轮没有鼠标绑定。

我记得当我第一次从 Windows 7 安装 Ubuntu 12.10 时,我在 Windows 7 中安装了鼠标驱动程序,并将鼠标滚轮绑定设置为中间按钮。然后我删除了 Windows 7 并安装了 Ubuntu 12.10,鼠标还是一样。重新安装 12.10(或者可能是升级到 13.04)后,我的鼠标滚轮又回到了切换滚动模式。每次后续安装都导致相同的配置,从那时起我就无法解决这个问题。

我的计算机知识告诉我,这与鼠标本身的只读内存有关,即通过计算机命令打开/关闭的开关。我猜想开关是由 Windows 中的驱动程序关闭的(将滚轮转回中键单击,而不是滚动模式切换器),并且可能在 Ubuntu 安装期间的某个时间点重置。我想我会寻找某种命令来向鼠标发送消息以翻转开关?

任何帮助都将不胜感激。我真的不知道如何解决这个问题,我已经用尽了所有的互联网搜索能力。我似乎找不到任何方法将鼠标滚轮重新设置为中键单击,而不是切换滚动模式。谢谢。

答案1

这一年来,我一直在寻找解决这个问题的方法。

我有一个解决方案,它可以解决问题中提出的主要问题并修复 MX5500 革命的鼠标中键功能。

我不知道如何使用键绑定来修复它,或者对于您的键绑定问题真的能提供任何帮助。

我能够通过安装一款名为 revoco 的软件,并使用该软件更改鼠标上的固件设置,以设置释放自由旋转之前的自动旋转点击次数,从而将鼠标中键恢复到我的 MX5500 revolution。当轮子停止时,自由旋转会再次锁定。

这里有一份指南:http://ensourced.wordpress.com/2011/10/24/linux-mx-revolution-and-the-middle-mouse-button/

这有点过时了,而且链接也坏了,但我会在这里一步一步地发布我所做的一切,希望它能对其他人有所帮助。

因此,下载 revoco 的指南链接已损坏。幸运的是,一位评论者发布了一个更新的链接,该链接仍可用。我将在下面的指南中链接到此链接。

1. 首先打开一个终端并创建一个用于制作 revoco 的文件夹(在 Ubuntu 中按 ctrl+alt+t 键进入终端)并下载必要的文件(我使用了 wget,您可以按照自己喜欢的方式执行此操作),输入:

mkdir revoco
cd revoco
wget http://maemo.cloud-7.de/mx-revolution/revoLUTIONconTROL/Makefile
wget http://maemo.cloud-7.de/mx-revolution/revoLUTIONconTROL/bonoboware.txt
wget http://maemo.cloud-7.de/mx-revolution/revoLUTIONconTROL/mx-revo-full-lsusb.txt
wget http://maemo.cloud-7.de/mx-revolution/revoLUTIONconTROL/revoco
wget http://maemo.cloud-7.de/mx-revolution/revoLUTIONconTROL/revoco-orig.c
wget http://maemo.cloud-7.de/mx-revolution/revoLUTIONconTROL/revoco.c
wget http://maemo.cloud-7.de/mx-revolution/revoLUTIONconTROL/revoco.o

2. 现在您需要找到 hid2hci.rules 文件并将 MX5500 Revolution HID 设置为 Raw。

该文件的位置如下:

locate hid2hci.rules

我的文件是 /lib/udev/rules.d/97-bluetooth-hid2hci.rules

现在以 root 身份编辑此文件

gksu gedit /lib/udev/rules.d/97-bluetooth-hid2hci.rules

并找到这一行

# Logitech devices
KERNEL=="hiddev*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c70[345abce]|c71[3bc]", \
  RUN+="hid2hci --method=logitech-hid --devpath=%p"

并将“hiddev*”更改为“hidraw*”然后关闭并保存。

3. 现在制作 revoco 并复制到我们可以运行的目录中,并使其可执行:

cd revoco
make
sudo mv revoco /usr/bin
cd /usr/bin
chmod +x revoco

4. 最后一步是使用 revoco 设置自动旋转的点击次数。

我喜欢 20,因为这意味着我可以通过 2 次强力滑动来解锁自由旋转,但是当我尝试快速单击滚动时它永远不会解锁(基本上在/I/想要时准确锁定和解锁,但您应该调整点击次数,直到找到最适合您的方法)。

revoco auto=20

就是这样。如果您不想使用自由旋转,请将自动设置为 100 或其他值。无论哪种方式,这都会恢复 MOUSE3 即鼠标中键单击功能。我希望这对大家有所帮助。

这是在 Ubuntu 13.10 Saucy Salamander 与 MX5500 Revolution 蓝牙鼠标和键盘组合在几台不同的机器上进行的测试。

相关内容