如何在 12.04 LTS 中启用鼠标中键模拟?我认为在上一版本中它默认被禁用。我确信这是一个愚蠢的问题,但我找不到通用答案,它们似乎都是触摸板特定的(即多点触摸相关,我没有),或者使用我认为不是正常的 ubuntu 方法(创建 xorg.conf 文件)。我在戴尔 Inspiron Mini 上使用 xubuntu 变体(xfce)。
我实际上只是在那里测试,如果我同时用两个手指点击,它会弹出一个上下文菜单(如右键单击)。Wired 我不知道这个触控板甚至可以分辨出有两个手指的点击...
以前的行为是同时点击两个触摸板按钮(它们是内置的)会产生鼠标中键单击。现在不会再这样了。我从来不用双击,而是用实际的按钮。
澄清一下,我使用的是内置触摸板,而不是外接鼠标。Gpointings 将其检测为突触触摸,我认为这是正确的
更新 - @medigeek 在下面链接的问题中,我设置了双指点击来模拟中键单击,但我仍然无法同时单击两个按钮
synclient 的输出如下:
LeftEdge = 1760
RightEdge = 5302
TopEdge = 1639
BottomEdge = 4479
FingerLow = 25
FingerHigh = 30
FingerPress = 256
MaxTapTime = 180
MaxTapMove = 232
MaxDoubleTapTime = 180
SingleTapTimeout = 180
ClickTime = 100
FastTaps = 0
EmulateMidButtonTime = 0
EmulateTwoFingerMinZ = 282
EmulateTwoFingerMinW = 7
VertScrollDelta = 105
HorizScrollDelta = 105
VertEdgeScroll = 1
HorizEdgeScroll = 0
CornerCoasting = 0
VertTwoFingerScroll = 0
HorizTwoFingerScroll = 0
MinSpeed = 1
MaxSpeed = 1.75
AccelFactor = 0.0378931
TrackstickSpeed = 40
EdgeMotionMinZ = 30
EdgeMotionMaxZ = 160
EdgeMotionMinSpeed = 1
EdgeMotionMaxSpeed = 422
EdgeMotionUseAlways = 0
TouchpadOff = 0
LockedDrags = 0
LockedDragTimeout = 5000
RTCornerButton = 2
RBCornerButton = 3
LTCornerButton = 0
LBCornerButton = 0
TapButton1 = 1
TapButton2 = 3
TapButton3 = 0
ClickFinger1 = 1
ClickFinger2 = 1
ClickFinger3 = 0
CircularScrolling = 0
CircScrollDelta = 0.1
CircScrollTrigger = 0
CircularPad = 0
PalmDetect = 0
PalmMinWidth = 10
PalmMinZ = 200
CoastingSpeed = 20
CoastingFriction = 50
PressureMotionMinZ = 30
PressureMotionMaxZ = 160
PressureMotionMinFactor = 1
PressureMotionMaxFactor = 1
ResolutionDetect = 1
GrabEventDevice = 1
TapAndDragGesture = 1
AreaLeftEdge = 0
AreaRightEdge = 0
AreaTopEdge = 0
AreaBottomEdge = 0
HorizHysteresis = 26
VertHysteresis = 26
ClickPad = 1
RightButtonAreaLeft = 0
RightButtonAreaRight = 0
RightButtonAreaTop = 0
RightButtonAreaBottom = 0
MiddleButtonAreaLeft = 0
MiddleButtonAreaRight = 0
MiddleButtonAreaTop = 0
MiddleButtonAreaBottom = 0
答案1
GUI 解决方案
安装包gpointing-device-settings
Description-en: configuration tool for pointing devices
GUI tool for setting pointing devices. Currently it can configure mouse type
device (mouse, trackpoint etc.) and touchpads.
.
For mouse you can configure middle button emulation, wheel emulation and
scrolling.
.
It can enable and disable touchpad, or scrolling on it as well as additional
parameters like palm detection, locked drags, tapping and scrolling.
.
It is a successor of GSynaptics.
控制台/终端解决方案 #1
或者,尝试这个:
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true
替代解决方案可能需要安装程序gnome-settings-daemon
包。
控制台/终端解决方案 #2
使用synclient
命令您可以查看您的 synaptics 触摸板选项。
运行
synclient
并查看变量您有空。您可以使用此命令设置/更改 synclient 选项:(
syclient var=1
其中变量是您希望更改的变量,并且1价值)阅读有关每个变量的手册页:http://manpages.ubuntu.com/synaptics
对我有用的
无需弄清楚如何按下触摸板的两个按钮,只需按住/按下两个手指在触摸板上和点击左键单击用第三根手指按下触摸板的按钮。默认情况下,这将模拟中间按钮。
原始海报的效果如何
a) 设置点击按钮两指轻敲的变量作品
b) 如果您仍想单击两个按钮并产生中间按钮模拟,请执行:
synclient EmulateMidButtonTime=100
模拟中间按钮时间允许您更改产生中间按钮所需的时间(允许单击两个按钮的时间段)。100 表示 100 毫秒 (ms)。
您可以将其设置为更高的值,例如synclient EmulateMidButtonTime=500
(500ms)。
答案2
在 Ubuntu 17 和 XFCE 中,鼠标中键复制粘贴根本不起作用。
Ubuntu 20.x 中仍然存在同样的问题。
解决方案
要启用鼠标中键粘贴功能,请编辑 xinput。
查询您的设备:
xinput list
识别您的鼠标。我的鼠标编号是 10。
xinput list-props 10
给我鼠标的设置。我需要更改“libinput Middle Emulation Enabled (294):”的值,并且需要以 root 身份执行此操作:
xinput set-prop 10 "libinput Middle Emulation Enabled" 1
检查值是否变为 1:
xinput list-props 10
是的,它可以工作:“libinput Middle Emulation Enabled (294): 1”
在最近的 Ubuntu 20.x 中,连接了带有 2 个按钮的 Logitech Marble Mouse(旧款,白色型号)后,出现了“libinput Middle Emulation Enabled (292): 0”,我对其进行了相应的更改。
在 Ubuntu 18 和 XFCE 中有一个重大变化:不再有“libinput 按钮中间”。取而代之的是“Evdev 第三个按钮模拟”。所以现在整行是(对于我的机器):
sudo xinput set-prop 10 "Evdev Third Button Emulation" 1
为了使其持久,在~/.xstartup
!中添加一行。
在我的例子中,它看起来与以前相同:
xinput set-prop 10 "libinput Middle Emulation Enabled" 1
这使得它从一开始就有效。
提示:如果您的 Linux GUI 风格或界面不支持 xinput,您每次打开终端时可能会收到一条小错误行。
我们总是欢迎更好的解决方案:-)
我强烈反对 Ubuntu 和 Gnome 决定禁用标准的 Unix 鼠标中键粘贴。即使在 XFCE Ubuntu 17 中,它也受到了严重破坏。希望这个决定背后的管理者能尽快找到一个痛苦的结局。你让我的生活变得艰难。
非常感谢致 Gilles谁找到了解决方案!!!
我在使用 Ubuntu 16、14.10 及更早版本时遇到了同样的问题: Unix 风格的复制粘贴在终端中不起作用。令人失望的默认设置。但是,这里有一个解决方案(部分是其他人出色工作的总结):
- 为了修复终端问题,我成功地将以下几行放入我的xorg配置文件:
(查看 /etc/X11/xorg.conf 是否适合您。对于 Lubuntu 等可能有所不同。)
Section "InputClass"
Identifier "middle button emulation class"
MatchIsPointer "on"
Option "Emulate3Buttons" "on"
EndSection
令人烦恼的是缺少第三个鼠标按钮(触摸板,大理石鼠标) 实际上可以使用“gpointing-device-settings”进行修复。只需使用 CLI 安装:
apt-get 安装 gpointing-device-settings
然后调用gpointing-device-settings
以获取 GUI 窗口。
评论:较新的 Ubuntu 中有一个未修复的错误,它会在重新启动时清除您的设置。您可以设置gpointing-device-settings
自动启动,但仍然需要提示。我不知道有任何合适的配置解决方案。
可能有些步骤需要 sudo 或 root 访问权限。我想您知道。
但是,现在我可以通过标记和鼠标中键使用 unixish 复制粘贴。至少在终端中。对于 Marble Mouse,有一篇单独的文章,其中包含大量配置详细信息。
附录
在 Ubuntu 17 和 XFCE 中,鼠标中键复制粘贴根本不起作用。
Wayland 有所不同。
有时输入
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true
如果运气好的话,它会持续存在。否则,请尝试创建一个启动脚本。
答案3
答案4
我找到了一个使用 xubuntu 14.10 的好解决方案
(我认为这很好,因为它不需要点击即可启用,我不喜欢点击)
首先你需要安装 xdotool
sudo apt-get install xdotool
然后编写一个 bash 脚本来发送鼠标中键单击。你需要编写类似下面的代码
#!/bin/bash
xdotool mousedown 2;
xdotool mouseup 2;
将其保存为您能记住的文件名,例如“MiddleClick.sh”
接下来更改文件的权限,使其可由您自己执行
chmod u+x MiddleClick.sh
现在,您可以通过运行此文件将鼠标中键单击发送到鼠标所在的位置,在终端中它将是
bash MiddleClick.sh
但是,要分配快捷方式来执行此操作,请转到“设置”>“键盘”,然后进入“应用程序快捷方式”。添加一个新的,指向您创建的文件并分配快捷方式。您现在可以使用此新快捷方式发送中键单击。