Настройки тачпада Synaptics сбрасываются после выхода из режима ожидания

Моя сенсорная панель настроена для регистрации касания в 3 пальца в качестве среднего щелчка с помощью

synclient TapButton3=2

Это работает хорошо, поэтому я настроил эту команду на автоматический запуск через несколько секунд после входа в систему уже несколько месяцев назад, используя графический интерфейс Startup Applications. Вот как выглядят соответствующие файлы:

$ 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

Так что это работало нормально все время, но, так как несколько дней или, может быть, недель назад, конфигурация сбрасывается после приостановки работы ноутбука и его повторного пробуждения. Касание тремя пальцами затем открывает переключатель окон в виде Alt + Tab вместо того, чтобы производить щелчок по среднему щелчку и запрос synclient для этого значения настроек, снова подтверждает TapButton3=0.

Есть идеи, что могло вызвать это? Как я могу это исправить или хотя бы автоматически перенастроить после пробуждения?

1
задан 29 April 2017 в 23:57

1 ответ

Я понятия не имею, что вызывает это, но это может быть решено быстро.

Вы можете написать скрипт и запускать его каждый раз после приостановки. Вот как это работает:

Сначала создайте скрипт, содержащий настройки сенсорной панели. Моя выглядит так:

#!/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

Не забудьте вставить ИМЯ ПОЛЬЗОВАТЕЛЯ и сделать скрипт исполняемым : chmod a + x / path / to / script / touchpad.sh

Далее вы создаете скрипт, который запускает touchpad.sh после приостановки. Для Ubuntu 16 вам нужно сохранить его в каталоге /lib/systemd/system-sleep/. Вот как выглядит мой:

#!/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

Вам понадобятся права root для записи в /lib/systemd/system-sleep/, и снова не забудьте сделать скрипт исполняемым с sudo chmod a+x your_wakeup_script.sh

Наконец, кредиты, где кредиты должны.

0
ответ дан 29 April 2017 в 23:57

Другие вопросы по тегам:

Похожие вопросы: