自然滚动不适用于水平滚动,如何解决此问题?


Answers:


4

还有一种xorg.conf基于“ nicer” 的方式可以使反向<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 :)


干净整洁,+ 1!
伊莱兰·马尔卡

实际上,这太棒了。接受:)
Eliran Malka

9

代替使用指定的应用程序来配置自然滚动,可以制作一个脚本来反转滚动方向-在垂直轴和水平轴上。

  1. 首先,获取xinput与滚动距离有关的道具(注意,用方括号括起来的变量):

    $ 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)]
        (...)
    
  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
    
  3. 然后,通过否定垂直/水平距离的值,创建脚本文件以应用相反的方向。提早返回的变量:

    #!/bin/sh
    xinput set-prop <TOUCHPAD_ID> <DISTANCE_KEY> -<V_DISTANCE> -<H_DISTANCE>
    nautilus -q
    nautilus -n &
    
  4. 向文件授予执行权限,将其设置为在启动时运行,就可以了。

资源:

该方法是从Andy C.的旧网络博客中移植,以创建一个自包含的答案。谢谢Andy,提供了一个优雅的,系统范围的解决方案。

笔记

  • 似乎调用nautilus破坏了13.04上的脚本。省略对nautilus的两个调用即可解决。
  • 开箱即用的自然滚动(垂直和水平方向)在14.x中都可以正常使用,因此无需在那里编写脚本,只需在“鼠标和触摸板”选项中切换“自然滚动”即可。

3

作为使用脚本文件或Ubuntu Tweak的替代方法,您还可以尝试使用Zedtux制作的名为“ Natural Scrolling”的应用程序。它将作为指标。

要安装它,最简单的方法是使用终端:

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

我对此很清楚。但是,对于某些本机应用程序似乎无法完成任务。另外,仅出于此目的安装应用程序(并用另一个指示器使面板混乱)似乎是多余的,而四行脚本可以解决这个问题,可能更好。谢谢您的选择。
伊莱兰·马尔卡

1
有趣的是,您的脚本适用于任何窗口!我确实有一个错误。我将尝试您的解决方案。
阿格梅纳尔2012年

1

在xfce4(Xubuntu,Ubuntu Studio等)中,您可以在控制台上添加此代码:

echo 'pointer = 1 2 3 4 5 7 6 8 9 10 11 12' >> .Xmodmap
xmodmap .Xmodmap
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.