反转两指滚动方向(自然滚动)?

Naf*_*Kay 133 touchpad

双指滚动工作正常,但有没有办法可以反转方向(自然滚动)?这似乎与 OSX 的做法相反。

Ali*_*liN 107

第一种方式:使用 GNOME 设置

我不知道您使用的是哪个版本的 Ubuntu,但在 Ubuntu 13.04 到 Ubuntu 20.04(我猜)中,可以通过鼠标和触摸板设置。

首先,打开System Settings > Mouse and Touchpad。如下面的屏幕截图所示,如果有内容粘在手指上的选项,请检查它。然后滚动条将反向工作。我建议单击“测试您的设置”按钮进行尝试。

截屏


第二种方式:使用 DConf 编辑器

这也可以通过 DConf 编辑器访问。要安装 DConf 编辑器,请运行:

sudo apt-get install dconf-editor
Run Code Online (Sandbox Code Playgroud)

然后去org.gnome.settings-daemon.peripherals.touchpad检查natural-scroll


您还可以在命令行上设置此选项:

gsettings set org.gnome.settings-daemon.peripherals.touchpad natural-scroll true
Run Code Online (Sandbox Code Playgroud)

  • 14.04 的 **系统设置 > 鼠标和触摸板** 列为*“自然滚动”*,运行良好,包括 Nautilus。 (4认同)
  • 不幸的是,它在 Nautilus 和少数其他应用程序中不起作用,尽管它在其他应用程序中起作用 (3认同)
  • 如果您想在没有 GUI 的情况下设置滚动方向,请在终端中使用以下命令(这会为每个用户永久设置设置):“gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll false”或对于您的鼠标“gsettings”设置 org.gnome.desktop.peripherals.mouse 自然滚动 false`。(Fedora 24 将您的鼠标识别为触摸板,因此请使用带有 `.touchpad` 的命令行,请参阅 http://forums.fedoraforum.org/showthread.php?p=1778162&posted=1#post1778162 和 Fedora bug https:// bugzilla.redhat.com/show_bug.cgi?id=1352159 (2认同)

D. *_*yle 82

有多种方法可以为鼠标启用系统范围内的反向或自然滚动。我尝试过的只有两种方法可以为所有窗口启用它,包括 gedit、终端、软件中心、鹦鹉螺等。最简单的方法是执行以下操作。此方法需要最新版本的 xserver-xorg-input-evdev 驱动程序,您可以从这里获取. 我知道它会起作用,因为我正在使用它并在编写我之前为 Fedora 21 编写的此版本指南之前对其进行了测试。确保您在 Ubuntu-Tweak 中关闭了反向滚动,否则您将看不到效果的变化。此外,对于那些不想在您的系统上使用自然滚动的用户,因为反向滚动将在系统范围内进行,这些用户可以使用此选项来关闭每个用户的自然滚动。现在,开始...

在继续本指南之前,将 Evdev 更新/安装到最新版本并重新启动。

通过在终端中运行以下命令来获取您的鼠标设备 ID:

xinput list
Run Code Online (Sandbox Code Playgroud)

取你得到的那个号码(只是“id=”之后的号码),并在下面的命令中用那个号码替换“{device id}”:

xinput list-props {device id} | grep "Scrolling Distance"
Run Code Online (Sandbox Code Playgroud)

除非您在 grep 命令中使用 -i,否则它区分大小写。写下您在该命令的输出中找到的数字(在我的例子中是数字 1,显示 3 次并用逗号分隔)。您将使用在输出中获得的数字的负值。另外,请务必记下属性编号(它将在输出中的括号中;在我的情况下,它在 Ubuntu 中是 (272),在 Fedora 中是 (273))。

注意:如果您没有得到包含“滚动距离”属性的输出,则此方法对您不起作用,您需要在此处停止并跳至本指南下方显示的替代方法。

在打开的终端中运行以下命令:

sudo touch /usr/share/X11/xorg.conf.d/20-natural-scrolling.conf
Run Code Online (Sandbox Code Playgroud)

现在,运行以下命令(您可以使用您喜欢的文本编辑器而不是 nano,但我使用 nano):

sudo nano /usr/share/X11/xorg.conf.d/20-natural-scrolling.conf
Run Code Online (Sandbox Code Playgroud)

在您在首选文本编辑器中打开的文件中,粘贴以下内容(但一定要将数字更改为与步骤 3 中获得的相同的逗号分隔数字;在我的情况下,数字是 1,所以我输入 -1):

Section "InputClass"
        Identifier "Natural Scrolling"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Option "VertScrollDelta" "-1"
        Option "HorizScrollDelta" "-1"
        Option "DialDelta" "-1"
EndSection
Run Code Online (Sandbox Code Playgroud)

保存文件并退出文本编辑器。无需重新启动。只需发出以下命令(替换属性编号和您在第三步中获得的数字的负数,以及您在第二步中获得的设备 ID):

xinput set-prop {device id} {property number} -1 -1 -1
Run Code Online (Sandbox Code Playgroud)

您可能需要在某些系统上退出 nautilus 并重新启动 nautilus(如果在运行上述命令后自然滚动在 nautilus 中工作,请跳过此操作)。按 Alt+F2 并分别运行以下每个命令:

nautilus -q

nautilus -n
Run Code Online (Sandbox Code Playgroud)

就是这样!您现在应该拥有系统范围内的持久自然滚动。

替代方法:

如果您不想安装最新版本的 Evdev(或者,如果您的鼠标即使在最新的 Evdev 中也没有“滚动距离”属性),您可以执行以下操作:

在打开的终端中运行以下命令:

sudo touch /usr/share/X11/xorg.conf.d/20-natural-scrolling.conf
Run Code Online (Sandbox Code Playgroud)

现在,运行以下命令(您可以使用您喜欢的文本编辑器而不是 nano,但我使用 nano):

sudo nano /usr/share/X11/xorg.conf.d/20-natural-scrolling.conf
Run Code Online (Sandbox Code Playgroud)

在您在首选文本编辑器中打开的文件中,粘贴以下内容:

Section "InputClass"
        Identifier "natural scrolling for mouse wheel"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "mouse"
        Option "Device" "/dev/input/mice"
        Option "Protocol" "Auto"
        Option "ZAxisMapping" "5 4"
EndSection
Run Code Online (Sandbox Code Playgroud)

保存文件并重新启动。如上所述,个人用户可以通过使用 Ubuntu-Tweak 来“打开”自然滚动(这将与基于每个用户的系统范围设置相反,但不会影响其他想要使用自然滚动的用户的实际系统设置)。

注意:如果您安装了最新的 Evdev,这里的替代方法将不起作用,例如在 Fedora 22 中。使用上面的 Evdev 方法。另请注意:这两种方法都不适用于 Wayland 中的 libinput。您将需要针对每个用户或以其他方式执行此操作的替代方法。如果使用 libinput,请确保删除如上创建的文件,并在桌面文件中创建启动项。创建桌面文件后,将以下内容放在 Exec 行中(确保在使用 libinput 时使用鼠标的设备 ID 和鼠标的自然滚动属性编号;我的设备 ID 为 11,属性为 272;相应地调整您的)。

sh -c "sleep 5; exec xinput set-prop 11 272 1"

之后,保存文件并注销。当您再次登录时,您应该在每个用户的基础上自然滚动,或者可以在所有用户的自动启动中设置它。


Ели*_* Й. 43

在 Ubuntu 12.10 及更高版本(未在 12.04 及更低版本上对其进行测试)上实现此目标的最简单且在我看来最好的方法是编辑突触配置:

sudoedit /usr/share/X11/xorg.conf.d/50-synaptics.conf
Run Code Online (Sandbox Code Playgroud)

在 16.04 上,将此文件复制到 下/etc/X11/xorg.conf.d/50-synaptics.conf,然后编辑:

cp /usr/share/X11/xorg.conf.d/50-synaptics.conf /etc/X11/xorg.conf.d/
sudoedit /etc/X11/xorg.conf.d/50-synaptics.conf
Run Code Online (Sandbox Code Playgroud)

在以下内容中添加这些行Section "InputClass" Identifier "touchpad catchall"

        Option "VertScrollDelta" "-111"
        Option "HorizScrollDelta" "-111"
Run Code Online (Sandbox Code Playgroud)

所以它读起来如下:

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        Option "VertScrollDelta" "-111"
        Option "HorizScrollDelta" "-111"
# ...
Run Code Online (Sandbox Code Playgroud)

重新启动(或继续阅读)并享受自然滚动的乐趣:)

如果你想在不重启的情况下尝试你的设置,你可以使用 synclient

synclient VertScrollDelta=-111
synclient HorizScrollDelta=-111
Run Code Online (Sandbox Code Playgroud)

更改会立即应用,但如果您不将它们添加到50-synaptics-conf文件中,则不会在重新启动后保留。

GNOME 或 Cinnamon 的注意事项:

如果您使用 GNOME 或 Cinnamon 桌面管理器,GNOME/Cinnamon 的设置很有可能会覆盖您的自定义设置。要防止 GNOME/Cinnamon 的设置覆盖您的设置,请打开dconf 编辑器[ dconf-editor] 并编辑以下条目:

/org/gnome/settings-daemon/plugins/mouse/
or
/org/cinnamon/settings-daemon/plugins/mouse/
Run Code Online (Sandbox Code Playgroud)

取消选中active

PS:

默认值是111,它表示速度,这意味着您可以根据自己的喜好调整滚动速度。给它一个负值使它简单地反向滚动。


Bas*_*lvi 19

更新:此解决方案不适用于使用 GTK3 的应用程序,例如 Nautilus(文件浏览器)等核心 Gnome 应用程序。有关适用于所有应用程序的解决方法,请参阅下面的D Charles Pyle 的回答。或者关注Gnome 错误 682457以获取不需要解决方法的核心修复的进展。

您可以使用“自然滚动”来进行系统范围的反向滚动。

什么是自然滚动?

自然滚动是一个 GNOME 小程序,允许您反转滚动方向。就像在 iOS 设备上一样,向上推动手指以向上(向下移动)页面内容。不要再移动滚动条,而是移动您的文件。

安装自然滚动:

可以从其 PPA 安装自然滚动。

命中Alt+ Ctrl+T打开终端并运行下面的命令:

sudo add-apt-repository ppa:zedtux/naturalscrolling
sudo apt-get 更新
sudo apt-get install naturalscrolling

如何启用自然滚动?

安装后,按 Super 键(Windows 键)打开 Unity dash 并搜索“自然滚动”并打开它。您将在 Unity 面板中看到一个新指示器,单击它并选择您的设备。在首选项中,您可以将其设置为在登录时启动。就是这样!

在此处输入图片说明

  • 它不适用于 nautilus 和 USC 等系统窗口。 (3认同)

小智 16

在 Ubuntu 14.04 到 Ubuntu 20.04 上,依次转到“设置”、“鼠标和触摸板”并选择“自然滚动”。

在此处输入图片说明

  • 这在 16.04 上对我有用,但我必须检查自然滚动并重新启动:) (2认同)

Nat*_*yer 14

您所说的反向滚动称为“自然滚动”,可以在 Ubuntu 中以多种不同方式启用。这是一篇关于 OMG 的文章!乌班图!详细说明如何安装可以满足您需求的软件。如果您熟悉 Ubuntu Tweak,也可以在最新版本中启用它。


Rah*_*hul 12

使用以下方法获取设备 ID:

xinput list
Run Code Online (Sandbox Code Playgroud)

从此命令获取数字:

xinput list-props {device id} | grep "Scrolling Distance"
Run Code Online (Sandbox Code Playgroud)

例如,一个示例输出:

Synaptics Scrolling Distance (290): 102, 102
Run Code Online (Sandbox Code Playgroud)

在这里,数字 102、102 是我们感兴趣的。在你的情况下,他们会是别的东西。只需将这些数字的负数放在下面提到的配置中。

编辑 ~/.profile 并将这些行放在文件末尾。

synclient VertScrollDelta=-102
synclient HorizScrollDelta=-102
Run Code Online (Sandbox Code Playgroud)

注销和登录,自然滚动应该可以正常工作。

  • 这是在 GNOME + Arch 上唯一对我有用的东西。谢谢你 (2认同)
  • 这些行应该放在 ~/.xsessionrc 中,而不是 ~/.profile (2认同)

Ste*_*ose 9

Basharat Sial 的回答中提到的自然滚动应用程序不能修复某些系统窗口中的自然滚动。

作为替代方案,我推荐本答案中提供的指南。当您使用他的指南时,您将不再需要自然滚动应用程序。


Tim*_*orn 7

在系统范围内设置自然滚动并使其与所有系统应用程序一起使用的最简单方法是设置以下文件。

仅限触控板:

/usr/share/X11/xorg.conf.d/20-natural-scrolling-touchpads.conf

Section "InputClass"
    Identifier "Natural Scrolling Touchpads"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option "VertScrollDelta" "-111"
    Option "HorizScrollDelta" "-111"
EndSection
Run Code Online (Sandbox Code Playgroud)

仅鼠标:

/usr/share/X11/xorg.conf.d/20-natural-scrolling-mouses.conf

Section "InputClass"
    Identifier "Natural Scrolling Mouses"
    MatchIsPointer "on"
    MatchIsTouchpad "off"
    MatchDevicePath "/dev/input/event*"
    Option "VertScrollDelta" "-1"
    Option "HorizScrollDelta" "-1"
    Option "DialDelta" "-1"
EndSection
Run Code Online (Sandbox Code Playgroud)

对于鼠标和触摸板,创建两个文件。

然后,重新启动。

使用这两种配置之一的好处是它们不是特定于设备的。您可以插入其他鼠标或触摸板或带有触摸板的键盘,它会起作用。


小智 5

请按照以下步骤来系统广泛地更改滚动。

  1. 在终端上写:xev -event mouse. 你会得到一个小盒子,当你把鼠标放到那个部分时,你会在终端中生成大量数据。
  2. 向上滚动时,请注意按钮名称,让我们说“x”(在我的情况下是按钮 5)。还要记下向下滚动时的按钮名称,让我们说“y”。就我而言,它是“4”。
  3. 创建的备份~/.Xmodmap使用文件cp ~/.Xmodmap ~/.Xmodmap.bak
  4. cat ~/.Xmodmap。输出会像pointer = 1 2 3 5 4 6 7 8 9 10 11 12
  5. 在上面的输出中搜索 x 和 y,它们将处于连续位置,只需交换它们。在我的情况下echo "pointer = 1 2 3 4 5 6 7 8 9 10 11 12" > ~/.Xmodmap && xmodmap ~/.Xmodmap工作。注意4和 的切换5
  6. 现在滚动将在系统范围内应用。无需重新启动。

  • 对于大多数用户来说,这可以简化为一条指令:`echo "pointer = 1 2 3 5 4 6 7 8 9 10 11 12" >>~/.Xmodmap && xmodmap ~/.Xmodmap` (3认同)