Задався цілью - зробив.
Якщо у Вас немає на ноутбуці кнопки вимикання-вмикання тачпаду - цей скрипт для Вас.
На початку скрипта вказано необхідні умови його виконання.
Сама програма автоматом не запускається, а є лише перемикачем стану, але можна прив”язати клавішну асоціацію до неї в вашому десктоп менеджері. Я використовую КДЕ - прив”язав до Він+Т.
Що робить програма? Змінює стан тачпаду, виводить вікно стану тачпаду, яке саме закривається через певний час, або якщо натиснути кнопку ОК.
Розробляв під КДЕ 3.5 на Кубунту 8.04, але думаю не буде проблем в інших Лінуксах та десктоп-оболонках, якщо там підтримується Тк та, встановлено драйвер synaptics і є можливість прив”язати клавіатурному скороченню запуск зовнішньої програми…
#! /usr/bin/perl -w
# 1.In /etc/X11/Xorg.conf in section “Synaptics Touchpad” you need add option
# Option “SHMConfig” “true”
# 2. Reboot X-server
# 3. Install perl-Tk module for use gsynaptics.pl
# You can associate this program with shortkey in your desktop manager and use anytime on desktop
# Tested on KDE3.5 Kubuntu 8.04
# Author: Mishchenko A.S., 2008
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=<F>;
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=<F>;
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;
оригинал тут http://dikiy-mujchina.livejournal.com/70353.html
Add A Comment
You must be logged in to post a comment.