управляємо тачпадом

Управляємо тачпадом. Ліквідуємо ефект випадкового натискання.

Нижче я розберу основні способи вирішення даної проблеми не тільки шляхом розрубування гордієвого вузла, але і цілком елегантні, які заслуговують на повагу способи.

Спосіб №1. Рубаємо гордіїв вузол.

Цей спосіб полягає в просто відключенні тачпада як такого в системі.
Наприклад, в Ubuntu Linux можна зайти сюди:

І просто зняти галочку навпроти тачпада. Цей спосіб відключає пристрій до тих пір, поки ви знову не повернетеся в цей розділ меню і не повернете галку на місце.

Спосіб №2. Для тих, у кого немає спеціальної кнопки перемикання режимів тачпада.

Цей спосіб більш елегантний, так як полягає в створенні комбінації клавіш, натиснувши яку ми відключаємо і включаємо тачпад, на свій розсуд. Розглядати ситуацію я буду на прикладі Ubuntu Linux 9.04, СВЯП це і не особливо важливо, тому що даний спосіб працює і на версіях 8.04, 8.10, а при дріб'язкової адаптації є цілком універсальним способом, яким можуть скористатися користувачі практично будь-якого дистрибутива.

Пункт 1: Оновлення і установка потрібних пакетів.

sudo apt-get update
sudo apt-get install perl-Tk

Це пакет, який змушує працювати скрипт відключення і включення тачпада на ноутбуках.

Пункт 2: Редагуємо xorg.conf.
Це необхідно для того, щоб додати в розділ "InputDevice" рядок Option "SHMConfig" "true". Або команди віддаються скриптом будуть проігноровані системою.

sudo nano /etc/X11/xorg.conf

шукаємо блок: "InputDevice" і наводимо його до такого виду:

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/ dev / psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
Option "SHMConfig" "true"
EndSection

Тобто, додаємо рядок Option "SHMConfig" "true". Якщо у вас сенсорна майданчик не від Synaptics, то рядок, яка починається з Identifier так само повинна відрізнятися від канонічної.

Ця дія необхідно виконувати ретельно і не допускаючи помилок, так як вони можу привести до падіння іксів або не коректного роботі, а це, як мінімум, неприємно.

Після відточування навичок копипаста необхідно перезавантажити x-server.

Якщо ж xorg.conf стоїчно відхрещується від наявності секції "InputDevice", то просто встановіть драйвер для synaptics.

sudo apt-get install xserver-xorg-input-synaptics

Пункт 3: Копіюємо скрипт відключення тачпада в потрібну папку.
Скрипт відключення тачпада варто помістити в

/ Bin, якщо цей каталог не існує у вашій домашній теці, то просто створіть. Не забуваємо у властивостях файлу вказати, що він виконується.

use strict;
use Tk;
#Variables:
# Time - time to show message in mSec
my $ time = 3000;
my $ t;
my $ m;
# Detect on open gsynaptics.pl. if open - kill ...
if (-e "/ tmp / syn_id")
open (F, "/ tmp / syn_id");
$ T =;
close (F);
system ( "kill -9". $ t);
system ( "rm -f / tmp / syn_id");
>
# Write ID to tmp file
open (F, "> / tmp / syn_id");
print F $;
close (F);
#get synaptics status
system ( "synclient -l | grep TouchpadOff> / tmp / syn_key");
open (F, "/ tmp / syn_key");
$ T =;
close (F);
$ T =

/^(.*?)TouchpadOff(.*?)=\s(.*?)$/;
$ T = $ 3;
# If status = 1 or 2 set to 0 else to 1
if (($ t eq "1 ') || ($ t eq" 2'))
system ( "synclient TouchpadOff = 0 ');
$ M = "Touchpad On.";
>
else
system ( "synclient TouchpadOff = 1 ');
$ M = "Touchpad Off.";
>
#delete tmp file
system ( "rm -f / tmp / syn_key");
# Create window and show message
my $ main = MainWindow-> new;
$ Main-> Label (-text => $ m) -> pack;
$ Main-> Button (-text => 'Ok', - command => [$ main => 'destroy']) -> pack;
$ Main-> after ($ time, [$ main => 'destroy']);
MainLoop;
# Delete ID file on exit
system ( "rm -f / tmp / syn_id");
exit;

Пункт 4: Прив'язуємо скрипт до комбінації клавіш.
Цей пункт розписувати я не стану, так як його вміст цілком залежить від того DE, яким користується конкретний користувач. Для KDE цей шлях полягає в наступному.

Все, тепер ваш тачпад - саме слухняне пристрій повинною командам.

Спосіб №3: Для тих, у кого є спеціальна кнопка управління тачпадом.

Мало чим відрізняється від способу №2, крім того, що замість хоткея користувач буде користуватися спеціалізованої клавішею, а значить, настройка буде відбуватися через ACPI.

Це спосіб орієнтований на Asusоводов, в першу чергу.

Пункт 1: З способу №2 вам знадобляться пункти 2, а ось четвертий буде трохи ускладнений.

Пункт 2: Встановлюємо потрібні пакети.
Після того, як ви їх виконаєте, поставте ще й пакет acpitool - стане в нагоді:

sudo apt-get acpi acpid acpitool

Пункт 3: Визначаємо код потрібної кнопки.
В консолі від імені root виконуємо команду:

і затискаємо кнопку управління тачпадом.

Таким чином, на виході, ми отримуємо код кнопки приблизно такого типу (ноутбук 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 /' `

# If getting the status failed, exit
test -z $ TPSTATUS exit 1

if [$ TPSTATUS = 0]; then
synclient TouchpadOff = 1
else
synclient TouchpadOff = 0
fi

Спосіб №4: Відключення тачпада під час набору тексту.

Цей спосіб для ледачих, тобто особливих зусиль налаштування докладати не треба, та й навіщо? Сенс майбутніх пасів полягає в тому, що як тільки користувач починає набирати текст, тачпад відключається, але після того, як набір закінчився, відбувається зворотне включення протягом 2 секунд.
Це скоріше не спосіб відключення тачпада, а захист від випадкових натискань.

Для початку переконайтеся, що у вас є такий процес syndaemon, якщо його немає, то встановіть.

Потім, скористайтеся засобами, описане в способі №2, пункт 2.

Далі просто виконати в консолі програму від імені root.

І отримуємо те, що і було потрібно, як тільки ваші пальчики почнуть стукати по клавіатурі, тачпад відключається і ваше сполучення не буде зіпсовано несвоєчасним кліком.

Хто б що не говорив, але я не знаю більш жодної ОС, яка була б такою гнучкою в астройках навіть таких дріб'язкових справах як відключення тачпада. Нагадаю, що це не вичерпне керівництво, так як існує набагато більше способів, але на мій погляд це найбільш елегантні та прості. Я впевнений, що через 6-12 місяців вони вже нікому не знадобляться. так як все можна буде зробити в графічному режимі. Ну, а поки, думаю, це гідний матеріал в розділ "Налаштування Linux на ноутбуці"

І на останок розповім про сам дієвому і 100% безвідмовному методі, а точніше покажу

Схожі статті