O ponteiro do mouse pula para a esquerda logo antes de clicar com o botão esquerdo ao usar o touchpad

2

Eu tenho um Asus Zenbook UX305 com 16.04 e o Unity instalado. Ao usar o trackpad ("Elan touchpad" identificado por xinput ), eu uso minha mão direita para manobrar o ponteiro do mouse e a esquerda para fazer cliques com o botão esquerdo na parte inferior esquerda do touchpad. Infelizmente, muitas vezes o mouse pula para o canto inferior esquerdo da tela antes que meu clique seja concluído. Inicialmente eu pensei que o salto fosse inteiramente para o canto inferior esquerdo, mas subseqüentemente descobri que o salto é apenas nessa direção (ajustando a velocidade do ponteiro do mouse).

Eu tentei várias configurações nas configurações do Mouse e do touchpad, além de estar mexendo com várias configurações no Synclient (por exemplo, FingerHigh), sem sucesso.

Geralmente, eu removo minha mão direita do touchpad antes de clicar com a mão esquerda; No entanto, às vezes, talvez o intervalo entre o lançamento e o clique seja muito pequeno ou inexistente. Meu sentimento é que, de alguma forma, a pressão inicial da minha mão esquerda é vista como a pressão de um movimento muito rápido para a parte inferior direita da posição da minha mão direita, conforme eu a libero.

Eu realmente gostaria de resolver esse comportamento irritante.

Informações adicionais:

$ xinput --list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Elan Touchpad id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ USB2.0 UVC HD Webcam id=9 [slave keyboard (3)] ↳ Asus WMI hotkeys id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]

$ xinput --list-props "Elan Touchpad" Device 'Elan Touchpad': Device Enabled (137): 1 Coordinate Transformation Matrix (139): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (265): 1 Device Accel Constant Deceleration (266): 2.500000 Device Accel Adaptive Deceleration (267): 1.000000 Device Accel Velocity Scaling (268): 12.500000 Synaptics Edges (269): 123, 2974, 114, 2005 Synaptics Finger (270): 25, 30, 0 Synaptics Tap Time (271): 180 Synaptics Tap Move (272): 165 Synaptics Tap Durations (273): 180, 100, 100 Synaptics ClickPad (274): 1 Synaptics Middle Button Timeout (275): 0 Synaptics Two-Finger Pressure (276): 282 Synaptics Two-Finger Width (277): 7 Synaptics Scrolling Distance (278): 75, 75 Synaptics Edge Scrolling (279): 0, 0, 0 Synaptics Two-Finger Scrolling (280): 1, 1 Synaptics Move Speed (281): 1.000000, 1.750000, 0.053305, 0.000000 Synaptics Off (282): 2 Synaptics Locked Drags (283): 0 Synaptics Locked Drags Timeout (284): 5000 Synaptics Tap Action (285): 2, 3, 0, 0, 1, 3, 0 Synaptics Click Action (286): 1, 3, 0 Synaptics Circular Scrolling (287): 0 Synaptics Circular Scrolling Distance (288): 0.100000 Synaptics Circular Scrolling Trigger (289): 0 Synaptics Circular Pad (290): 0 Synaptics Palm Detection (291): 0 Synaptics Palm Dimensions (292): 10, 200 Synaptics Coasting Speed (293): 20.000000, 50.000000 Synaptics Pressure Motion (294): 30, 160 Synaptics Pressure Motion Factor (295): 1.000000, 1.000000 Synaptics Resolution Detect (296): 1 Synaptics Grab Event Device (297): 0 Synaptics Gestures (298): 1 Synaptics Capabilities (299): 1, 0, 0, 1, 1, 1, 1 Synaptics Pad Resolution (300): 33, 32 Synaptics Area (301): 0, 0, 0, 0 Synaptics Soft Button Areas (302): 1548, 0, 1737, 0, 0, 0, 0, 0 Synaptics Noise Cancellation (303): 18, 18 Device Product ID (257): 1267, 5 Device Node (258): "/dev/input/event7"

