如何在 12.04 LTS 中启用鼠标中键模拟?

如何在 12.04 LTS 中启用鼠标中键模拟?

如何在 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.

gpointing-device-settings 鼠标中键模拟

控制台/终端解决方案 #1

或者,尝试这个:

gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true

替代解决方案可能需要安装程序gnome-settings-daemon包。

控制台/终端解决方案 #2

使用synclient命令您可以查看您的 synaptics 触摸板选项。

  1. 运行synclient并查看变量您有空。

  2. 您可以使用此命令设置/更改 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。

  1. 查询您的设备:

     xinput list
    

识别您的鼠标。我的鼠标编号是 10。

  1. xinput list-props 10给我鼠标的设置。

  2. 我需要更改“libinput Middle Emulation Enabled (294):”的值,并且需要以 root 身份执行此操作:

     xinput set-prop 10 "libinput Middle Emulation Enabled" 1
    
  3. 检查值是否变为 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

您还可以通过调用以下方法将鼠标中键设置为三指点击

synclient TapButton3=2

(将其放入脚本中并将其添加到启动程序中)

这很奇怪,因为似乎有一个错误报告,该问题应该已经得到修复。

来源:在我的突触触摸板上启用三指点击:

答案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

但是,要分配快捷方式来执行此操作,请转到“设置”>“键盘”,然后进入“应用程序快捷方式”。添加一个新的,指向您创建的文件并分配快捷方式。您现在可以使用此新快捷方式发送中键单击。

相关内容