我使用的是 Thinkpad USB Trackpoint 键盘,当我尝试使用中键单击和指点进行滚动时,有时它会执行中键粘贴。我不记得我的笔记本电脑上的内置键盘曾经发生过这种情况。
有没有办法配置中间的“鼠标”按钮,这样它就不会将中键单击滚动误解为中键单击粘贴?
注意:我不想禁用鼠标中键。我希望能够滚动。
答案1
这是有关如何禁用鼠标中键的 Ubuntu Wiki 条目。这应该适用于任何使用 X 的系统。
示例:禁用滚轮鼠标上的鼠标中键粘贴
滚轮鼠标支持按下滚轮时的中键单击事件。这是一个很棒的功能,但您可能会觉得它很烦人。幸运的是它可以被禁用。
首先,你需要知道鼠标的 id,如下所示:
$ xinput list | grep 'id=' "Virtual core pointer" id=0 [XPointer] "Virtual core keyboard" id=1 [XKeyboard] "AT Translated Set 2 keyboard" id=2 [XExtensionKeyboard] "Macintosh mouse button emulation" id=3 [XExtensionPointer] "Logitech USB-PS/2 Optical Mouse" id=4 [XExtensionPointer]
我的鼠标上印有罗技标志,所以我想我需要最后一个条目。
我可以这样查看当前的按钮映射:
$ xinput get-button-map 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 10
确实,只有前三个数字对我有意义。它们代表鼠标左键、中键和右键。
$ xinput get-button-map 4
我可以通过将鼠标中键设置为 0 来关闭它:
$ xinput set-button-map 4 1 0 3
或者我可以将鼠标中键设置为 1,将其变为鼠标左键:
$ xinput set-button-map 4 1 1 3
为了在每个用户的基础上进行此设置,我可以将该行插入到我的 ~/.xstartup 或其他初始化文件中。也可以通过在 xorg.conf 上配置匹配的 InputClass 部分来完成。
上面的例子并没有禁用滚动;如果你想这样做,请参阅这里。
答案2
在 Ubuntu 17 和 XFCE 中,鼠标中键复制粘贴根本不起作用。同样适用于 Fedora 26 XFCE,相同的解决方案适用于 Fedora 26 鼠标中键粘贴 (qed):
解决方案
要启用鼠标中键粘贴功能,请编辑 xinput.txt 文件。
查询您的设备以识别您的鼠标(我的设备被列为设备 10):
xinput list
列出鼠标设置:
xinput list-props <your_mouse_device_number>
更改“libinput Middle Emulation Enabled (294):”的值(以 root 身份):
sudo xinput set-prop 10 "libinput Middle Emulation Enabled" 1
检查值是否更改为 1:
xinput list-props 10
输出应该是libinput Middle Emulation Enabled (294): 1
非常非常感谢吉尔斯(https://unix.stackexchange.com/users/885/gilles)谁找到了解决方案!