Rolagem suave - de onde ela vem?

Rolagem suave - de onde ela vem?

Então, eu tenho lidado com o Ubuntu e outras distros baseadas em Debian há algum tempo e meio que como o Crunchbang. Mas também tenho notado que o Ubuntu (assim como o LMDE) vem com aquele recurso sofisticado/agradável/ocular chamado "rolagem suave" (não apenas no Firefox/Chrome, estou me referindo à experiência de rolagem em todo o sistema).

Eu quero tê-lo no Crunchbang também. Estou pesquisando na web por documentação sobre o recurso há semanas, mas não consigo encontrar nada! Eu poderia entender (e nem tenho certeza) que a rolagem suave tem a ver com GTK + (e driver Synaptics, talvez?), E nada mais.

Para deixar claro, estou me referindo à mesma diferença entre rolar no WinXP (geralmente 3 ou 5 linhas por vez) com a roda do mouse e rolar no OSX com seus clickpads (onde é mais como deslizar em uma tela sensível ao toque).

Se for de alguma importância, estou executando o Crunchbang em um Samsung Series 9, com clickpad Elantech.

Você poderia me ajudar a encontrar uma maneira de aprender mais? Ou você conhece algum guia para fazê-lo funcionar no Crunchbang?

Responder1

Isso foi respondido em profundidade noFóruns Crunchbang, eles descrevem essa rolagem como "rolagem inercial suave".

É preciso configurar o driver do touchpad corretamente, e o exemplo dado, que parece ser universal o suficiente para configurar o seu também, usa o pacotecliente sincronizado.

Eles usaram essas configurações no synclient, vinculei a página de manual acima:

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

... e adicionei isto ao início automático:

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

Responder2

Encontrei este link. Parece que você pode executar o xev e ele vomitará um monte de resultados sobre sua rolagem.

Usando xev você pode pelo menos ver se é uma rolagem suave ou uma rolagem de evento de botão. No meu G500 com os cliques desligados ainda não é suave. xev mostra um evento de "botão" toda vez que rola.

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

Também encontrei isso.

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

informação relacionada