2013年10月12日

タッチパッドの有効・無効を切り替えるツール

息子に使わせている古いDellのInpiron mini 12の話なのだが、「タッチパッドに手が触れて文字が消える」と苦情がきた。実際、このマシンはタッチパッドが大きめで、それはそれで使いやすくもあるのだけれど、誤動作も多い。必要に応じてタッチパッドの有効・無効が切り替えられれば便利だろうとは思う。
で、これはUbuntuの通常ならシステム設定のマウスの設定でごく簡単に行える。ただし、このマシンはスペックの関係でLXDEを使っている。そして、LXDE上ではタッチパッドの設定を変更する手軽なGUIのツールが見つからない。
もちろん方法がないわけではなく、Synclientというコマンドで簡単に無効化することができる。とはいえ、小学生の子どもにいちいち端末を開いて設定させるのも考えものだ。
そこで、PythonでGUIツールを書いてみることにした。Synclientの使い方はこちらにあるので、そこに記載された
$ synclient TouchpadOff=1
をボタンを押すことで実行するようにすればいい。有効にする場合はこの1を0にすればいいから、そちらもボタンをつくっておく。GUIの設計なんて複雑なことはできないから、ここはそこらに転がっていたサンプルコードを流用。こんな具合になった。
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pygtk
import gtk
import os;

class Application():
 
    def __init__(self):
        self.window = gtk.Window()
        self.window.set_title("タッチパッド設定")
 
        self.create_widgets()
        self.connect_signals()
 
        self.window.show_all()
        gtk.main()
 
    def create_widgets(self):
        self.vbox = gtk.VBox(spacing=20)
 
        self.hbox_1 = gtk.HBox(spacing=20)
        self.button_1 = gtk.Button("タッチパッドを有効にする")
        self.hbox_1.pack_start(self.button_1)
        self.button_2 = gtk.Button("タッチパッドを無効にする")
        self.hbox_1.pack_start(self.button_2)
 
        self.hbox_2 = gtk.HBox(spacing=10)
        self.button_exit = gtk.Button("終了")
        self.hbox_2.pack_start(self.button_exit)
 
        self.vbox.pack_start(self.hbox_1)
        self.vbox.pack_start(self.hbox_2)
 
        self.window.add(self.vbox)
 
    def connect_signals(self):
        self.button_1.connect("clicked", self.callback_1)
        self.button_2.connect("clicked", self.callback_2)
        self.button_exit.connect("clicked", self.callback_exit)
 
    def callback_1(self, widget, callback_data=None):
        os.system( "synclient TouchpadOff=0" )
 
    def callback_2(self, widget, callback_data=None):
        os.system( "synclient TouchpadOff=1" )

    def callback_exit(self, widget, callback_data=None):
        gtk.main_quit()
 
if __name__ == "__main__":
    app = Application()
これにたとえばtouchpad_config.pyのような名前をつけてやり、ダブルクリックで動作するようにデスクトップファイルを設定してやる。たとえばこんな感じ。
[Desktop Entry]
Encoding=UTF-8
Name=タッチパッド設定
Comment=configure touchpad
Exec=python /(パス)/touchpad_config.py
Icon=
Terminal=false
Type=Application
Categories=
これを息子のデスクトップに置いていた。便利に使ってくれているようだ。
posted by 松本 at 19:46| Comment(0) | TrackBack(0) | Ubuntuのアプリケーション | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック