Desplazamiento suave: ¿de dónde viene?

Desplazamiento suave: ¿de dónde viene?

Entonces, he estado tratando con Ubuntu y otras distribuciones basadas en Debian por un tiempo y me gusta un poco Crunchbang. Pero también he notado que Ubuntu (así como LMDE) viene con esa característica elegante/agradable/visual llamada "desplazamiento suave" (no solo en Firefox/Chrome, me refiero a la experiencia de desplazamiento en todo el sistema).

También quiero tenerlo en Crunchbang. He estado buscando en la web documentación sobre la función durante semanas, ¡pero no encuentro nada! Podría entender (y ni siquiera estoy seguro) que el desplazamiento suave tiene que ver con GTK+ (¿y quizás el controlador Synaptics?), y nada más.

Para que quede claro, me refiero a la misma diferencia entre desplazarse en WinXP (comúnmente 3 o 5 líneas a la vez) con la rueda del mouse y desplazarse en OSX con sus clickpads (donde es más como deslizar el dedo en una pantalla táctil).

Si es de alguna importancia, estoy ejecutando Crunchbang en un Samsung Serie 9, con un clickpad Elantech.

¿Podrías ayudarme a encontrar la manera de obtener más información? ¿O conoces alguna guía para que funcione en Crunchbang?

Respuesta1

Esto fue respondido en profundidad en elForos de Crunchbang, describen este desplazamiento como "desplazamiento inercial suave".

Hay que configurar el controlador del panel táctil correctamente, y el ejemplo dado, que parece que podría ser lo suficientemente universal como para configurar el suyo también, utiliza el paquetesincronizado.

Han utilizado estas configuraciones en sincronizado, he vinculado la página de manual, arriba:

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

...y agregué esto al inicio 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 &

Respuesta2

Encontré este enlace. Parece que puedes ejecutar xev y vomitará un montón de resultados sobre tu desplazamiento.

Usando xev puedes al menos ver si se trata de un desplazamiento suave o de un desplazamiento por evento de botón. En mi G500 con los clics apagados todavía no es fluido. xev muestra un evento de "botón" cada vez que se desplaza.

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

También encontré esto.

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

información relacionada