Не могу перемещать мышь на короткие расстояния с помощью сенсорной панели

Недавно я получил новый Lenovo Y50, и я использую Ubuntu 14.04. На моем предыдущем Dell XPS 17 тачпад имел превосходную реакцию даже при небольшом перемещении пальца - перемещая палец на очень короткое расстояние, я мог перемещать мышь на пиксель за раз, что было очень полезно, например, для захват узких оконных границ. Однако на этой новой машине мышь не реагирует, пока я не переместил палец примерно на полсантиметра, после чего мышь прыгнет на дюжину пикселей или около того. Когда мышь движется таким образом, я могу перемещать ее на произвольно точные расстояния, двигая пальцем медленнее. Я хотел бы иметь такую ​​жесткую точность, даже если я еще не двигаю мышь. (Примечание: эта проблема не возникает при использовании USB-мыши.)

Я думал, что отключение noise cancellation в xinput может помочь, поэтому я установил нулевые значения шумоподавления, но это не помогло Обнаружение ладони также установлено на ноль. Кто-нибудь знает, как добиться точности мыши при небольших движениях сенсорной панели?

Спасибо!

Для справки, xinput свойства:

$ xinput list-props 'ETPS/2 Elantech Touchpad'
Device 'ETPS/2 Elantech Touchpad':
    Device Enabled (155):   1
    Coordinate Transformation Matrix (157): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (278): 1
    Device Accel Constant Deceleration (279):   1.750000
    Device Accel Adaptive Deceleration (280):   1.000000
    Device Accel Velocity Scaling (281):    12.500000
    Synaptics Edges (282):  127, 3061, 112, 1973
    Synaptics Finger (283): 1, 1, 0
    Synaptics Tap Time (284):   180
    Synaptics Tap Move (285):   10
    Synaptics Tap Durations (286):  180, 180, 100
    Synaptics ClickPad (287):   1
    Synaptics Middle Button Timeout (288):  0
    Synaptics Two-Finger Pressure (289):    282
    Synaptics Two-Finger Width (290):   7
    Synaptics Scrolling Distance (291): 45, 45
    Synaptics Edge Scrolling (292): 0, 0, 0
    Synaptics Two-Finger Scrolling (293):   1, 1
    Synaptics Move Speed (294): 1.000000, 1.750000, 0.052507, 0.000000
    Synaptics Off (295):    0
    Synaptics Locked Drags (296):   0
    Synaptics Locked Drags Timeout (297):   5000
    Synaptics Tap Action (298): 2, 3, 0, 0, 1, 3, 0
    Synaptics Click Action (299):   1, 3, 0
    Synaptics Circular Scrolling (300): 0
    Synaptics Circular Scrolling Distance (301):    0.100000
    Synaptics Circular Scrolling Trigger (302): 0
    Synaptics Circular Pad (303):   0
    Synaptics Palm Detection (304): 0
    Synaptics Palm Dimensions (305):    1000, 1000
    Synaptics Coasting Speed (306): 20.000000, 50.000000
    Synaptics Pressure Motion (307):    30, 160
    Synaptics Pressure Motion Factor (308): 1.000000, 1.000000
    Synaptics Resolution Detect (309):  1
    Synaptics Grab Event Device (310):  1
    Synaptics Gestures (311):   1
    Synaptics Capabilities (312):   1, 0, 0, 1, 1, 1, 1
    Synaptics Pad Resolution (313): 32, 32
    Synaptics Area (314):   0, 0, 0, 0
    Synaptics Soft Button Areas (315):  1594, 0, 1709, 0, 0, 0, 0, 0
    Synaptics Noise Cancellation (316): 0, 0
    Device Product ID (271):    2, 14
    Device Node (272):  "/dev/input/event5"

Для справки, synclient параметры:

$ synclient
Parameter settings:
    LeftEdge                = 127
    RightEdge               = 3061
    TopEdge                 = 112
    BottomEdge              = 1973
    FingerLow               = 1
    FingerHigh              = 1
    MaxTapTime              = 180
    MaxTapMove              = 100
    MaxDoubleTapTime        = 180
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 0
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 45
    HorizScrollDelta        = 45
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 1
    MinSpeed                = 1
    MaxSpeed                = 1.75
    AccelFactor             = 0.0525072
    TouchpadOff             = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 2
    RBCornerButton          = 3
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 0
    ClickFinger1            = 1
    ClickFinger2            = 3
    ClickFinger3            = 0
    CircularScrolling       = 0
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 1000
    PalmMinZ                = 1000
    CoastingSpeed           = 20
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    ResolutionDetect        = 1
    GrabEventDevice         = 1
    TapAndDragGesture       = 1
    AreaLeftEdge            = 0
    AreaRightEdge           = 0
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 0
    VertHysteresis          = 0
    ClickPad                = 1
    RightButtonAreaLeft     = 1594
    RightButtonAreaRight    = 0
    RightButtonAreaTop      = 1709
    RightButtonAreaBottom   = 0
    MiddleButtonAreaLeft    = 0
    MiddleButtonAreaRight   = 0
    MiddleButtonAreaTop     = 0
    MiddleButtonAreaBottom  = 0
3
задан 21 February 2015 в 18:54

2 ответа

Моя Lenovo t540p показала те же признаки с ускоряющим профилем по умолчанию = 1 (зависимый от устройств).

Это, кажется, связано с ускорением указателя Xorg и имело отношение "ускоряющий профиль" . При установке ускоряющего профиля устройства на-1 (ни один) признак мертвой зоны, кажется, исчезает, хотя курсор мыши перемещает очень маленькие расстояния в дисплей, делая его очень точным, но довольно бесполезным.

я переключился на линейный ускоряющий профиль устройства (AccelerationProfile 6) и видел непосредственное улучшение. Начальное колебание перемещения все еще там, но курсор не переходит, как это сделало ранее.

Дальнейшее исследование причины 'мертвой зоны' гарантировано, но это может произойти из-за микропрограммного поведения. synaptics страница справочника упоминает микропрограммное подавление шумов, которое может быть трудным или невозможным управлять в настоящее время:

Подавление шумов

synaptics имеет встроенное подавление шумов на основе гистерезиса. Это означает, что входящие координаты на самом деле смещают поле предопределенных размеров, таким образом, что оно покрывает входящую координату, и только поля, собственный центр используется в качестве входа. Очевидно, чем меньший поле, тем лучше, но вероятность шумового движения, проникающего также, увеличивается.

Тонкая настройка ускоряющего профиля и связанной конфигурации

Вот является сценарием, который я использую для тонкой настройки настроек в моей системе:

#!/bin/bash
DEVICE="SynPS/2 Synaptics TouchPad"
xinput --set-prop "$DEVICE" "Device Accel Profile" 6
xinput --set-prop "$DEVICE" "Device Accel Constant Deceleration" 12
xinput --set-prop "$DEVICE" "Device Accel Velocity Scaling" 20

, Как только Вы находите настройки, которые Вы любите, можно принять решение добавить их к Вашему /etc/X11/xorg.conf.d/51-synaptics-quirks.conf файл (скопированный от /usr/share/X11/xorg.conf.d) или создать новое, разделить .conf файл там с именем как 99-your-config-file-name.conf.

Option "AccelerationProfile" "6"
# May want to set "ConstantDeceleration" and "VelocityScale" or other 
# values here as well
7
ответ дан 21 February 2015 в 18:54

Я мог решить проблему для меня (ThinkPad T460s) путем выполнения:

$ synclient HorizHysteresis=0
$ synclient VertHysteresis=0

Используя synaptics программное обеспечение конфигурации synclient.

Эти параметры были уже установлены на 0 в исходном вопросе @MichaelTingley, но в моем случае они были установлены на 28. Обнуление их устранило необходимость пошевелить пальцем немного, прежде чем мышь на самом деле переместится.

Эти настройки могут быть установлены постоянно путем добавления этого к Вашему /etc/X11/xorg.conf.d/70-synaptics.conf:

Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    Option "HorizHysteresis" "0"
    Option "VertHysteresis" "0"
EndSection

И благодаря полному ответу @Inactivist, который указал на меня в правильном направлении.

0
ответ дан 21 February 2015 в 18:54

Другие вопросы по тегам:

Похожие вопросы: