Xubuntu 17.04:鼠标中键行为发生根本性变化的问题

Xubuntu 17.04:鼠标中键行为发生根本性变化的问题

自从从 Xubuntu 16.10 升级到 17.04 以来,我的中键行为出现了非常严重的问题,这严重干扰了我的日常操作,希望有人能给我指出解决方案。

自从升级以来,我就无法再控制中键的使用。我以前可以在 Windows-10 下 QEMU/KVM 窗口的 CAD 程序中使用它来执行手势命令,也可以在 Firefox 浏览器中使用 All-in-One Gestures Add-on 来执行手势命令。多年来一切都运行良好,直到 17.04 版本,鼠标中键按下/按住被抢占为伪滚动功能。由于它影响从浏览器到 KVM 的所有内容,我很确定这是内核驱动程序或 xfce4 中的新内容。

我在没有触摸板的台式机系统上安装了标准的 3 键 Sun USB 鼠标,没有滚轮。我迫切需要恢复以前的鼠标行为,但我不知道发生了什么变化,也找不到有关此问题的任何文档,也找不到“设置”菜单中有关此类鼠标行为的任何控件。

我不知道这是否相关,但该系统默认安装以下软件包:

  • xserver-xorg-输入全部
  • xserver-xorg-输入-libinput
  • xserver-xorg-输入-evdev
  • xserver-xorg-输入-wacom
  • xserver-xorg-输入-synaptics
  • 鼠标调整
  • libgpm2
  • libgpm2:i386

感谢您提供的任何帮助。如果您知道有更好的地方可以发布此类问题,请告诉我。

答案1

在 Ubuntu 17 (17.10, 17.04) 和 XFCE 中,鼠标中键复制粘贴根本不起作用。请针对所有基于 X-server 的系统尝试以下操作。不幸的是,Wayland 也带来了同样的问题,但我不知道有任何解决方案。

解决方案:

要启用鼠标中键粘贴功能,请编辑 xinput。

a)查询您的设备:

xin输入列表

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

b) xinput 列表属性 10

给我鼠标的设置。

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

sudo xinput set-prop 10 “libinput 中间模拟已启用” 1

d)检查值是否变为1:

xinput 列表属性 10

是的,它可以工作:“libinput Middle Emulation Enabled (294): 1”

为了使其持久,请在 ~/.xstartup! 中添加一行!在我的例子中,它看起来与以前相同:

xinput set-prop 10 libinput 中间模拟已启用 1

这使得它从一开始就有效。

背后的原因是什么:https://wiki.ubuntu.com/X/Config/Input

我强烈反对 Ubuntu 和 Gnome 决定禁用标准的 Unix 鼠标中键粘贴。即使在 XFCE Ubuntu 17 中,它也受到了严重破坏。希望这个决定背后的管理者能尽快找到一个痛苦的结局。你让我的生活变得艰难。

非常感谢 Gilles (https://unix.stackexchange.com/users/885/gilles) 找到了解决方案!!!

我在使用 Ubuntu 16、14.10 及更早版本时遇到了同样的问题:终端中的 Unix 风格复制粘贴不起作用。令人失望的默认设置。不过,这里有一个解决方案(部分是其他人出色工作的总结):

2)为了修复终端问题,我成功地将以下几行放入我的 xorg.conf 中:

(查看 /etc/X11/xorg.conf 是否适合您。对于 Lubuntu 等可能有所不同。)

“输入类”部分

标识符“中键模拟类”

MatchIsPointer“开启”

选项“Emulate3Buttons” “开启”

结束部分`

1) 令人烦恼的缺失第三个鼠标按钮(触摸板、大理石鼠标)故障实际上可以通过“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 中,鼠标中键复制粘贴根本不起作用。

解决方案:

要启用鼠标中键粘贴功能,请编辑 xinput。a) 查询您的设备:xinput list 识别您的鼠标。我的设备号是 10。b) xinput list-props 10 为我提供鼠标的设置。c) 我需要更改“libinput Middle Emulation Enabled (294):”的值,我需要以 root 身份执行此操作:sudo xinput set-prop 10 “libinput Middle Emulation Enabled” 1 d) 检查值是否更改为 1:xinput list-props 10 是的,它有效:“libinput Middle Emulation Enabled (294): 1”

背后的原因是什么:https://wiki.ubuntu.com/X/Config/Input

我强烈反对 Ubuntu 和 Gnome 决定禁用标准的 Unix 鼠标中键粘贴。即使在 XFCE Ubuntu 17 中,它也受到了严重破坏。希望这个决定背后的管理者能尽快找到一个痛苦的结局。你让我的生活变得艰难。

非常感谢 Gilles (https://unix.stackexchange.com/users/885/gilles) 找到了解决方案!!!

答案2

非常感谢你发布的答案。虽然它没有解决我的具体问题,但它让我非常接近解决方案,我能够看到需要做什么。显然,回复中解决的问题是鼠标中键无法从选择缓冲区粘贴内容的情况,该解决方案已修复该问题。就我而言,需要禁用的是滚动。以下是我采取的步骤:

1:运行命令:

# xinput list

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ HID 0430:0100                             id=9    [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)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Device 2Port KVMSwitcher                  id=8    [slave  keyboard (3)]
    ↳ HID 0430:0005                             id=10   [slave  keyboard (3)]

这将鼠标标识为设备 ID9

2:运行命令:

# xinput list-props 9

Device 'HID 0430:0100':
    Device Enabled (153):   1
    Coordinate Transformation Matrix (155): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Accel Speed (287): 0.000000
    libinput Accel Speed Default (288): 0.000000
    libinput Accel Profiles Available (289):    1, 1
    libinput Accel Profile Enabled (290):   1, 0
    libinput Accel Profile Enabled Default (291):   1, 0
    libinput Natural Scrolling Enabled (292):   0
    libinput Natural Scrolling Enabled Default (293):   0
    libinput Send Events Modes Available (272): 1, 0
    libinput Send Events Mode Enabled (273):    0, 0
    libinput Send Events Mode Enabled Default (274):    0, 0
    libinput Left Handed Enabled (294): 0
    libinput Left Handed Enabled Default (295): 0
    libinput Scroll Methods Available (296):    0, 0, 1
    libinput Scroll Method Enabled (297):   0, 0, 1
    libinput Scroll Method Enabled Default (298):   0, 0, 1
    libinput Button Scrolling Button (299): 0
    libinput Button Scrolling Button Default (300): 2
    libinput Middle Emulation Enabled (301):    0
    libinput Middle Emulation Enabled Default (302):    0
    Device Node (275):  "/dev/input/event2"
    Device Product ID (276):    1072, 256
    libinput Drag Lock Buttons (303):   <no items>
    libinput Horizontal Scroll Enabled (304):   1

指示鼠标中键滚动有效的行是:

libinput Button Scrolling Button (299): 2

3:以 root 身份运行以下命令:

xinput set-prop 9 "libinput Button Scrolling Button" 0

这会将滚动设置为不存在的按钮#0。

4:现在重新运行第二条命令来验证更改:

libinput Button Scrolling Button (299): 0

是的,成功了。现在,当我滑动鼠标时,我又可以像以前一样使用鼠标中键了。

5:将步骤3中的命令添加到〜/ .xstartup文件,以便每次窗口管理器启动时执行它。

相关内容