如何配置 Trackpoint,以便中键单击滚动不会被误解为中键单击粘贴?

如何配置 Trackpoint,以便中键单击滚动不会被误解为中键单击粘贴?

我使用的是 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 文件。

  1. 查询您的设备以识别您的鼠标(我的设备被列为设备 10):

    xinput list
    
  2. 列出鼠标设置:

    xinput list-props <your_mouse_device_number>
    
  3. 更改“libinput Middle Emulation Enabled (294):”的值(以 root 身份):

    sudo xinput set-prop 10 "libinput Middle Emulation Enabled" 1
    
  4. 检查值是否更改为 1:

    xinput list-props 10
    

输出应该是libinput Middle Emulation Enabled (294): 1

非常非常感谢吉尔斯(https://unix.stackexchange.com/users/885/gilles)谁找到了解决方案!

阅读更多:https://wiki.ubuntu.com/X/Config/Input

相关内容