Thinkpad x250 synaptics clickpad omite atualizações de posição em movimentos lentos. Zona morta dinâmica, cursor congelado, pulando?

0

O dispositivo ou driver clickpad no meu thinkpad x250 omite as atualizações de posição em movimentos lentos, levando a saltos, movimento impreciso, cursor preso temporariamente. Isso é especialmente irritante para ajustes de precisão no cursor.

Sintomas:

  • Ao mover o dedo muito devagar, o cursor pára de se mover e é retomado após distância suficiente percorrida, resultando em um salto.
  • Esse é um problema de limite, não de resolução. O movimento é suave acima do limite.
  • Enquanto ele funciona, evtest mostra eventos para ABS_MT_POSITION_X, ABS_MT_POSITION_Y, ABS_X, ABS_Y, ABS_PRESSURE e ABS_MT_PRESSURE.
  • Enquanto está preso, o dispositivo continua enviando atualizações, mas apenas ABS_PRESSURE e ABS_MT_PRESSURE.

A quantidade de jumpiness depende das configurações do driver. A solução proposta altera as configurações do driver para reduzir os saltos desse comportamento errático ao reduzir amplamente os perfis utilizáveis de resolução e aceleração. Isso não aborda o limiar, mas reduz o sintoma de salto.

Andrew.punnett liga esse relatório de bug. Exemplos de vídeos desse relatório de bug: link , link

Sistema: Ubuntu 16.04, atualmente em 4.4.0-92-genérico x86_64. xinput lista o dispositivo como "SynPS / 2 Synaptics TouchPad". Eu observei o comportamento em dois X250s e em T - ??? thinkpad.

Minha configuração de driver é ajustada via synclient e xinput. Não encontrei nenhum parâmetro para alterar esse comportamento. Veja a saída do synclient, xinput abaixo:

~$ synclient 
Parameter settings:
    LeftEdge                = 1545
    RightEdge               = 5399
    TopEdge                 = 1333
    BottomEdge              = 4521
    FingerLow               = 25
    FingerHigh              = 30
    MaxTapTime              = 180
    MaxTapMove              = 255
    MaxDoubleTapTime        = 100
    SingleTapTimeout        = 180
    ClickTime               = 100
    EmulateMidButtonTime    = 0
    EmulateTwoFingerMinZ    = 282
    EmulateTwoFingerMinW    = 7
    VertScrollDelta         = 116
    HorizScrollDelta        = 116
    VertEdgeScroll          = 0
    HorizEdgeScroll         = 0
    CornerCoasting          = 0
    VertTwoFingerScroll     = 1
    HorizTwoFingerScroll    = 1
    MinSpeed                = 1
    MaxSpeed                = 1
    AccelFactor             = 0.0343997
    TouchpadOff             = 0
    LockedDrags             = 0
    LockedDragTimeout       = 5000
    RTCornerButton          = 2
    RBCornerButton          = 3
    LTCornerButton          = 0
    LBCornerButton          = 0
    TapButton1              = 1
    TapButton2              = 3
    TapButton3              = 2
    ClickFinger1            = 1
    ClickFinger2            = 3
    ClickFinger3            = 2
    CircularScrolling       = 1
    CircScrollDelta         = 0.1
    CircScrollTrigger       = 0
    CircularPad             = 0
    PalmDetect              = 0
    PalmMinWidth            = 10
    PalmMinZ                = 200
    CoastingSpeed           = 20
    CoastingFriction        = 50
    PressureMotionMinZ      = 30
    PressureMotionMaxZ      = 160
    PressureMotionMinFactor = 1
    PressureMotionMaxFactor = 1
    ResolutionDetect        = 1
    GrabEventDevice         = 0
    TapAndDragGesture       = 1
    AreaLeftEdge            = 2000
    AreaRightEdge           = 5000
    AreaTopEdge             = 0
    AreaBottomEdge          = 0
    HorizHysteresis         = 0
    VertHysteresis          = 0
    ClickPad                = 1
    RightButtonAreaLeft     = 3472
    RightButtonAreaRight    = 0
    RightButtonAreaTop      = 4112
    RightButtonAreaBottom   = 0
    MiddleButtonAreaLeft    = 0
    MiddleButtonAreaRight   = 0
    MiddleButtonAreaTop     = 0
    MiddleButtonAreaBottom  = 0

~$ xinput list-props "SynPS/2 Synaptics TouchPad"
Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (139):   1
    Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    Device Accel Profile (270): 1
    Device Accel Constant Deceleration (271):   1.000000
    Device Accel Adaptive Deceleration (272):   1.000000
    Device Accel Velocity Scaling (273):    1.000000
    Synaptics Edges (295):  1545, 5399, 1333, 4521
    Synaptics Finger (296): 25, 30, 0
    Synaptics Tap Time (297):   180
    Synaptics Tap Move (298):   255
    Synaptics Tap Durations (299):  180, 100, 100
    Synaptics ClickPad (300):   1
    Synaptics Middle Button Timeout (301):  0
    Synaptics Two-Finger Pressure (302):    282
    Synaptics Two-Finger Width (303):   7
    Synaptics Scrolling Distance (304): 116, 116
    Synaptics Edge Scrolling (305): 0, 0, 0
    Synaptics Two-Finger Scrolling (306):   1, 1
    Synaptics Move Speed (307): 1.000000, 1.000000, 0.034400, 0.000000
    Synaptics Off (308):    0
    Synaptics Locked Drags (309):   0
    Synaptics Locked Drags Timeout (310):   5000
    Synaptics Tap Action (311): 2, 3, 0, 0, 1, 3, 2
    Synaptics Click Action (312):   1, 3, 2
    Synaptics Circular Scrolling (313): 1
    Synaptics Circular Scrolling Distance (314):    0.100000
    Synaptics Circular Scrolling Trigger (315): 0
    Synaptics Circular Pad (316):   0
    Synaptics Palm Detection (317): 0
    Synaptics Palm Dimensions (318):    10, 200
    Synaptics Coasting Speed (319): 20.000000, 50.000000
    Synaptics Pressure Motion (320):    30, 160
    Synaptics Pressure Motion Factor (321): 1.000000, 1.000000
    Synaptics Resolution Detect (322):  1
    Synaptics Grab Event Device (323):  0
    Synaptics Gestures (324):   1
    Synaptics Capabilities (325):   1, 0, 0, 1, 1, 1, 1
    Synaptics Pad Resolution (326): 73, 53
    Synaptics Area (327):   2000, 5000, 0, 0
    Synaptics Soft Button Areas (328):  3472, 0, 4112, 0, 0, 0, 0, 0
    Synaptics Noise Cancellation (329): 0, 0
    Device Product ID (260):    2, 7
    Device Node (261):  "/dev/input/event5"
    
por hellday 08.05.2017 / 19:55

1 resposta

0

Isso soa exatamente como o mesmo problema que experimentei no Thinkpad X230. Existe um relatório de bug sobre este problema aqui que sugere que você cria o arquivo /etc/X11/xorg.conf.d/50-touchpad.conf contendo as seguintes configurações:

Section "InputClass"
        Identifier "touchpad"
        MatchProduct "SynPS/2 Synaptics TouchPad"
        Driver "synaptics"
        # fix touchpad resolution
        Option "VertResolution" "100"
        Option "HorizResolution" "65"
        # disable synaptics driver pointer acceleration
        Option "MinSpeed" "1"
        Option "MaxSpeed" "1"
        # tweak the X-server pointer acceleration
        Option "AccelerationProfile" "2"
        Option "AdaptiveDeceleration" "16"
        Option "ConstantDeceleration" "16"
        Option "VelocityScale" "32"
EndSection

Depois de ajustar a configuração VelocityScale , isso melhorou muito o comportamento do meu touchpad.

    
por 29.07.2017 / 22:57