Плавная прокрутка — откуда она берётся?

Плавная прокрутка — откуда она берётся?

Итак, я некоторое время имел дело с Ubuntu и другими дистрибутивами на основе Debian, и мне нравится Crunchbang. Но я также заметил, что Ubuntu (а также LMDE) поставляется с этой модной/красивой/радующей глаз функцией под названием «плавная прокрутка» (не только в Firefox/Chrome, я имею в виду общесистемный опыт прокрутки).

Я хочу, чтобы это было и в Crunchbang. Я искал в Интернете документацию об этой функции несколько недель, но ничего не нашел! Я мог бы просто понять (и я даже не уверен), что плавная прокрутка связана с GTK+ (и драйвером Synaptics, возможно?), и ни с чем другим.

Чтобы было понятнее, я имею в виду ту же разницу между прокруткой в ​​WinXP (обычно по 3 или 5 строк за раз) с помощью колесика мыши и прокруткой в ​​OSX с помощью сенсорных панелей (где это больше похоже на прокрутку на сенсорном экране).

Если это имеет какое-то значение, я запускаю Crunchbang на Samsung Series 9 с сенсорной панелью Elantech.

Не могли бы вы мне помочь найти способ узнать больше? Или вы знаете какое-либо руководство, чтобы заставить это работать в 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/

Связанный контент