平滑滾動 - 它從哪裡來?

平滑滾動 - 它從哪裡來?

我已經使用 Ubuntu 和其他基於 Debian 的發行版有一段時間了,有點像 Crunchbang。但我也注意到 Ubuntu(以及 LMDE)附帶了一種稱為“平滑滾動”的奇特/漂亮/養眼的功能(不僅僅是在 Firefox/Chrome 中,我指的是系統範圍的滾動體驗)。

我也想在 Crunchbang 中擁有它。幾週來我一直在網上搜索有關該功能的文檔,但什麼也沒找到!我只能理解(我什至不確定)平滑滾動與 GTK+(也許還有 Synaptics 驅動程式?)有關,除此之外別無其他。

為了清楚起見,我指的是在 WinXP 中使用滑鼠滾輪滾動(通常一次 3 或 5 行)與在 OSX 中使用觸控板滾動(更像是在觸控螢幕上滑動)之間的差異。

如果有什麼重要的話,我會在配備 Elantech 觸控板的 Samsung Series 9 上運行 Crunchbang。

您能幫我找到了解更多資訊的方法嗎?或者你知道有什麼指南可以讓它在 Crunchbang 中運作嗎?

答案1

這個問題在官網得到了深入的解答Crunchbang 論壇,他們將這種滾動描述為“平滑慣性滾動”。

人們必須正確配置觸控板驅動程序,並且給出的示例(聽起來它也可以通用到足以配置您的驅動程式)使用該軟體包同步客戶端

他們在 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

...並將其添加到自動啟動中:

    ## 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 &

答案2

找到了這個連結。看起來你可以運行 xev 並且它會產生一堆關於你的滾動的輸出。

使用 xev 您至少可以看到它是平滑滾動還是按鈕事件滾動。在我的 G500 上,關閉點擊聲後仍然不流暢。 xev 每次滾動時都會顯示一個「按鈕」事件。

ButtonPress event, serial 32, synthetic NO, window 0x5000001,
    root 0xbd, subw 0x5000002, time 183061084, (53,58), root:(924,530),
    state 0x0, button 5, same_screen YES

ButtonPress event, serial 32, synthetic NO, window 0x5000001,
    root 0xbd, subw 0x5000002, time 183061644, (53,58), root:(924,530),
    state 0x0, button 4, same_screen YES

https://askubuntu.com/questions/139015/enable-smooth-scrolling-for-mouse-wheel

還發現了這個。

http://andym3.wordpress.com/2012/05/27/fixing-natural-scrolling-in-ubuntu-12-04/

相關內容