Problema no touchpad: pular o cursor enquanto digita (Ubuntu 14.04), o syndaemon não ajuda


22

Sei que existem outras perguntas sobre esse problema, mas não consigo encontrar o ajuste certo para corrigi-lo.

O touchpad ainda detecta minhas mãos enquanto digita coisas. É MUITO irritante, principalmente porque prejudica minha produtividade no meu novo Dell XPS Gold Edition. É uma nova instalação do Ubuntu 14.04 e não quero mexer em scripts e coisas que finalmente quebrariam o reconhecimento do touchpad.

Tentei usar o syndaemon, pois parece que é a melhor solução alternativa para esse bug:

syndaemon -i 0.5 -d

Quando eu tento no terminal, parece funcionar, desde que eu não saia da minha sessão.

Mas se eu colocar o comando no utilitário de programas de inicialização e reiniciar, o cursor sempre congela após um ou dois minutos. Portanto, devo desmarcar o comando usando o teclado e estou de volta a esse problema muito irritante de detecção de palma. Qualquer solução?

Algumas informações sobre o meu sistema:

greguti@greguti-XPS13-9333:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SYNAPTICS Synaptics Large Touch Screen    id=9    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [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)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD                      id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]
greguti@greguti-XPS13-9333:~$ xinput list-props "SynPS/2 Synaptics TouchPad" | grep -i finger
    Synaptics Finger (288): 25, 30, 0
    Synaptics Two-Finger Pressure (294):    282
    Synaptics Two-Finger Width (295):   7
    Synaptics Two-Finger Scrolling (298):   1, 1

Esta página web pode ajudar: xps13-9333.appspot.com/#touchpad
— greguti



@ kos Eu não acho que isso seja uma duplicata. Esta pergunta é sobre como evitar o problema do cursor de salto e as respostas abaixo tratam disso, não se trata de como manter as configurações de sincronização, embora essa seja uma solução possível para o problema. Observe também que o OP disse que tentou colocar o comando em aplicativos de inicialização, por isso é duvidoso que as respostas na pergunta proposta resolvam o problema de qualquer maneira.
— Seth

@ Set Este é um bug que foi corrigido nas versões posteriores do Synaptics (veja a resposta do OP), por isso achei uma boa idéia fechar a maneira "correta" de alterar as configurações do Synaptics. No entanto, o OP não está realmente mencionando como synclientdeve ser usado ... Então, é ruim, fechar como duplicado seria confuso. Removendo meu voto próximo.
— kos

Respostas:


16

Não consegui seguir esta resposta com o My XPS 13 e Ubuntu 14.04.

Mas encontrou uma solução rápida para desativar o touchpad ao digitar:

sudo apt-get install gpointing-device-settings

então corra

gpointing-device-settings

Verifique: ative a detecção de palma e mova o alcance: reduza para cerca de 10% desde o início.


isso não funciona, eu tenho medo. Assim que faço isso, recebo um erro: Ocorreu um erro X. O erro foi BadAtom (parâmetro Atom inválido). Ocorreu um erro X. O erro foi BadAtom (parâmetro Atom inválido). e o touchpad funciona igualmente mal. Na verdade, eu tenho que correect isso Edição várias vezes por causa disso
— user260881

1
Este nome de pacote não tem mais nenhum candidato à instalação em 16.04
— CPBL 27/11

8

Respondendo à minha própria pergunta, acho que finalmente encontrei a solução.

Parece que o culpado é o próprio driver Synaptics. O frontend ou comando do Wathever usado não funcionará desde que o driver não esteja corrigido.

Graças à maravilhosa página da web http://xps13-9333.appspot.com/#touchpad e alguns e-mails com o proprietário, finalmente consegui consertar esse bug horrível!

Então, aqui está o processo em uma casca de noz, consulte a página acima para obter detalhes.

A única coisa a fazer é se livrar do driver Synaptics, baixar as fontes do driver upstream, corrigi-lo para uma detecção adequada da palma da mão e criar o arquivo com as configurações corretas para o touchpad. As etapas a seguir funcionam bem no meu Dell XPS "Gold Edition" (xps-9333) com Ubuntu 14.04.

1. COISAS A VERIFICAR PRIMEIRO

Eu tive um problema durante o processo devido à falta de um pacote libevdev-dev no meu sistema (acho que não está instalado no Ubuntu 14.04?). Então, primeiro, tente instalar este pacote:

sudo apt-get install libevdev-dev

Se ainda não estiver presente no seu sistema, ele deverá instalar 3 pacotes: libevdev-dev , libevdev2 {a} e libjs-jquery {a}

Outra coisa a fazer é instalar o pacote GIT, a fim de permitir o download do código fonte do driver Synaptics upstream dos servidores GIT.

sudo apt-get install git

Quando esses pacotes estiverem no seu sistema, você poderá seguir estes comandos.

2. LIVRE-SE DO CONTROLADOR SINÁPTICO REAL E INSTALE O UPSTREAM ONE

Digite os seguintes comandos no terminal (pressione enter e verifique as saídas após cada comando):

sudo aptitude purge xserver-xorg-input-synaptics

sudo aptitude build-dep xserver-xorg-input-synaptics

O próximo comando usa GIT. Se for a primeira vez que você o usar, ele solicitará um endereço de email e um apelido para concluir o processo (ou seja, faça o download do código-fonte do driver). Você pode fazer isso no terminal, é um processo bastante simples. A saída do comando informa o que digitar, basta seguir as instruções. Eu nunca usei o GIT antes de mim e poderia lidar com essa etapa com muita facilidade.

sudo git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-synaptics

Agora você entra na pasta onde o código-fonte foi baixado:

cd xf86-input-synaptics

Agora você baixa o patch para o novo driver, que corrige o driver, permitindo a detecção da palma da mão e a largura do dedo no touchpad.

wget -q -O - http://xps13-9333.appspot.com/root/0001-Don-t-use-finger-width-for-the-palm-detection.patch | git am

Agora, crie o novo driver a partir do código fonte corrigido (digite Enter após cada linha, cada comando produzirá bastante saída):

./autogen.sh --prefix=/usr
make
sudo make install

Seu novo driver Synaptics, com o patch que permite a detecção de palma, agora está instalado no seu sistema, mas você ainda precisa especificar as configurações que o permitem.

3. CRIAR E EDITAR ARQUIVO 20-SYNAPTICS-CONF

E agora, para a última parte, crie um arquivo com as configurações do touchpad, esse arquivo será lido sempre que você inicializar o sistema.

Primeiro, você cria a pasta correta:

mkdir -p /etc/X11/xorg.conf.d/

Em seguida, você baixa o arquivo fornecido pelo proprietário da página da Web mencionada anteriormente e copia-o na nova pasta que você acabou de criar:

sudo wget -q -O /etc/X11/xorg.conf.d/20-synaptics.conf http://xps13-9333.appspot.com/root/etc/X11/xorg.conf.d/20-synaptics.conf

Por fim, você pode usar o synclient para especificar o valor ideal do parâmetro PalmMinZ (digite um número em vez de "VALUE", sugiro 100, o que funciona muito bem para mim).

synclient PalmMinZ=VALUE

Ao final deste processo, você deverá ter o novo arquivo 20-synaptics.conf dentro de /etc/X11/xorg.conf.d e o arquivo deverá ter a seguinte aparência:

Meu arquivo 20-synaptics.conf

4. NÃO ESQUEÇA DE REINICIAR :)


Depois de seguir este conselho, meu touchscreen laptop não é mais reconhecido ...
— vicatcu

... e consegui-lo de volta ao instalar o driver Synaptics touchpad do centro da software
— vicatcu

Isso corrigiu o touchpad nervoso no meu Toshiba Chromebook 2, que está executando o Ubuntu 14.04 através de um chroot crouton. O patch git não parece mais funcionar, mas a simples instalação do driver synaptics mais recente da fonte corrigiu meu problema.
— 18717 Josh

6

Nenhuma das respostas aqui estava funcionando para uma nova instalação do Ubuntu 14.04.3 em um XPS12, pelo menos não até eu entrar na lista negra do módulo psmouse. As instruções a seguir são essencialmente citadas neste conjunto de instruções para uma máquina XPS13 :

Verifique se o seu touchpad está usando apenas o barramento I2C e não o modo ps2. Inicie um terminal e digite

 xinput 

O ponteiro do núcleo virtual deve ter apenas dois itens:

 Virtual core XTEST pointer
 DLL0665:01 06CB:76AD UNKNOWN 

Se ele listar um terceiro item com o touchpad PS2 no nome, você deverá colocar o módulo psmouse na lista negra adicionando estas linhas a /etc/modprobe.d/blacklist.conf:

# remove SynPS/2 Synaptics Touchpad because we want the mouse to work over IC2b
blacklist psmouse

Então ligue

sudo update-initramfs -u

Após a reinicialização, a opção Disable touchpad while typingem System Settings/ Mouse & Touchpadfez o seu trabalho como esperado.


4
Depois de executar as etapas, a conveniente opção "Desativar o touchpad ao digitar" ainda não apareceu para mim, mas pelo menos finalmente consegui syndaemontrabalhar como postado em outras respostas. Ou seja, sua resposta foi realmente útil e foi uma etapa necessária para mim. Muito obrigado! Este é um Dell Inspiron 5559 e Ubuntu 16.10.
— Egmont

3
Eu segui estas instruções e funciona no Ubuntu 16.10. Como o @egmont disse, não há opção para desativar o touchpad, no entanto, não estou mais tendo problemas com o touchpad enquanto digito posteriormente.
— ekangas

1
Posso confirmar que ele funciona no Ubuntu 16.04.2 executando a versão 4.10 do kernel. A GUI não aparece, mas agora o syndaemon funciona conforme o esperado. Muito obrigado!
— precisa saber é o seguinte

2

Se você adicionar syndaemonaos seus aplicativos de inicialização, desmarque "Desativar ao digitar" nas configurações de Mouse e Touchpad. Se você não fizer isso, os dois mecanismos interferem e fazem com que o touchpad pare completamente de funcionar conforme você descreve. Isso funciona para mim no estoque 14.04 (laptop Lenovo T410) sem atualizar o driver.


0

A atualização mencionada por greguti agora foi incorporada à atualização geral do kernel do Linux para 3.1.6+: consulte http://xps13-9333.appspot.com/#touchpad .

As instruções gerais para atualizar o kernel para Ubuntu podem ser encontradas aqui em http://ubuntuhandbook.org/index.php/2014/08/install-upgrade-linux-kernel-3-16/ . Para um sistema genérico de 64 bits, copiei-os abaixo:

cd /tmp/
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-headers-3.16.0-031600_3.16.0-031600.201408031935_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.16-utopic/linux-image-3.16.0-031600-generic_3.16.0-031600.201408031935_amd64.deb
sudo dpkg -i linux-headers-3.16.0-*.deb linux-image-3.16.0-*.deb

E depois reinicie.

Após a reinicialização do computador, segui os conselhos de greguit e alterei o parâmetro PalmMinZ. Eu também usei 100.

synclient PalmMinZ=VALUE

Também reativei a configuração do trackpad para desativar durante a digitação, usando a GUI.

Passei apenas 10 a 15 minutos usando o computador depois de fazer isso, mas até agora toda a experiência é muito melhor.


Eu lá, tentei atualizar para o kernel 3.16, o cursor acabou de desaparecer! Eu tive que voltar ao "velho" kernel 3.13 ... Hoje apliquei a atualização de 14.04 LTS para 14.10 Utopic Unicorn, resultando no mesmo bug: o cursor não está mais aqui, tenho que fazer tudo com o teclado, é uma verdadeira dor no * ss. Ainda não consegui encontrar uma solução ... MUITO, MUITO irritante.
— greguti

Não sei por que o seu computador se comportou de maneira tão diferente do meu, mas meu primeiro (apenas!) Pensamento foi que a primeira coisa que fiz depois de retirá-lo da caixa foi atualizar o Ubuntu OS para 14.04 e aplicar essa atualização do kernel. Então, talvez haja algo que mudou na sua máquina desde que era novo, causando um conflito ...?
— Andy Wickert

Eu tive uma experiência semelhante ao greguti, mas foi causado por me esquecer de instalar o linux-kernel-extras.
— Jeff Ober

não funciona também, nenhuma das duas soluções. Compilei o driver sugerido, instalei, sem sucesso. Definitivamente, optei por desativar o touchpad, é realmente irritante e uma pena que um laptop de mil dólares tenha essa falha óbvia.
— user260881
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.