如何在 xfce4 中启用自然滚动?

rub*_*o77 20 xfce touchpad xubuntu scrolling

是否有任何设置可以为我的触摸板启用自然滚动

我可以在XFCE 设置下找到鼠标的设置,但它不适用于触摸板。有没有办法为后者启用它?

fco*_*e90 25

这是一个已知错误:LP:1368402

允许在每个应用程序(包括 Chrome 和 Gnome应用程序)中使用自然滚动的良好而简单的解决方案(解决方法),在 Xenial 16.04 上测试,如下所示。

首先从XFCE 鼠标设置禁用反向滚动方向:。Settings > Mouse and Touchpad > Reverse scroll direction

然后,在终端中运行:

synclient
Run Code Online (Sandbox Code Playgroud)

它将输出一个键值对列表,如下所示:

Parameter settings:
    LeftEdge                = 97
    RightEdge               = 2335
    TopEdge                 = 89
    BottomEdge              = 1575
    FingerLow               = 25
    FingerHigh              = 30
    MaxTapTime              = 180
    MaxTapMove              = 129
    MaxDoubleTapTime        = 100
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 0
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 58
    HorizScrollDelta        = 58
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 1
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.0678887
    TouchpadOff             = 1
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 2
    RBCornerButton          = 3
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 0
    ClickFinger1            = 1
    ClickFinger2            = 3
    ClickFinger3            = 0
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 20
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    ResolutionDetect        = 1
    GrabEventDevice         = 0
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 14
    VertHysteresis          = 14
    ClickPad                = 1
    RightButtonAreaLeft     = 1216
    RightButtonAreaRight    = 0
    RightButtonAreaTop      = 1364
    RightButtonAreaBottom   = 0
    MiddleButtonAreaLeft    = 0
    MiddleButtonAreaRight   = 0
    MiddleButtonAreaTop     = 0
    MiddleButtonAreaBottom  = 0
Run Code Online (Sandbox Code Playgroud)

搜索 key:VertScrollDelta并检查其值。如果是例如 58,则使用以下命令将其设置为 -58:

synclient VertScrollDelta=-58
Run Code Online (Sandbox Code Playgroud)

如果您想对水平滚动执行相同操作,请改为搜索 key:HorizScrollDelta并以相同方式将其反转:

synclient HorizScrollDelta=-58
Run Code Online (Sandbox Code Playgroud)

[编辑]

正如rubo77所指出的,这在重启后不会持续。如果您希望它成为默认值,请创建如下脚本fix_scroll.sh

#!/usr/bin/bash
synclient VertScrollDelta=-58
synclient HorizScrollDelta=-58
Run Code Online (Sandbox Code Playgroud)

然后添加fix_scroll.sh到您的启动应用程序:

Settings > Session and Startup > Application Autostart > Add
Run Code Online (Sandbox Code Playgroud)

归功于:https : //forums.linuxmint.com/viewtopic.php?f=90&t=233135&p=1236836&sid=394bf7ad96c3ba102949bac4dd404a1a

  • 请将此答案标记为正确的答案,因为这正在为我解决问题。 (2认同)

rub*_*o77 6

我搜索了很多,还发现了一个关于它的错误报告,但解决方案很简单:

您必须在鼠标设置顶部的选择框中选择触摸板设备。

(有点难找,因为我没想到鼠标和触摸板的设置是可以单独配置的。)


在设置不存在的旧版 xfce 上,检查值

synclient | grep VertScrollDelta
Run Code Online (Sandbox Code Playgroud)

并使用负值,你会在那里找到(例如 -58 而不是 58)。

对我而言,使此重启安全的最佳方法是将您的更改添加到 中Xsession.d,这样当您登录 X 时它会自动为所有用户加载:

(该文件不存在,因此您可以随意命名它。左侧的数字表示与其他文件相比它将被执行的顺序。)

sudo nano /etc/X11/Xsession.d/80synaptics
Run Code Online (Sandbox Code Playgroud)

在该文件中只添加 synclient 命令:

synclient VertScrollDelta=-58
Run Code Online (Sandbox Code Playgroud)

(应由 root 拥有,权限为 644)

chmod 644 /etc/X11/Xsession.d/80synaptics
Run Code Online (Sandbox Code Playgroud)

还有一些奇怪的地方:水平滚动仍然是错误的,这可以通过以下方式修复:

echo 'pointer = 1 2 3 4 5 7 6 8 9 10 11 12' >> .Xmodmap
xmodmap .Xmodmap
Run Code Online (Sandbox Code Playgroud)