As configurações do touchpad Synaptics são redefinidas depois de acordar da suspensão

1

Eu tenho meu touchpad configurado para registrar um toque de 3 dedos como clique do meio usando

synclient TapButton3=2

Isso funciona bem, então eu configurei este comando para executar alguns segundos após o login meses atrás, usando a ferramenta GUI de Aplicativos de Inicialização. É assim que os arquivos relevantes aparecem:

$ cat .config/autostart/touchpad-settings.sh.desktop 
[Desktop Entry]
Type=Application
Exec=bash -c 'sleep 7 ; /usr/local/bin/touchpad-settings.sh'
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Touchpad settings
Comment=

$ cat /usr/local/bin/touchpad-settings.sh
#! /bin/bash
synclient TapButton3=2

Então, isso funcionou bem o tempo todo, mas desde alguns dias, ou talvez semanas atrás, a configuração foi redefinida após suspender o laptop e reativá-lo novamente. O toque de 3 dedos abre um alternador de janela semelhante a Alt + Tab em vez de produzir um clique do meio e consultar synclient para esse valor de configurações confirma que TapButton3=0 novamente.

Alguma idéia do que pode ter causado isso? Como posso consertar ou pelo menos reconfigurá-lo automaticamente depois de acordar da suspensão?

    
por Byte Commander 29.04.2017 / 22:57

1 resposta

1

Não tenho ideia do que o causa, mas pode ser resolvido rapidamente.

Você pode escrever um script e deixá-lo ser executado sempre após a suspensão. Veja como funciona:

Primeiro, crie um script que contenha as configurações do seu touchpad. O meu parece assim:

#!/bin/bash 
#=============
# touchpad.sh
#=============
# This script sets up my touchpad settings at login/after suspend
# Executed from /lib/systemd/system-sleep

# wait for a few seconds for the desktop to be set up properly first
sleep 5;

# synclient needs a server to connect to
declare -x DISPLAY=":0.0"
declare -x XAUTHORITY="/home/<YOUR USERNAME>/.Xauthority"

# enable middle click
synclient TapButton2=3 
synclient TapButton3=2

# disable window switcher
synclient ClickFinger3=2

exit 0

Não se esqueça de inserir SEU NOME DE USUÁRIO e tornar o script executável : chmod a + x /path/to/script/touchpad.sh

Em seguida, você cria um script que iniciará o touchpad.sh após a suspensão. Para o ubuntu 16, você precisará salvá-lo no diretório /lib/systemd/system-sleep/ . É assim que a minha parece:

#!/bin/sh
case $1 in
  pre)
    # Place your pre suspend commands here, or 'exit 0' 
    # if no pre suspend action required
    exit 0
    ;;
  post)
    # Place your post suspend (resume) commands here, or 
    # 'exit 0' if no post suspend action required
    /path/to/script/touchpad.sh
    exit 0
    ;;
esac

Você precisará de permissões de root para escrever em /lib/systemd/system-sleep/ e, novamente, não esqueça de tornar o script executável com sudo chmod a+x your_wakeup_script.sh

Por último, créditos com créditos vencidos.

    
por lemdan 31.03.2018 / 15:17