如何关闭所有程序中的“鼠标中键粘贴”功能?

如何关闭所有程序中的“鼠标中键粘贴”功能?

我不喜欢使用鼠标中键粘贴,因为我经常在 Eclipse 中得到无法编译的代码。我怎样才能关闭它(在所有程序中)?我正在运行 Fedora。

答案1

该解决方案将在全球范围内工作并保留 Xorg 下的鼠标中键功能。

  1. 安装xbindkeys xsel xdotool

  2. 将其放入~/.xbindkeysrc

    "echo -n | xsel -n -i; pkill xbindkeys; xdotool click 2; xbindkeys"
    b:2 + Release
    
  3. 重新加载xbindkeys -p

xbindkeys启动时运行,pkill xbindkeys停止。

答案2

滚轮鼠标支持按下滚轮时的中键单击事​​件。这是一个很棒的功能,但您可能会觉得它很烦人。幸运的是它可以被禁用。

首先,你需要知道鼠标的 id,如下所示:

$ xinput list | grep 'id='

打印类似的东西

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜ PixArt Dell MS116 USB Optical Mouse       id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
  Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
  Power Button                              id=6    [slave  keyboard (3)]
  Video Bus                                 id=7    [slave  keyboard (3)]
  Power Button                              id=8    [slave  keyboard (3)]
  Sleep Button                              id=9    [slave  keyboard (3)]
  Dell KB216 Wired Keyboard                 id=10   [slave  keyboard (3)]
  Dell KB216 Wired Keyboard                 id=11   [slave  keyboard (3)]
  Eee PC WMI hotkeys                        id=13   [slave  keyboard (3)]

我的戴尔 USB 鼠标已打印在此处,其 id=12

因此,我可以查看鼠标按钮映射,如下所示:

$ xinput get-button-map 12

打印

1 2 3 4 5 6 7 8 9 10 11 12

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

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

$ xinput set-button-map 12 1 0 3

或者我可以将鼠标中键设置为 1,将其变为鼠标左键:

$ xinput set-button-map 12 1 1 3

参考号关联https://wiki.ubuntu.com/X/Config/Input

它对我有用( kubuntu 18.04 LTS )

答案3

在 Fedora 24 中,您可以gnome-tweak-tool使用以下命令进行安装:

$ sudo dnf install gnome-tweak-tool

打开gnome-tweak-tool并转到“键盘和鼠标”选项卡并禁用“中键单击粘贴”。

答案4

粘贴中间按钮是 Unix 用户界面标准,就像让左侧按钮选择或激活,而右侧按钮执行其他操作(例如扩展、切换、启动菜单等)。您会发现它在大多数 UNIX 应用程序中都与粘贴相关。

如果您的问题是当您将手指放在滚轮上时鼠标过于敏感,我建议您购买更好的鼠标。有很多便宜又好用的老鼠。

您可以将鼠标按钮 2 重新分配给不同的编号。应用程序将鼠标左键、中键和右键分别识别为按钮 1、2 和 3。将此代码放入 X 会话启动时执行的脚本中(如何执行取决于您的桌面环境)。

echo 'pointer = 1 6 3 4 5' | xmodmap -

相关内容