Ubuntu 12.04 Precise Pangolin
Diese Skripte ermöglichen das automatische Ein-/Ausschalten des Touchpads, wenn eine Maus angesteckt oder entfernt wird. Alternativen sind im Artikel Touchpad zu finden.
Unter Ubuntu 12.04 muss SHM aktiviert sein, damit die Skripte funktionieren.
Damit die Ausgabe über den Benachrichtigungsdienst funktioniert, muss man das Paket
libnotify-bin (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install libnotify-bin
sudo aptitude install libnotify-bin
installieren[5].
Man muss einen Editor mit 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 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].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #!/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() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/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") |
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):
)
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]
Diese Revision wurde am 20. Februar 2015 15:08 von Jonius erstellt.