我安装了 Ubuntu 16.04,但有一个与鼠标 (RAT 3) 相关的错误。我无法正常使用左键单击。有时我必须打开一个窗口才能在另一个窗口中使用鼠标。
答案1
这是 Ubuntu 的一个常见错误。请尝试执行以下操作:备份 xorg.conf 文件
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.orig
可能文件不存在。这没有必要。
无论如何编辑该文件sudo nano /etc/X11/xorg.conf
并粘贴以下内容:
Section "InputClass"
Identifier "Mouse Remap"
MatchProduct "Saitek Cyborg R.A.T.3 Mouse"
MatchDevicePath "/dev/input/event*"
Option "ButtonMapping" "1 2 3 4 5 6 7 0 0 0 0 0 0 0"
EndSection
按Ctrl+O保存并按Ctrl+X退出编辑器。重新启动即可使用!
答案2
本文来自 Arch Linux wiki 的 Ubuntu 16.04 在我的笔记本电脑上运行良好。
以下是最相关的部分:
禁用按钮解决方案
这些问题是由 RAT 模式按钮和 X 服务器之间的交互引起的。要恢复正常功能,必须禁用“模式”按钮,如下所示:
使用 root 权限创建并编辑文件
/etc/X11/xorg.conf.d/50-vmmouse.conf
添加以下内容:
Section "InputDevice" Identifier "Mouse0" Driver "evdev" Option "Name" "Saitek Cyborg R.A.T.3 Mouse" Option "Vendor" "06a3" Option "Product" "0ccc" Option "Protocol" "auto" Option "Device" "/dev/input/event4" Option "Emulate3Buttons" "no" Option "Buttons" "7" Option "ZAxisMapping" "4 5" Option "ButtonMapping" "1 2 3 4 5 6 7 0 0 0 0 0 0 0" Option "Resolution" "3200" EndSection
重新启动 X 服务器后,鼠标应该可以完全正常工作,包括两个侧面的按钮。
[...]
手动按钮映射修复
请注意,RAT3 鼠标有两个不同版本,分别是 Saitek 和 Madcatz,必须将其正确输入到“MatchProduct”中,否则您将遇到同样的问题。
首先找出鼠标的 ID 和名称:
xinput list | grep "id"
您应该会看到您的鼠标标记为“Madcatz Mad Catz RAT3 Mouse”或“Saitek Cyborg RAT3 Mouse”。记下设备 ID 号,然后输入以下命令:
xinput query-state ID
(其中ID对应您鼠标的ID号)
注意当前激活的是哪种“模式”颜色(红色/蓝色/紫色),以及哪些按钮编号对应于当前“模式”,即“向上”或“向下”。更改鼠标“模式”,然后重新输入上述命令,注意哪些按钮更改状态以匹配“模式”。
例子:
U = up D = down U U U U U D D U U D D D U U Option "ButtonMapping" "1 2 3 4 5 0 0 8 9 0 0 0 13 14"
其中按钮 10、11 和 12 已被标识为“模式”按钮,因此可以通过用零来禁用它们。
当您确定了哪些按钮编号与鼠标“模式”相对应时,您应该能够编辑 xorg.conf 文件并通过在按钮序列中的相应位置插入零来禁用它们。在您选择的编辑器中打开以下文件之一:
/etc/X11/xorg.conf /etc/X11/xorg.conf.d/50-vmmouse.conf
创建一个覆盖模式按钮的块,如下所示:
MadCatz RAT3:
# RAT3 mouse Section "InputClass" Identifier "Mouse Remap" MatchProduct "Madcatz Mad Catz R.A.T.3 Mouse" MatchDevicePath "/dev/input/event*" Option "ButtonMapping" "1 2 3 4 5 6 7 8 9 0 0 0 13 14 15 16 17 18" EndSection
此配置适用于我的旧 Saitek Cyborg RAT3:
# RAT3 mouse Section "InputClass" Identifier "Mouse Remap" MatchProduct "Saitek Cyborg R.A.T.3 Mouse" MatchDevicePath "/dev/input/event*" Option "ButtonMapping" "1 2 3 4 5 0 0 8 9 0 0 0 13 14" EndSection