我有一个 Logitech m505 鼠标,它与我的 ubuntu 12.04 配合得很好。但是,中间按钮很难按下,因此在 Windows 中,我使用 Logitech 驱动程序将其指定为向左滚动。因此,如果我要在新选项卡中打开链接,我会将滚动按钮拉向左侧。(我还应该注意,我的鼠标有一个中间按钮,可以上下滚动,可以按下,也可以向左和向右“拉”。)
例如,我可以使用 xbindkeys 执行此操作吗?我想我知道有关鼠标的所有信息:按钮数量、设备名称等。
如果你能帮忙我将非常感激。
答案1
我知道该怎么做了。
首先使用 xev 找出“按钮编号”。在终端中输入 xev,然后在新打开的白色窗口中单击鼠标按钮。终端中会出现许多行,例如:
ButtonPress event, serial 36, synthetic NO, window 0x3c00001,
root 0x15d, subw 0x3c00002, time 10181966, (30,51), root:(1208,104),
state 0x10, button 1, same_screen YES
在我的例子中,“按钮 1”是表示左键单击的数字。
我想用中间按钮切换左滚动,分别是 6 和 2。
接下来是了解输入设备的 id:
xinput list
我有一个针对 Logitech 鼠标的条目:
Logitech Unifying Device. Wireless PID:101d id=10 [slave pointer (2)]
然后,对于 ID 为 10 的输入设备,我输入以下内容将按钮 2 映射到按钮 6,反之亦然:
xinput set-button-map 10 1 6 3 4 5 2 7
这只是暂时的,重启后就会消失。要使它永久生效,您可以编辑 xorg.conf 文件,但这样做会给我带来问题,系统无法启动。相反,我在启动应用程序中创建了一个条目,将最后一个 xinput 命令写入命令。
这有一个缺点——ID 必须保持不变。但是,我不知道它何时以及为何改变,因为我的似乎保持不变。如果让我猜的话,我会说将 USB 接收器插入另一个 USB 端口可以改变 ID。我不确定。