[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Editor: Einen Editor öffnen] [:Rechte: Rechte für Dateien und Ordner ändern] [:Autostart: Automatischer Start von Programmen] [:Terminal: Ein Terminal öffnen] [:Pakete_installieren: Installation von Programmen] }}} [[Inhaltsverzeichnis(2)]] Diese Skripte ermöglichen das automatische Ein-/Ausschalten des Touchpads, wenn eine Maus angesteckt oder entfernt wird. Alternativen sind im Artikel [:Archiv/Touchpad#Touchpad-ein-und-ausschalten:Touchpad] zu finden. = Voraussetzung = Unter Ubuntu 12.04 muss [:Archiv/Touchpad#Grundeinstellungen:SHM aktiviert] sein, damit die Skripte funktionieren. Damit die Ausgabe über den [:Benachrichtigungsdienst:] funktioniert, muss man das Paket {{{#!vorlage Paketinstallation libnotify-bin, universe }}} installieren[5]. = Dateien anlegen = Man muss einen Editor mit [:sudo: Root-Rechten] starten[1] und in dem Ordner '''/usr/local/bin''' die drei Dateien '''touchpad.py''', '''maus.py''' und '''bg.py''' anlegen. Wenn bereits eine nach [:Archiv/Touchpad#Touchpad-mit-Tastenkuerzel-ein-und-ausschalten: dieser] Anleitung angelegte '''touchpad.py''' besteht, kann diese überschrieben werden, ohne dass sich an der Funktion der Tastenkombination etwas ändert. '''touchpad.py''' und '''bg.py''' müssen ausführbar sein[2]. * [attachment:Skripte/Touchpad-Verwaltung/touchpad.py: touchpad.py] {dl} {{{#!code python #!/usr/bin/python # -*- coding: utf-8 -*- import os def ReadFile(): os.system("synclient -l |grep -i touchpadOff > /tmp/synclient.tmp") fileclient = file("/tmp/synclient.tmp", "r") for line in fileclient: word = line.split() if word[2] == "1": state = False else: state = True fileclient.close() return state def switch(): if ReadFile() == True: os.system("synclient touchpadoff=1") os.system("notify-send \"Touchpad\" \"Das Touchpad wurde ausgeschaltet\" -t 5000") else: os.system("synclient touchpadoff=0") os.system("notify-send \"Touchpad\" \"Das Touchpad wurde eingeschaltet\" -t 5000") if __name__ == '__main__': switch() }}} * [attachment:Skripte/Touchpad-Verwaltung/maus.py: maus.py] {dl} {{{#!code python #!/usr/bin/python # -*- coding: utf-8 -*- import os import re def ReadFile(): os.system("cat /proc/bus/input/devices | grep -i Mouse -> /tmp/maus.tmp") myfile = open('/tmp/maus.tmp', 'rb') maus = False for line in myfile: if re.search("USB", line): maus = True myfile.close() return maus }}} * [attachment:Skripte/Touchpad-Verwaltung/bg.py: bg.py] {dl} {{{#!code python #!/usr/bin/python # -*- coding: utf-8 -*- import time import os import touchpad import maus mausstatus = False while True: time.sleep(1) if mausstatus != maus.ReadFile(): touchpadstatus = touchpad.ReadFile() mausstatus = maus.ReadFile() if mausstatus == False and touchpadstatus == False: os.system("/usr/local/bin/touchpad.py") elif mausstatus == True and touchpadstatus == True: os.system("/usr/local/bin/touchpad.py") }}} {{{#!vorlage Hinweis Im Skript '''maus.py''' wird davon ausgegangen, dass der Name der Maus die Zeichenkette ''USB'' enthält. Sollte das Skript mit einer Maus nicht funktionieren, sollte man sich die Datei '''/tmp/maus.tmp''' anschauen und die Bedingung `if re.search("USB", line):` anpassen. (Beispiel: `if re.search("USB", line) or re.search("Optical",line):`) }}} = Programm starten = Nun muss '''/usr/local/bin/bg.py''' bei jedem Start des Systems gestartet werden. [3] '''bg.py''' prüft jetzt jede Sekunde nach, ob eine USB-Maus an- oder ausgesteckt wird. Wenn ja wird der Status des Touchpads überprüft und gegebenenfalls geändert. Manuell lässt sich der Status des Touchpads jederzeit mit dem Befehl `touchpad.py` ändern. [4] #tag: Hardware, System, Programmierung