terça-feira, 3 de abril de 2012

Linux, sua segmentação e... 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, só mudou a versão.

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?

Pois é.

Cheguei a conclusão que temos que compreender a lógica da segmentação do desenvolvimento Linux (promovido pela filosofia opensource & software livre) e as particularidades de cada distribuiçã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.) algumas dessas configurações provavelmente não estarão funcionando (abstraídas por algum outro recurso).

Enrolei, enrolei, enrolei bastante para não deixar o post sem graça rsrs

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 e mude a permissão para +x (permissão de 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 antes da 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. Como o synaptiks não estava funcionando bem resolvi remove-lo e ficar so com o script.

Espero ter ajudado. ;-)

[ ] ' s
Share: