На этот вопрос был дан подробный ответ на форумах Crunchbang , они описывают эту прокрутку как «плавную инерционную прокрутку».
Необходимо правильно настроить драйвер сенсорной панели и приведенный пример, который звучит как будто он может быть достаточно универсальным, чтобы настроить и ваш, использует пакет synclient .
Они использовали эти настройки в 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 &
Вы можете сделать это в два этапа с помощью утилитыrs
(r e s hape )
~
в качестве разделителя столбца Пр.
$ rs -c~ -T < file | rs 0 1
1
toast
3
5
8
9
4
test
8
Как вариант, с помощью Awk:
$ awk -F~ '
{for (i=1;i<=NF;i++) a[i] = a[i] == "" ? $i : a[i] "\n" $i}
END {for (i in a) print a[i]}
' file
1
toast
3
5
8
9
4
test
8
$ perl -F'~' -lane '
$A[$_][$.-1] = $F[$_] for 0.. $#F;}{
print join $/, @{$A[$_]} for 0.. $#A;
' input.file
Собирать и сохранять столбцы в многомерном массиве таким образом, чтобы первый индекс относился к номеру столбца, а второй — к номеру строки. Затем в конце выполните цикл по столбцу num и напечатайте каждый элемент массива, разделенный символом новой строки.