[Aviso: isto é muito semelhante a Como faço para parar o cursor pulando do local desejado para a extrema esquerda da tela? , mas não conseguimos estabelecer se era o mesmo ou um problema diferente porque o autor original parou de responder à pergunta.]

    
por Steve Kroon 08.07.2016 / 13:09

2 respostas

2

A sequência de eventos que você descreveu é:

  • arrastar com a mão direita, seguido por
  • levantar o dedo da mão direita, seguido por
  • toque com a mão esquerda e solte (toque).

Quando você clica usando o método particular y (com os dedos a partir das 2 mãos no pad), certifique-se de tocar com o dedo esquerdo após liberar a mão direita contato com os dedos. Isso deve ajudar o kernel a reconhecer um toque rápido como um clique esquerdo e (espero) diferenciar entre isso e uma trajetória sentida como contínua no bloco, indo da mão direita para a mão esquerda de acordo com a seqüência acima.

Experimente vários caminhos de comprimento ou altere a maneira como você trabalha com o touch pad do ano.

1) Coasting: Primeiro leia o documento e certifique-se de que "coasting convencional" esteja desativado. Se você quiser fazer o "coasting", certifique-se de que ele esteja ativado apenas como "limite de borda" . Caso contrário, o tipo de sequência descrita acima levará ao que chamo de "vazamento do movimento do ponteiro" ("coasting convencional"), um comportamento que consiste no fato de o ponteiro continuar seu movimento retilíneo mesmo depois de você ter parado de usá-lo no pad. Costura convencional pára com uma torneira. O "Edge-coasting" , por outro lado, só é ativado quando você aplica pressão digital em uma borda do teclado. Ele pára imediatamente quando a pressão do dedo fica abaixo de um determinado valor.

2) Em segundo lugar, ajuste Synaptics Tap Durations (273): 180, 100, 100 :

Os 3 valores são:

   Option "MaxTapTime" "integer"
          Single touch timeout or maximum time (in milliseconds) for detecting a tap.

   Option "MaxDoubleTapTime" "integer"
          Maximum time (in milliseconds) for detecting a double  tap.

   Option "ClickTime" "integer"
          Duration  of  the  mouse  click  generated  by tapping.

Tente diminuir o valor de MaxTapTime (toque e tempo de lançamento) de 180 para, digamos, 90. Isso tornará o pad mais sensível aos toques, ajudando o kernel a diferenciar entre um toque rápido e uma mudança de dedo durante movimento do ponteiro. Isso certamente terá efeitos colaterais, que você pode avaliar consultando este .

Se isso não lhe der resultados satisfatórios, tente:

3) Desativar Synaptics Pressure Motion (294): 30, 160 :

  • Movimento de Pressão Synaptics: 32 bits, 2 valores, mínimo, máximo

Todas as ferramentas e documentação que você precisa são referenciadas e demonstradas nesta resposta, bem como em um anterior já citada por você.

NOTA: Não tenho certeza de que alguém possa ajudá-lo mais do que isso, pois a solução depende muito da tentativa e erro e do seu gosto pessoal. Por essa razão, esse tipo de pergunta não desperta muito interesse. Isso é compreensivelmente importante para você, mas receio que entrar em tais detalhes e especificidades possa estar fora do escopo de interesse geral.

    
por Cbhihe 12.07.2016 / 22:45
1

Eu tive esse problema com um touchpad Synaptics e o que resolveu para mim foi alterar os valores de cancelamento de ruído. Após uma nova instalação, os valores de cancelamento de ruído foram:

Synaptics Noise Cancellation (353): 8, 8

Então eu mudei os valores de cancelamento de ruído para 20, 20 com o comando

xinput --set-prop 13 "Synaptics Noise Cancellation" 20 20

Como se costuma dizer, sua milhagem pode variar ...

Tome cuidado.

    
por zakarpatska 28.09.2016 / 03:00