Alternar o mouse/touchpad entre destro e canhoto no Openbox
Dica publicada em Shell Script / Miscelânea
Alternar o mouse/touchpad entre destro e canhoto no Openbox
Para quem usa ambientes gráficos mais minimalistas, como o Openbox, há muita carência de ferramentas de configurações em modo gráfico.
Pensando nisso, para facilitar a vida de quem não sabe ou não gosta de usar o terminal, criei um script bem simples para alternar o modo padrão do mouse/touchpad entre destro e canhoto.
Primeiramente, crie um arquivo com o nome chpointer.sh e insira este conteúdo:
Salve este arquivo em qualquer um destes locais:
E dê permissão de execução:
# chmod +x chpointer.sh
O próximo passo é criar o arquivo home/usuario/.xmodmap.sh, que será adicionado ao autostart do ambiente gráfico. Assim, sua escolha se manterá como padrão quando se logar novamente.
Não se esqueça de dar permissão de execução:
chmod +x .xmodmap.sh
Agora, adicione a seguinte linha no arquivo /home/usuario/.config/openbox/autostart:
Por fim, vamos criar um atalho/lançador para o script. Crie um arquivo chamado mouse.desktop com o seguinte conteúdo:
Salve no diretório /home/usuario/.local/share/applications ou /usr/share/applications.
Se estiver usando um menu que atualiza automaticamente, o seu novo atalho já deve aparecer na categoria Configurações. Para criar um atalho no menu do Openbox, edite o arquivo /home/usuario/.config/openbox/menu.xml e acrescente a linha abaixo:
/local/do/chpointer.sh/
Como pré-requisito, é necessário ter instalado o Zenity.
Pensando nisso, para facilitar a vida de quem não sabe ou não gosta de usar o terminal, criei um script bem simples para alternar o modo padrão do mouse/touchpad entre destro e canhoto.

Primeiramente, crie um arquivo com o nome chpointer.sh e insira este conteúdo:
#!/bin/bash
RESP=$(zenity --list \
--title="Configuração do Mouse" \
--text "Selecione o modo padrão para o mouse/touchpad" \
--radiolist --hide-header --column "Pick" --column "Modo Padrão" \
FALSE "Destro" \
FALSE "Canhoto")
if [[ "$RESP" =~ "Destro" ]]; then
xmodmap -e "pointer = 1 2 3"
synclient VertEdgeScroll=1
synclient TapButton1=1
synclient LockedDrags=1
echo -e '#!/bin/bash\nxmodmap -e "pointer = 1 2 3"\nsynclient VertEdgeScroll=1\nsynclient TapButton1=1\nsynclient LockedDrags=1' > $HOME/.xmodmap.sh
zenity --info --title="Configuração do Mouse" --text="Mouse/Touchpad configurados para Destro"
fi
if [[ "$RESP" = "Canhoto" ]]; then
xmodmap -e "pointer = 3 2 1"
synclient VertEdgeScroll=1
synclient TapButton1=3
synclient LockedDrags=1
echo -e '#!/bin/bash\nxmodmap -e "pointer = 3 2 1"\nsynclient VertEdgeScroll=1\nsynclient TapButton1=3\nsynclient LockedDrags=1' > $HOME/.xmodmap.sh
zenity --info --title="Configuração do Mouse" --text="Mouse/Touchpad configurados para Canhoto"
fi
RESP=$(zenity --list \
--title="Configuração do Mouse" \
--text "Selecione o modo padrão para o mouse/touchpad" \
--radiolist --hide-header --column "Pick" --column "Modo Padrão" \
FALSE "Destro" \
FALSE "Canhoto")
if [[ "$RESP" =~ "Destro" ]]; then
xmodmap -e "pointer = 1 2 3"
synclient VertEdgeScroll=1
synclient TapButton1=1
synclient LockedDrags=1
echo -e '#!/bin/bash\nxmodmap -e "pointer = 1 2 3"\nsynclient VertEdgeScroll=1\nsynclient TapButton1=1\nsynclient LockedDrags=1' > $HOME/.xmodmap.sh
zenity --info --title="Configuração do Mouse" --text="Mouse/Touchpad configurados para Destro"
fi
if [[ "$RESP" = "Canhoto" ]]; then
xmodmap -e "pointer = 3 2 1"
synclient VertEdgeScroll=1
synclient TapButton1=3
synclient LockedDrags=1
echo -e '#!/bin/bash\nxmodmap -e "pointer = 3 2 1"\nsynclient VertEdgeScroll=1\nsynclient TapButton1=3\nsynclient LockedDrags=1' > $HOME/.xmodmap.sh
zenity --info --title="Configuração do Mouse" --text="Mouse/Touchpad configurados para Canhoto"
fi
Salve este arquivo em qualquer um destes locais:
- /home/usuario/bin
- /usr/bin
- /usr/local/bin
E dê permissão de execução:
# chmod +x chpointer.sh
O próximo passo é criar o arquivo home/usuario/.xmodmap.sh, que será adicionado ao autostart do ambiente gráfico. Assim, sua escolha se manterá como padrão quando se logar novamente.
Não se esqueça de dar permissão de execução:
chmod +x .xmodmap.sh
Agora, adicione a seguinte linha no arquivo /home/usuario/.config/openbox/autostart:
sh $HOME/.xmodmap.sh &
Por fim, vamos criar um atalho/lançador para o script. Crie um arquivo chamado mouse.desktop com o seguinte conteúdo:
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Mouse/Touchpad
GenericName=Pointer Settings
GenericName[pt_BR]=Configurações dos dispositivos apontador
Type=Application
Exec=/bin/bash chpointer.sh
Terminal=false
Icon=mouse
Comment=Configurar o mouse/touchpad
Categories=Settings;HardwareSettings;
StartupNotify=true
Version=1.0
Encoding=UTF-8
Name=Mouse/Touchpad
GenericName=Pointer Settings
GenericName[pt_BR]=Configurações dos dispositivos apontador
Type=Application
Exec=/bin/bash chpointer.sh
Terminal=false
Icon=mouse
Comment=Configurar o mouse/touchpad
Categories=Settings;HardwareSettings;
StartupNotify=true
Salve no diretório /home/usuario/.local/share/applications ou /usr/share/applications.
Se estiver usando um menu que atualiza automaticamente, o seu novo atalho já deve aparecer na categoria Configurações. Para criar um atalho no menu do Openbox, edite o arquivo /home/usuario/.config/openbox/menu.xml e acrescente a linha abaixo:
Como pré-requisito, é necessário ter instalado o Zenity.