Pengguliran halus - dari mana asalnya?

8

Jadi, saya sudah berurusan dengan Ubuntu dan distro berbasis Debian lainnya untuk sementara waktu dan agak seperti Crunchbang. Tapi saya juga memperhatikan bahwa Ubuntu (dan juga LMDE) hadir dengan fitur mewah / bagus / cantik yang disebut "smooth scrolling" (tidak hanya di Firefox / Chrome, saya merujuk pada pengalaman scrolling di seluruh sistem).

Saya ingin memilikinya di Crunchbang juga. Saya telah mencari dokumentasi web tentang fitur ini selama berminggu-minggu, tetapi saya tidak dapat menemukan apa pun! Saya hanya bisa mengerti (dan saya bahkan tidak yakin) bahwa scrolling halus ada hubungannya dengan GTK + (dan driver Synaptics mungkin?), Dan tidak ada yang lain.

Untuk memperjelasnya, saya mengacu pada perbedaan yang sama antara menggulir di WinXP (biasanya 3 atau 5 baris pada waktu) dengan roda mouse dan menggulir di OSX dengan bantalan klik mereka (di mana lebih seperti menggesekkan pada layar sentuh).

Jika itu penting, saya menjalankan Crunchbang di Samsung Series 9, dengan clickpad Elantech.

Bisakah Anda membantu saya menemukan cara untuk belajar lebih banyak? Atau Anda tahu panduan apa saja untuk membuatnya bekerja di Crunchbang?

apsql
sumber

Jawaban:

2

Ini dijawab secara mendalam di forum Crunchbang , mereka menggambarkan gulir ini sebagai "gulir inersia halus."

Seseorang harus mengkonfigurasi driver touchpad dengan benar, dan contoh yang diberikan, yang terdengar seperti itu cukup universal untuk mengkonfigurasi Anda juga, menggunakan paket synclient .

Mereka telah menggunakan pengaturan ini dalam sinkronisasi, saya menautkan halaman manual, di atas:

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

... dan menambahkan ini ke autostart:

    ## 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 &
Lupa kata sandi
sumber
0

Menemukan tautan ini. Sepertinya Anda dapat menjalankan xev dan itu akan memuntahkan banyak keluaran tentang pengguliran Anda.

Menggunakan xev Anda setidaknya dapat melihat apakah itu bergulir mulus atau tombol acara bergulir. Pada G500 saya dengan klik dimatikan masih tidak lancar. xev menunjukkan acara "tombol" setiap kali bergulir.

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

Juga menemukan ini.

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

LinuxProtocol
sumber
2
Anda tidak akan pernah mendeteksi acara "gulir mulus" dengan xev. xev sudah usang dalam kasus XInput 2 acara. apa yang dilakukan x jika mendeteksi "gulir" peristiwa gulir XI2 menerjemahkannya ke "lama" 4/5 Tombol ditekan agar konsisten dengan perangkat lunak "lama". karena itu "tua" xev hanya akan mendeteksi penekanan tombol 4/5 bahkan dalam kasus sinaptik touchpad "smooth" XI2 events.
dustin.b
@ dustin.b Utilitas apa yang dapat saya gunakan untuk menangkap peristiwa "mentah" halus "(jika" acara "bahkan merupakan terminologi yang benar lagi) dari touchpad saya atau perangkat lain untuk melihat bahwa perangkat tersebut bahkan dapat mendukung pengguliran yang lancar?
user29020
4
@ user29020 saya akan merekomendasikan xinput. Cukup ketik >$ xinputuntuk mengumpulkan daftar perangkat input. Pilih perangkat berdasarkan nilai id yang ditunjukkan dalam daftar ini. Setelah itu ketik di >$ xinput --test-xi2 <id>mana <id> adalah nomor perangkat. Tanpa menggerakkan mouse / pad Anda sudah bisa melihat para penilai. Anda dapat melihat penilai 3 "Rel Vert Scroll" jika sekarang Anda memindahkan perangkat yang Anda lihat acara gerak. Gerakan satu jari menghasilkan penilai bendera 0,1 (x, y). Gulir dua jari di bendera penilai 3.
dustin.b