A maioria dos snippets on-line não explica o como e apenas declara o porquê . Aqui está o que você precisa saber sobre o driver synaptics:
- O driver detecta a pressão, a largura da zona de toque e o número de dedos.
- Nem todos os dispositivos, no entanto, afirmam claramente que há vários dedos no touchpad. Às vezes, eles reivindicam uma pressão extremamente alta ou uma zona de toque incomumente ampla.
- O Synaptics é um driver maravilhoso e pode lidar com esses dispositivos com comportamentos inadequados.
Em particular, o comando synclient -m 0
iniciará uma ferramenta muito útil que lista a saída em tempo real do driver (você precisará do SHMConfig definido de uma forma ou de outra para que isso funcione). A saída ficaria assim:
time x y z f w l r u d m multi gl gm gr gdx gdy
0.000 1 5855 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0
1.465 2562 2450 10 1 5 0 0 0 0 0 00000000 0 0 0 0 0
Você está interessado em z (pressão), f (número de dedos) e w (largura da zona de toque) colunas.
Brinque um pouco com o touchpad para descobrir como (se é que) representa vários dedos. No meu caso, eu fico mais alto que os valores normais de W (> 7 para múltiplos dedos).
Agora, por sorte, os desenvolvedores de synaptics são pessoas inteligentes e incluíram as diretivas EmulateTwoFingerMinW
e EmulateTwoFingerMinZ
, que devem ser autoexplicativas - um trata todos os toques com W maior que um determinado valor como dois dedos, enquanto o outro o mesmo para o valor de Z.
Adicionar um desses itens à política hal, no entanto, não corrigirá as coisas. Os desenvolvedores do GNOME, em sua infinita sabedoria, decidiram que o gnome-settings-daemon deveria reescrever todas as configurações do touchpad . Portanto, eu recorri a ter um script cheio de comandos synclient
executados como parte da sessão do GNOME (adicionei a Preferences->Startup Applications
).
Abaixo, parte do meu script para ajudar você a começar. Salve-o em qualquer lugar, adicione + x às permissões e adicione-o à sua sessão. Talvez seja necessário executá-lo novamente após uma suspensão ou hibernação.
#!/bin/bash
export DISPLAY=:0.0
synclient EmulateTwoFingerMinZ=0
synclient EmulateTwoFingerMinW=6
synclient VertTwoFingerScroll=1
synclient HorizTwoFingerScroll=1
synclient VertScrollDelta=75
synclient HorizScrollDelta=100
Concluindo, aprenda synclient
(através de man synaptics
) e ignore os conselhos desatualizados na Internet.
Boa sorte!