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

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

我不知道你正在使用哪个版本的Ubuntu,但是在13.04(我猜在12.10中)它可以通过触摸板设置。

首先,打开系统设置>鼠标和触摸板 。 如下面的屏幕截图所示,如果有内容粘到手指的选项,请检查它。 然后滚动条将反向工作。


这也可以通过DConf Editor访问。 转到org.gnome.settings-daemon.peripherals.touchpad并检查natural-scroll


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

 gsettings set org.gnome.settings-daemon.peripherals.touchpad natural-scroll true 

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

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

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

 xinput list 

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

 xinput list-props {device id} | grep "Scrolling Distance" 

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

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

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

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

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

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

在您在首选文本编辑器中打开的文件中,粘贴以下内容(但请务必将数字更改为从步骤3获得的相同逗号分隔数字;在我的情况下,数字为1,因此我将-1设置为):

 Section "InputClass" Identifier "Natural Scrolling" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" Option "VertScrollDelta" "-1" Option "HorizScrollDelta" "-1" Option "DialDelta" "-1" EndSection 

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

 xinput set-prop {device id} {property number} -1 -1 -1 

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

 nautilus -q nautilus -n 

而已! 您现在应该具有持久性的系统范围的自然滚动。

替代方法:

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

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

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

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

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

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

 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 

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

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

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

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

最简单的恕我直言,在Ubuntu 12.10及更高版本上实现这一目标的最佳方法是(不在12.04及以下测试)来编辑synaptics配置:

 sudoedit /usr/share/X11/xorg.conf.d/50-synaptics.conf 

在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 

Section "InputClass" Identifier "touchpad catchall" Section "InputClass"添加这些行:

  Option "VertScrollDelta" "-111" Option "HorizScrollDelta" "-111" 

所以它如下所示:

 Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" Option "VertScrollDelta" "-111" Option "HorizScrollDelta" "-111" # ... 

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

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

 synclient VertScrollDelta=-111 synclient HorizScrollDelta=-111 

更改会立即应用,但如果您不在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/ 

取消选中有效

PS:

默认值为111 ,表示速度,这意味着您可以使用该值来调整滚动速度。 给它一个负值使它只是向反方向滚动。

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

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

什么是自然滚动?

Natural Scrolling是一个GNOME Applet,允许您反转滚动方向。 您可以向上移动手指向上移动页面内容(向下移动向下移动),就像在iOS设备上一样。 不要再移动滚动条了,而是移动文件。

安装自然滚动:

可以从PPA安装Natural Scrolling。

按Alt + Ctrl + T打开终端并运行以下命令:

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

如何启用Natural Scrolling?

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

在此处输入图像描述

您正在谈论的反向滚动称为“自然滚动”,并且可以在Ubuntu中以多种不同方式启用。 这是一篇关于OMG的文章! Ubuntu的! 详细介绍如何安装能够满足您需求的软件。 如果您熟悉Ubuntu Tweak,也可以在最新版本中启用它。

在Ubuntu 14.04上,转到“Mouse&Touchpad”并选择“Natural Scrolling”。

在此处输入图像描述

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

 xinput list 

从此命令获取数字:

 xinput list-props {device id} | grep "Scrolling Distance" 

例如,一个示例输出:

 Synaptics Scrolling Distance (290): 102, 102 

这里,数字102,102是我们感兴趣的。 在你的情况下,他们将是另一回事。 只是在下面提到的配置中将这些数字否定。

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

 synclient VertScrollDelta=-102 synclient HorizScrollDelta=-102 

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

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

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

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

仅限触摸板:

/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 

仅限鼠标:

/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 

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

然后,重启。

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

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

  1. 在终端上写: xev -event mouse 。 您将得到一个小盒子,当您将鼠标放入该部分时,您将获得大量数据生成到终端。
  2. 在向上滚动时,记下按钮名称,让我们说“x”(在我的例子中是按钮5)。 在向下滚动时记下按钮名称,让我们说“y”。 在我的情况下它是“4”。
  3. 使用cp ~/.Xmodmap ~/.Xmodmap.bak创建~/.Xmodmap文件的备份。
  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工作。 注意45开关。
  6. 现在滚动将在系统范围内应用。 无需重启。

您还可以使用Ubuntu Tweak工具启用自然滚动(misc设置)

截图

