terça-feira, 3 de abril de 2012

Linux, sua segmentação e... o synaptics.

Você deve estar se perguntando: O que tem a ver o Linux, sua segmentação e o Synaptics?

Muita coisa!!

Imagine as vantagens e desvantagens de ter um sistema completamente segmentado, quero dizer, desenvolvido em partes, por várias pessoas no mundo. As vantagens todos já conhecem: Suporte técnico informal 24h, desenvolvimento em ritmo acelerado, correção de bugs em poucas horas, etc.
As desvantagens? A falta de padronização, o que gera uma dificuldade na resolução de problemas quando, por exemplo, o touchpad não funciona em uma distro, enquanto na outra funciona até de "olho fechado".

Aí é que entra o synaptics. Você ja procurou entender o motivo do touchpad do seu notebook funcionar tão bem no fedora 15 e, de repente, nem ser reconhecido no fedora 16? É a mesma distro, correto? Sim! Mas muita coisa mudou de lá pra cá.

E quando você muda de distro, vai para o OpenSUSE 12.1 e descobre que as configurações que você fazia no fedora 15 funciona perfeitamente numa distro completamente diferente?

Pois é.

Cheguei a conclusão que temos que entender a lógica da segmentação: A equipe que desenvolve o servidor gráfico X não é a mesma equipe que desenvolve o ambiente de trabalho KDE, que por sua vez, não é a mesma equipe que desenvolve o módulo que da suporte aos eventos do touchpad. Então, se existe divisão no desenvolvimento, existe divisão na configuração. Entenda que 90% do que você configura no /etc/X11/xorg.conf.d/50-synaptics.conf só vai funcionar na tela de login (KDM, GDM, etc.) e que ao entrar no ambiente de trabalho (Gnome, KDE, Xfce, etc.) essas configurações provavelmente não estarão funcionando.

Enrolei, enrolei, enrolei BASTANTE para não deixar o post sem graça rsrs acho que nem falei coisa com coisa porque estou sem dormir. Estou com muito sono, mas não podia perder a oportunidade de escrever. Se eu não fizesse isso agora, provavelmente não iria ter disposição pra fazer mais tarde. Vamos configurar o touchpad? Mão na massa!!

Primeiro, edite e salve o arquivo /etc/X11/xorg.conf.d/50-synaptics.conf

Section "InputClass"
  Identifier "touchpad catchall"
  Driver "synaptics"
  MatchIsTouchpad "on"
  MatchDevicePath "/dev/input/event*"
  Option "TapButton1"           "1"
  Option "TapButton2"           "3"
  Option "VertTwoFingerScroll"  "on"
  Option "HorizTwoFingerScroll" "on"
  Option "VertEdgeScroll"       "off"
  Option "HorizEdgeScroll"      "off"
  Option "VertScrollDelta"      "113"
  Option "HorizScrollDelta"     "113"
EndSection

Section "InputClass"
  Identifier "touchpad ignore duplicates"
  MatchIsTouchpad "on"
  MatchOS "Linux"
  MatchDevicePath "/dev/input/mouse*"
  Option "Ignore" "on"
EndSection

O parâmetro MatchDevicePath "/dev/input/event*" deve ser utilizado em um sistema com suporte ao evdev. Combinado com o parâmetro
MatchDevicePath "/dev/input/mouse*" e a opção Option "Ignore" "on" evitará que erros e conflitos ocorram devido ao reconhecimento duplicado entre dispositivos touchpad e mouse.

Veja um pouco mais sobre esse assunto aqui. [Em inglês]

Depois crie um script com qualquer nome. Por exemplo, synclient-script.sh

#!/bin/bash
synclient TapButton1=1
synclient TapButton2=3
synclient VertTwoFingerScroll=1
synclient HorizTwoFingerScroll=1
synclient VertEdgeScroll=0
synclient HorizEdgeScroll=0
synclient VertScrollDelta=113
synclient HorizScrollDelta=113

Salve-o, mude a permissão para +x (permissão para execução) e copie para o diretório de inicialização automática do KDE

$HOME/.kde4/env

Esse diretório tem a função de armazenar scripts que devem ser carregados durante a inicialização do ambiente grafico KDE. Diferente do $HOME/.kde4/Autostart que é utilizado para armazenar scripts que devem ser carregados após o KDE ter sido completamente iniciado, por exemplo, algum navegador de internet que vocẽ deseja que seja aberto automaticamente toda vez que você entrar no KDE.

Para finalizar, analise se não tem nenhum outro gerenciador de touchpad/synaptic correndo no ambiente gráfico. Eu tive problemas para usar meu script porque ja havia o synaptiks instalado (gerenciador de touchpad para KDE). Simplesmente minhas configurações não funcionavam, parecia que um anulava o outro, algum tipo de conflito. Como o synaptiks não estava funcionando bem, dando umas travadas, resolvi remove-lo e ficar so com o script.

Bom, espero ter ajudado. ;-)

[ ] ' s
Follow Me on Twitter