有没有办法可以禁用 gnome 上默认的鼠标中键粘贴行为?
我的鼠标滚轮很灵敏,每当我滚动文本时,它有时会将内容随机粘贴到文本中。当我将一个文件发送给其他人时,如果文件上到处都是随机粘贴的文本片段,我会失去很多可信度。
我见过解决方案通过将鼠标的中键映射到不存在的鼠标按钮来实现,但这意味着完全摆脱鼠标中键(即没有标签关闭、自动打开新标签中的链接等)。我想保持鼠标中键处于活动状态,只需禁用粘贴行为即可。
当我使用触摸板滚动文本时也会发生这种情况(不小心用两根手指碰到而没有移动,砰)。
因此,仅更换一个新鼠标并不能解决问题(事实上,我相信这种情况在触摸板上比在鼠标上更常见)。
答案1
我使用 gnome-tweak-tool 来禁用 Ubuntu 16.04 中的中间按钮粘贴。
安装
sudo apt install gnome-tweak-tool
通过在已安装的应用程序中搜索“调整工具”来运行它,或者只需
gnome-tweak-tool
在终端中输入即可。- 转到“键盘和鼠标”->“鼠标中键粘贴”
关。
就是这样。
gsettings set org.gnome.desktop.interface gtk-enable-primary-paste false
已于 16.04 测试。
答案2
我意识到这不是您想要的答案,但您可以在 Firefox 中关闭此功能(例如,如果您不介意在其他地方使用该功能,但仍希望在 Firefox 中单击鼠标中键以在新选项卡中打开链接)
在 about:config 中,设置
middlemouse.contentLoadURL false
middlemouse.paste false
这不是你问的,但是因为这个问题与几个地方有关,我希望有人觉得这个答案有用。
答案3
Jared Robinson 给出了一个简单的解决方案在我的计算机上有效:
运行以下命令:
xmodmap -e "pointer = 1 25 3 4 5 6 7 8 9"
为了保持此行为,请编辑 ~/.Xmodmap 并添加
pointer = 1 25 3 4 5 6 7 8 9
答案4
不知何故,我的 Ubuntu 安装中没有任何 xmodmap 文件,所以我不得不寻找解决这个问题的其他方法。
看看新输入命令。
xinput list | grep -i mouse
其中列出了有关鼠标的信息。它显示我的鼠标是“Dell Premium USB Optical Mouse”,并且我有“Macintosh 鼠标按钮模拟”。有了这些信息,我可以
xinput get-button-map "Dell Premium USB Optical Mouse"
这给了我一个列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
以下是一些有用的、必需的知识。理论上,我的鼠标有 18 个按钮。每个按钮的默认操作名称与其按钮编号相同。换句话说,按钮 1 执行操作 1,按钮 4 执行操作 4,等等。操作 0 表示“关闭”。
这位置列表中显示了分配给该按钮的功能。因此,如果我的按钮映射显示
1 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
这意味着按钮 1(位置 1)执行操作 1(正常左按钮),按钮 2(位置 2)执行操作 3(中间按钮),按钮 3(位置 3)执行操作 2(右按钮)。
要制作左手鼠标,你只需要一个按钮图,从
3 2 1 4 5 .....
或者,就你的情况而言,你希望中间按钮执行与按钮 1(左按钮)相同的操作,因此你的地图需要开始
1 1 3 ....
我将按如下方式重置鼠标按钮映射:
xinput set-button-map "Dell Premium USB Optical Mouse" 1 1 3 5 6 6 7 8 9 10 11 12 13 14 15 16 17 18
在您的例子中,您可能拥有不同数量的映射按钮,并且已经定义了一些特殊的按钮映射。同样,您的鼠标也有不同的名称。首先,获取鼠标的“名称”。然后,使用获取按钮图操作来找到您的基本按钮图。最后,使用设置按钮图选项,修改按钮 2 来执行操作 1。
这不是永久性的改变。我在我的.bashrc因此每次我登录或打开终端时它都会执行。
希望这可以帮助。