Défilement fluide - d'où vient-il?

8

Donc, j'ai eu affaire à Ubuntu et à d'autres distributions basées sur Debian pendant un certain temps et un peu comme Crunchbang. Mais j'ai également remarqué qu'Ubuntu (ainsi que LMDE) est livré avec cette fonctionnalité fantaisie / agréable / eyecandy appelée "défilement fluide" (pas seulement dans Firefox / Chrome, je fais référence à l'expérience de défilement à l'échelle du système).

Je veux l'avoir aussi à Crunchbang. Je recherche sur le Web de la documentation sur la fonctionnalité depuis des semaines, mais je ne trouve rien! Je pourrais simplement comprendre (et je ne suis même pas sûr) que le défilement fluide a à voir avec GTK + (et le pilote Synaptics peut-être?), Et rien d'autre.

Pour être clair, je fais référence à la même différence entre le défilement dans WinXP (généralement 3 ou 5 lignes à la fois) avec une molette de la souris et le défilement dans OSX avec leurs claviers (où cela ressemble plus à glisser sur un écran tactile).

Si c'est important, j'utilise Crunchbang dans un Samsung Series 9, avec un clickpad Elantech.

Pourriez-vous s'il vous plaît m'aider à trouver le moyen d'en savoir plus? Ou connaissez-vous un guide pour le faire fonctionner à Crunchbang?

apsql
la source

Réponses:

2

Cela a été répondu en profondeur sur les forums Crunchbang , ils décrivent ce défilement comme un "défilement inertiel en douceur".

Il faut configurer correctement le pilote du pavé tactile, et l'exemple donné, qui semble être suffisamment universel pour configurer le vôtre, utilise le package synclient .

Ils ont utilisé ces paramètres dans synclient, j'ai lié la page de manuel ci-dessus:

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

... et ajouté ceci au démarrage automatique:

    ## 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 &
mot de passe oublié
la source
0

Trouvé ce lien. On dirait que vous pouvez exécuter xev et cela produira un tas de résultats sur votre défilement.

En utilisant xev, vous pouvez au moins voir s'il s'agit d'un défilement fluide ou d'un défilement d'événement de bouton. Sur mon G500 avec les clics désactivés, il n'est toujours pas fluide. xev affiche un événement "bouton" chaque fois qu'il défile.

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

/ubuntu/139015/enable-smooth-scrolling-for-mouse-wheel

J'ai également trouvé cela.

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

LinuxProtocol
la source
2
vous ne détecterez jamais les événements de "défilement fluide" avec xev. xev est obsolète en cas d'événements XInput 2. ce que fait x s'il détecte des événements de défilement XI2 "en douceur", c'est de les traduire en "anciennes" pressions sur le bouton 4/5 pour être cohérentes avec les "anciens" logiciels. parce que le "vieux" xev ne détectera que 4/5 pressions sur les boutons même en cas d'événements XI2 "lisses" du pavé tactile synaptique.
dustin.b
@ dustin.b Quel utilitaire pourrais-je utiliser pour capturer des événements "bruts" fluides "(si" événements "est même la terminologie correcte) à partir de mon pavé tactile ou d'un autre appareil pour voir que l'appareil pourrait même prendre en charge le défilement fluide?
user29020
4
@ user29020 je recommanderais xinput. Tapez simplement >$ xinputpour rassembler une liste de périphériques d'entrée. Choisissez l'appareil en fonction de la valeur d'ID indiquée dans cette liste. Après ce type >$ xinput --test-xi2 <id>où <id> est le numéro du périphérique. Sans déplacer la souris / le pad, vous pouvez déjà voir les évaluateurs. vous pouvez voir l'évaluateur 3 "Rel Vert Scroll" si vous déplacez maintenant l'appareil, vous voyez les événements de mouvement. Le déplacement d'un doigt entraîne des drapeaux de valorisation 0,1 (x, y).
Défilement à