如何配置轨迹点,以便中键滚动不会被误解为中键粘贴?

jum*_*ett 5 thinkpad clipboard mouse scrolling

我使用的是 Thinkpad USB Trackpoint 键盘,当我尝试使用中键单击和轨迹点滚动时,有时它会执行中键单击粘贴。我不记得我的笔记本电脑上的内置键盘曾经发生过这种情况。

有没有办法配置中间的“鼠标”按钮,这样它就不会将中键滚动误解为中键粘贴?

注意:我不想禁用鼠标中键。我希望能够滚动。

小智 5

这是有关如何禁用鼠标中键的 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]
Run Code Online (Sandbox Code Playgroud)

我的鼠标上印有罗技标志,所以我想我需要最后一个条目。

我可以这样查看当前的按钮映射:

$ 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
Run Code Online (Sandbox Code Playgroud)

真的,只有前三个数字对我有意义。它们代表鼠标左键、中键和右键。

$ xinput get-button-map 4
Run Code Online (Sandbox Code Playgroud)

我可以通过将其设置为 0 来关闭鼠标中键:

$ xinput set-button-map 4 1 0 3
Run Code Online (Sandbox Code Playgroud)

或者我可以通过将鼠标中键设置为 1 来将鼠标中键变成鼠标左键:

$ xinput set-button-map 4 1 1 3
Run Code Online (Sandbox Code Playgroud)

要在每个用户的基础上进行此设置,我可以将该行插入到我的 ~/.xstartup 或其他 init 文件中。也可以通过在 xorg.conf 上配置匹配的 InputClass 部分来完成。

上面的例子没有禁用滚动;如果你想这样做,请看这里