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
greguti
fonte
Esta página web pode ajudar: xps13-9333.appspot.com/#touchpad
greguti
relacionado: askubuntu.com/questions/299868/…
michael
@ 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.

valk
fonte
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 :)

greguti
fonte
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.

Álgebra Comunicativa
fonte
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.

simonp
fonte
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.

Andy Wickert
fonte
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