Имеется ноутбук ASUS K40AB, на котором нет (по крайней мере, я не обнаружил) специальной кнопки или сочетания Fn+<что-то> для отключения тачпада.
Скрипт для отключения/включения площадки я написал. Он работает из консоли, можно вытащить плазмоид на рабочий стол.
Но дело в том, что у меня есть несколько сочетаний Fn+<…>, которые ни я не использую, ни в системе они вроде ничего не делают. Например, Fn+C, которое, судя по пиктограмме, должно переключать ASUS Splendid.
Был бы очень признателен, если бы кто-нибудь подсказал как сделать, чтобы при нажатии этого сочетания выполнялся мой скрипт.
Т.к. у меня не synaptics, а elantech, руководствовался частью этой статьи](http://openkazan.info/node/3206).
Вот эта часть:
Способ №3: Для тех, у кого есть специальная кнопка управления тачпадом.
Мало чем отличается от способа №2, кроме того, что вместо хоткея пользователь будет пользоваться специализированной клавишей, а значит, настройка будет происходить через ACPI.
Это способ ориентирован на Asusоводов, в первую очередь.
Пункт 1: Из способа №2 вам понадобятся пункты 2, а вот четвертый будет несколько усложнен.
Пункт 2: Устанавливаем нужные пакеты.
После того, как вы их выполните, поставьте еще и пакет acpitool - пригодится:sudo apt-get acpi acpid acpitool
Пункт 3: Определяем код нужной кнопки.
В консоли от имени root выполняем команду:acpi_listen
и зажимаем кнопку управления тачпадом.
Таким образом, на выходе, мы получаем код кнопки приблизительно такого типа (ноутбук Asus x50n):
hotkey ATKD 0000006b 00000000
Из это строчки нам нужна только череда цифр, которая следует за абривеатурой ATKD (0000006b), вторая группа цифр - игнорируется.
Пункт 4: Нам необходимо найти этот код в /etc/acpi/events.
99% что там уже есть файлик содержащий код со ссылкой на абсолютно нерабочий скрипт или прочую ерунду. Выполняем:
grep 0000006b events/*
Далее действия будут рассматриваться на примере Asus x50n, но они могут отличаться только названиями файлов и кодом кнопки, в остальном - достаточно универсальны.
events/asus-touchpad:event=hotkey ATKD 0000005c
cat events/ asus-touchpad
Перед нами перед нами предстает содержимое файлика. Правим значение кода и приводим содержание к такому виду:
/etc/acpi/events/asus-touchpad
This is called when the user presses the touchpad button and calls
/etc/acpi/asus-touchpad.sh for further processing.
event=hotkey (ATKD|HOTK) 0000006b
action=/etc/acpi/asus-touchpad.shСохраняемся, выходим.
Пункт 5: Приводим скрипт в нормальное состояние.
Для этого идем и открываем файл /etc/acpi/asus-touchpad.sh для редактирования и приводим к такому виду:#!/bin/sh
-f /usr/share/acpi-support/state-funcs ] || exit 0.get the current state of the touchpad
TPSTATUS=
synclient -l | awk ‘/TouchpadOff/ {print $3}’
if getting the status failed, exit
test -z $TPSTATUS && exit 1
if $TPSTATUS = 0 ]; then
synclient TouchpadOff=1
else
synclient TouchpadOff=0
fiСохраняемся, выходим.
Однако реакции на сочетание нет. Пробовал и acpid перезапустить и перезагружался.