![使用触摸板时会随机从屏幕上复制粘贴文本](https://linux22.com/image/1555235/%E4%BD%BF%E7%94%A8%E8%A7%A6%E6%91%B8%E6%9D%BF%E6%97%B6%E4%BC%9A%E9%9A%8F%E6%9C%BA%E4%BB%8E%E5%B1%8F%E5%B9%95%E4%B8%8A%E5%A4%8D%E5%88%B6%E7%B2%98%E8%B4%B4%E6%96%87%E6%9C%AC.png)
每当我用两根手指滚动触摸板时,当前窗口中的某些文本行都会被复制粘贴。这种情况很少发生(可能一周一次)。
我确信这不是由与上下文菜单(提供复制粘贴选项)交互引起的,因为我从未看到上下文窗口,并且鼠标光标必须非常快速地移动才能不注意到快速消失的窗口。此外,当我在发生这种情况后切换到文本框时,剪贴板仍然与以前相同。
我之所以将责任归咎于触摸板(驱动程序?),是因为我只在使用触摸板时看到过这个问题。
我在 P51 Lenovo Think Pad 上使用 Fedora 27。
答案1
因为你说“这种情况发生得很很少(可能每周一次)”当您“用两根手指滚动”时,我怀疑在那些时候,您用三根手指点击了触摸板,这(在大多数情况下)被注册为中键单击,导致剪贴板的内容被粘贴。
您可以使用以下两个步骤禁用该功能:
识别触摸板设备 ID:
在命令提示符下输入:
xinput list
这应该会列出所有已识别的 xinput 设备及其 ID。示例输出如下所示,供参考:
⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ ELAN Touchscreen id=12 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [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)] ↳ Video Bus id=8 [slave keyboard (3)] ↳ Power Button id=9 [slave keyboard (3)] ↳ Sleep Button id=10 [slave keyboard (3)] ↳ Integrated Webcam: Integrated W id=11 [slave keyboard (3)] ↳ Dell WMI hotkeys id=13 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
在上面的例子中,触摸板
SynPs/2 Synaptics TouchPad
带有id=15
。禁用触摸板上的中键单击操作:
从 shell/命令提示符输入:
xinput set-button-map 15 1 0 3
解释: 上述命令的格式为:
xinput set-button-map <device-id> <left-button-action> <middle-button-action> <right-button-action>
在这种情况下,
15
是设备的 ID,然后设备 ID 后面的 3 个数字依次代表设备上的left
、middle
和按钮的操作。通过设置按钮的操作,我们将其映射到操作。通过设置按钮的操作,我们将其禁用,同样,通过设置按钮的操作,我们将其映射到操作。right
1
left
left click
0
middle
3
right
right click
希望这能解决您的问题以及其他访问此页面的人的问题。
答案2
这对我来说非常有效。它禁用了三指粘贴。
从命令行:
gsettings set org.gnome.desktop.interface gtk-enable-primary-paste false
要重新启用该功能:
gsettings set org.gnome.desktop.interface gtk-enable-primary-paste true
我在 System76 笔记本电脑上使用 Ubuntu 20.04.5 LTS。