平滑滚动 - 它来自哪里?

bor*_*blu 8 ubuntu debian crunchbang scrolling

所以,我一直在处理 Ubuntu 和其他基于 Debian 的发行版,有点像 Crunchbang。但我也注意到 Ubuntu(以及 LMDE)带有称为“平滑滚动”的花哨/漂亮/eyecandy 功能(不仅仅是在 Firefox/Chrome 中,我指的是系统范围的滚动体验)。

我也想在 Crunchbang 中使用它。数周以来,我一直在网上搜索有关该功能的文档,但一无所获!我只能理解(我什至不确定)平滑滚动与 GTK+(也许还有 Synaptics 驱动程序?)有关,仅此而已。

为了清楚起见,我指的是在 WinXP 中使用鼠标滚轮滚动(通常一次 3 或 5 行)和在 OSX 中使用触控板滚动(更像是在触摸屏上滑动)之间的相同区别。

如果它有任何重要意义,我将在带有 Elantech 触控板的 Samsung Series 9 中运行 Crunchbang。

你能帮我找到学习更多的方法吗?或者您知道在 Crunchbang 中使用它的任何指南吗?

for*_*ord 2

Crunchbang 论坛对此进行了深入解答,他们将这种滚动描述为“平滑惯性滚动”。

人们必须正确配置触摸板驱动程序,并且给出的示例(听起来它也可以通用到足以配置您的驱动程序)使用包synclient。

他们在 synclient 中使用了这些设置,我在上面链接了手册页:

Parameter settings:
LeftEdge                = 1752
RightEdge               = 5192
TopEdge                 = 1620
BottomEdge              = 4236
FingerLow               = 25
FingerHigh              = 30
FingerPress             = 256
MaxTapTime              = 92
MaxTapMove              = 76
MaxDoubleTapTime        = 180
SingleTapTimeout        = 180
ClickTime               = 100
FastTaps                = 0
EmulateMidButtonTime    = 75
EmulateTwoFingerMinZ    = 282
EmulateTwoFingerMinW    = 7
VertScrollDelta         = 100
HorizScrollDelta        = 100
VertEdgeScroll          = 1
HorizEdgeScroll         = 0
CornerCoasting          = 0
VertTwoFingerScroll     = 1
HorizTwoFingerScroll    = 0
MinSpeed                = 0
MaxSpeed                = 1.22754
AccelFactor             = 0.0615836
TrackstickSpeed         = 0
EdgeMotionMinZ          = 30
EdgeMotionMaxZ          = 160
EdgeMotionMinSpeed      = 1
EdgeMotionMaxSpeed      = 401
EdgeMotionUseAlways     = 0
UpDownScrolling         = 1
LeftRightScrolling      = 1
UpDownScrollRepeat      = 1
LeftRightScrollRepeat   = 1
ScrollButtonRepeat      = 100
TouchpadOff             = 0
LockedDrags             = 0
LockedDragTimeout       = 5000
RTCornerButton          = 0
RBCornerButton          = 0
LTCornerButton          = 0
LBCornerButton          = 0
TapButton1              = 1
TapButton2              = 0
TapButton3              = 0
ClickFinger1            = 1
ClickFinger2            = 1
ClickFinger3            = 1
CircularScrolling       = 0
CircScrollDelta         = 0.1
CircScrollTrigger       = 0
CircularPad             = 0
PalmDetect              = 0
PalmMinWidth            = 10
PalmMinZ                = 200
CoastingSpeed           = 30
CoastingFriction        = 30
PressureMotionMinZ      = 30
PressureMotionMaxZ      = 160
PressureMotionMinFactor = 1
PressureMotionMaxFactor = 1
GrabEventDevice         = 1
TapAndDragGesture       = 1
AreaLeftEdge            = 0
AreaRightEdge           = 0
AreaTopEdge             = 0
AreaBottomEdge          = 0
HorizHysteresis         = 25
VertHysteresis          = 25
ClickPad                = 0
Run Code Online (Sandbox Code Playgroud)

...并将其添加到自动启动中:

    ## Detect and configure touchpad. See 'man synclient' for more info.
if egrep -iq 'touchpad' /proc/bus/input/devices; then
synclient VertEdgeScroll=1 &
synclient TapButton1=1 &
synclient CoastingSpeed=35 &
synclient CoastingFriction=30 &
Run Code Online (Sandbox Code Playgroud)