Мой новый Dell Latitude всем меня радует. Одна неприятность — когда печатаю текст, часто задеваю тачпад пальцами, что приводит к непредсказуемым перемещениям курсора, случайным выделениям текста и т.п. Отключать его совсем через BIOS я не хочу, потому что даже при наличии мыши часто пользуюсь тачпадом (точнее трекпоинтом) чтобы, например, быстро выделить текст не отрывая рук от клавиатуры.
Порывшись в Интернете, я нашел разные инструкции как в Ubuntu выключать и включать тачпад. Ubuntu видит тачпад моего ноутбука как мышь PS/2 Generic Mouse, поэтому в Pointing Devices закладка Touchpad отсутствует. Инструкция, приведенная на сайте Ubuntu, так же не помогла. Вариант, приведенный в форуме с использованием команд sudo modprobe -r psmouse для выключения и sudo modprobe psmouse для включения тачпада мне тоже не понравился.
Наконец, я нашел вариант, который меня устроил.
Для начала нужно открыть окно терминала и выполнить команду xinput --list и определить как в “Иксах” называется тачскрин:
~$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ PS/2 Generic Mouse id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_2M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
Вон он — “PS/2 Generic Mouse”. Теперь я могу отключить тачпад командой xinput set-prop 'PS/2 Generic Mouse' 'Device Enabled' 0 и включить его обратно командой xinput set-prop 'PS/2 Generic Mouse' 'Device Enabled' 1. Можно эти команды “повесить” на какие-нибудь горячие клавиши, но мне захотелось чуть больше удобства — чтобы тачпад включался/выключался одной и той же комбинацией клавиш.
Нижеприведенный скрипт работает как переключатель — он выключает тачпад если он включен, и включает если выключен:
#!/bin/bash
LOCKFILE="/tmp/touchpad_off"
if [[ -f "$LOCKFILE" ]]
then
xinput set-prop 'PS/2 Generic Mouse' 'Device Enabled' 1
rm $LOCKFILE
else
xinput set-prop 'PS/2 Generic Mouse' 'Device Enabled' 0
touch -f $LOCKFILE
fi
При выключении тачпада скрипт создает лок-файл в каталоге /tmp, по наличию или отсутствию которого определяется состояние тачпада. В “исходном состоянии” после включения компьютера каталог /tmp пуст, а тачпад включен.
Этот скрипт я положил в каталог ~/bin, доступный по PATH (размуеется, сделав его исполняемым). Затем открыл окно Keyboard Shortcuts (меню System/Preferences/Keyboard Shortcuts), нажал кнопку Add внизу окна, ввел название: “Switch touchpad ON/OFF”, а в поле команды ввел название своего скрипта: switchtouchpad и назначил комбинацию клавиш Alt-F3 для его запуска.