Плавная прокрутка - откуда она?


8

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

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

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

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

Не могли бы вы помочь мне найти способ узнать больше? Или вы знаете какое-нибудь руководство, чтобы заставить его работать в Crunchbang?

Ответы:


2

На форумы 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 &

0

Нашел эту ссылку. Похоже, вы можете запустить 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

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

Также нашел это.

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


2
вы никогда не обнаружите «плавную прокрутку» событий с помощью xev. xev устарел в случае событий XInput 2. что делает x, если обнаруживает «гладкие» события прокрутки XI2, переводит их в «старые» нажатия кнопок 4/5 для соответствия «старому» программному обеспечению. Потому что «старый» xev будет обнаруживать нажатия кнопок 4/5 даже в случае «гладких» событий XI2 синаптической сенсорной панели.
dustin.b

@ dustin.b Какую утилиту я могу использовать для захвата «сырых» гладких «событий» (если «события» - даже правильная терминология) с моей сенсорной панели или другого устройства, чтобы увидеть, что устройство может даже поддерживать плавную прокрутку?
user29020

4
@ user29020 я бы порекомендовал xinput. Просто наберите >$ xinputсписок устройств ввода. Выберите устройство на основе значения идентификатора, указанного в этом списке. После этого введите >$ xinput --test-xi2 <id>где <id> - номер устройства. Не двигая мышку / коврик, вы уже можете видеть оценщики. вы можете увидеть оценщик 3 «Rel Vert Scroll», если вы теперь перемещаете устройство, вы видите события движения. Движение одного пальца приводит к появлению флажков оценщика 0,1 (x, y). Прокрутка двумя пальцами в флаге
оценщика
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.