我已启用自然滚动功能Ubuntu 调整的杂项选项,但这似乎对水平滚动不起作用——无论是在网络浏览器中,还是在 nautilus 或其他本机应用程序中。
有没有办法在水平滚动时强制执行这种行为?
我正在使用 Ubuntu 12.04。
答案1
不需要使用指定的应用程序来配置自然滚动,而是可以使用脚本来反转滚动方向(垂直轴和水平轴)。
首先,获取
xinput
与滚动距离相关的 prop(注意用尖括号包裹的变量):$ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=<TOUCHPAD_ID> [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] (...)
获取该道具的适当值:
$ xinput list-props <TOUCHPAD_ID> | grep "Scrolling Distance" Synaptics Scrolling Distance (<DISTANCE_KEY>): <V_DISTANCE>, <H_DISTANCE> Synaptics Circular Scrolling Distance (301): 0.100000
然后,通过否定垂直/水平距离的值来创建脚本文件以应用相反的方向。输入先前返回的变量:
#!/bin/sh xinput set-prop <TOUCHPAD_ID> <DISTANCE_KEY> -<V_DISTANCE> -<H_DISTANCE> nautilus -q nautilus -n &
授予该文件执行权限,将其设置为在启动时运行,就这样。
来源:
此方法移植自Andy C. 的旧网络博客,以创建一个独立的答案。谢谢 Andy 提供了一个优雅的系统级解决方案。
- 修复 Ubuntu 12.04 中的自然滚动经过安迪 C.。
笔记
- 似乎调用 nautilus 会破坏 13.04 上的脚本。省略对 nautilus 的两次调用即可解决此问题。
- 自然滚动(垂直和水平)在 14.x 中开箱即用,因此无需编写脚本,只需在鼠标和触摸板选项中切换“自然滚动”即可。
答案2
还有一种“更好”的xorg.conf
方式来进行反转<V_DISTANCE>
和<H_DISTANCE>
设置(根据@Eliran 的回答) 永恒的:
创建一个目录/etc/X11/xorg.conf.d/
,并在其中创建一个文件51-synaptics-tweaks.conf
,内容如下:
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
Option "VertTwoFingerScroll" "on"
Option "HorizTwoFingerScroll" "on"
# In the following lines, use your own negative V_DISTANCE / H_DISTANCE values.
Option "VertScrollDelta" "-113"
Option "HorizScrollDelta" "-113"
EndSection
这遵循了 Ubuntu 在/usr/share/xorg.conf.d/*
示例文件中的建议,并且Archlinux 说明。要看到效果,当然要重新启动X :)
答案3
作为使用脚本文件或 Ubuntu Tweak 的替代方案,您还可以尝试由 Zedtux 制作的名为“Natural Scrolling”的应用程序。它将作为指示器出现。
要安装它,最简单的方法是使用终端:
sudo apt-add-repository ppa:zedtux/naturalscrolling
sudo apt-get update
sudo apt-get install naturalscrolling
答案4
在 xfce4 (Xubuntu、Ubuntu Studio 等) 中,您可以在控制台上添加此项:
echo 'pointer = 1 2 3 4 5 7 6 8 9 10 11 12' >> .Xmodmap
xmodmap .Xmodmap