官方主页.deb分配: http : //ubuntu-tweak.com/

naturalscrolling包似乎不适用于Ubuntu 12.10。 我安装了Ubuntu Tweak:

 sudo add-apt-repository ppa:tualatrix/ppa sudo apt-get update sudo apt-get install ubuntu-tweak 

你可以调整滚动

调整 – >其他 – >自然滚动

在较新版本的GNOME中(从至少3.6开始),不再需要安装扩展。 它可以在标准GNOME“鼠标和触摸板”设置下找到。 然而,有些令人困惑的是,Gnomesters决定将其称为“ 内容坚持手指 ”。

基于此博客 ,下面的脚本在Ubuntu 12.04上为我工作。 它将触摸板的水平和垂直滚动比例设置为负值(通常可确保“自然”滚动)。 它是“引擎盖下”所以你的所有应用程序都会受到影响,即使是那些不注意tweakUI调整的设置。 有几个不必要的命令和注释,所以你可以看到发生了什么。 你可能想要关闭TweakUI或类似的任何自然滚动设置。

 xinput list | grep "[Tt]ouch" | grep "id=([0-9]+)" # ⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)] id=`xinput list | grep -Po "[Tt]ouch[^=]*id=[0-9]+" | grep -Po [0-9]+` xinput --list-props $id | grep "Scrolling Distance" # Synaptics Scrolling Distance (269): -107, -107 # Synaptics Circular Scrolling Distance (282): 0.100000 prop_id=`xinput --list-props $id | grep -P ".*[^C][^i][^r][^c][^u][^l][^a][^r]\sScrolling Distance" | grep -Po '\([0-9]+\)' | grep -Po "[0-9]+"` prop_xy=xinput --list-props $id | grep -P ".*[^C][^i][^r][^c][^u][^l][^a][^r]\sScrolling Distance" | grep -Po '\s+[-+]{0,1}[0-9]+\,\s*[-+]{0,1}[0-9]+' | tr -d '-' xinput --list-props $id | -P ".*[^C][^i][^r][^c][^u][^l][^a][^r]\sScrolling Distance" | grep -Po '\s+[-+]?[0-9]+[,]?' | tr -d '-' | tr -d ',' | tr ' \t' '-' | xargs xinput --set-prop $id $prop_id nautilus -q nautilus -n & 

好的,所以我让Firefox单向滚动,Evolution滚动另一个。 我在系统设置下设置了自然滚动,但发现Ubuntu调整自然滚动在某些应用程序中抵消了它。 我必须将系统设置和Ubuntu调整设置为自然滚动才能在同一方向上进行通用滚动,否则它们似乎互相争斗。 我花了很多时间来弄明白这一点。

这适用于Mate,可能是在控制面板中没有简单选项的其他环境。

如果您已有.Xmodmap文件,请手动添加此行。

 # standard echo "pointer = 1 2 3 4 5 6 7 8 9 10 11 12" > ~/.Xmodmap && xmodmap .Xmodmap # "natural" echo "pointer = 1 2 3 5 4 6 7 8 9 10 11 12" > ~/.Xmodmap && xmodmap .Xmodmap 

我使用了Alternative方法@D。 查尔斯派尔提到,但略有修改:

 Option "ZAxisMapping" "4 5" 

代替

 Option "ZAxisMapping" "5 4" 

Ubuntu 14.04,GNOME,罗技光电鼠标

12.04.5

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

通过自然滚动应用程序搜索启动它

右键单击右上方菜单中的图标。 自然滚动>您的设备

此外,首选项>在登录时开始

我刚刚得到了一个新的Latitude E5570受到了#1590590 (其中包括……:\)的影响, 本评论中提供了一个非常快速简便的解决方案:

〜/ .xinputrc

xinput set-button-map“ImPS / 2 Generic Wheel Mouse”1 2 3 5 4 6 7

以这种方式,只有未识别的触摸板的双指滚动方向将被反转,而外部鼠标的滚轮滚动方向将不被修改。

另外,由于unity / gnome中的一些错误,并非所有应用程序都能正确解释.xinputrc / .Xmodmap命令。 所以例如chrome / firefox就可以,但是nautilus windows仍将使用“自然”滚动,无论.xinputrc / .Xmodmap内容如何。 我没有找到解决这些不一致的解决方案。

唯一真正的解决方案当然是在内核级别对触摸板的适当支持