按住中键时使鼠标移动滚动

som*_*me1 41 gnome x11 mouse scrolling

在 Windows 中,我习惯于单击中心按钮,它会向上或向下提供“快速滚动”选项。如何在 Linux 上获得这种行为?目前似乎在单击中心时使用后退按钮。

我在 CentOS 下使用 Gnome。

som*_*me1 35

事实证明,这可以通过 Firefox 首选项来完成。

  1. 从下拉菜单中:编辑 --> 首选项
  2. 然后选择选项卡:高级 --> 常规
  3. 然后勾选“使用自动滚动”

截屏

   SS


Gil*_*il' 33

这个 Windows 功能从未真正进入 Unix 世界。在 Unix 世界中,鼠标中键的主要目的是粘贴剪贴板内容(或者更准确地说,是用鼠标选择的文本,它是自动复制的)。一些跨平台的应用程序,如 Firefox 和 Chrome,在 Windows 下支持 Linux 风格的鼠标中键,反之亦然,但除此之外,大多数应用程序不支持这种细粒度滚动。

尽管如此,您可以在系统级别获得相当接近的结果。可以设置鼠标按钮,以便在按下时将鼠标移动转换为滚轮事件。这与您习惯的功能相同,但您可能会发现运动不稳定,因为应用程序接收轮事件,这些事件通常被解释为滚动一整行或整列。

要使用此配置,请使用xinput程序(我不知道是否有适用于它的 GUI 前端)。首先,运行以下命令以查看您的指点设备的名称:

$ xinput --list       
? Virtual core pointer                          id=2    [master pointer  (3)]
?   ? Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
?   ? Generic USB Mouse                         id=8    [slave  pointer  (2)]
?   ? Macintosh mouse button emulation          id=12   [slave  pointer  (2)]
? Virtual core keyboard                         id=3    [master keyboard (2)]
    ? Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ? Power Button                              id=7    [slave  keyboard (3)]
    ?   USB Keyboard                            id=9    [slave  keyboard (3)]
Run Code Online (Sandbox Code Playgroud)

例如,在上面的输出中,指针设备是Generic USB mouse。您可以运行以下命令来列出可以调整的属性:

xinput --list-props 'Generic USB Mouse'
Run Code Online (Sandbox Code Playgroud)

您正在寻找的一组属性是“Evdev Wheel Emulation”。使用以下设置,当按下鼠标中键(按钮 2)时,移动鼠标会发送滚轮事件(4=up, 5=down, 6=left, 7=right)。

xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation' 1
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Button' 2
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Axes' 6 7 4 5
Run Code Online (Sandbox Code Playgroud)

您可能想要调整其他参数(惯性、超时)。

您可以将这些命令放在脚本中。添加#!/bin/sh作为第一行,并使脚本文件可执行(例如chmod +x ~/bin/activate-wheel-emulation.sh)。然后将该脚本添加到会话开始时要运行的命令列表中(gnome-session-properties让您对其进行配置)。

如果您具有 root 访问权限并且希望对所有用户进行更改(在家用计算机上可接受),那么通过X.org 服务器配置文件来进行更改会更简单。以 root/etc/X11/xorg.conf.d/wheel-emulation.conf身份创建一个名为的文件,其中包含鼠标驱动程序的设置。设置是相同的,但它们的组织方式略有不同。

Section "InputClass"
    Identifier "Wheel Emulation"
    MatchProduct "Generic USB Mouse"
    Option "EmulateWheel" "on"
    Option "EmulateWheelButton" "2"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
EndSection
Run Code Online (Sandbox Code Playgroud)