Archiv/Skripte/Touchpad-Verwaltung

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Einen Editor öffnen

  2. Rechte für Dateien und Ordner ändern

  3. Automatischer Start von Programmen

  4. Ein Terminal öffnen

  5. Installation von Programmen

Inhaltsverzeichnis
  1. Voraussetzung
  2. Dateien anlegen
  3. Programm starten

Diese Skripte ermöglichen das automatische Ein-/Ausschalten des Touchpads, wenn eine Maus angesteckt oder entfernt wird. Alternativen sind im Artikel Touchpad zu finden.

Voraussetzung

Unter Ubuntu 12.04 muss SHM aktiviert sein, damit die Skripte funktionieren.

Damit die Ausgabe über den Benachrichtigungsdienst funktioniert, muss man das Paket

Paketliste zum Kopieren:

sudo apt-get install libnotify-bin 

Oder mit apturl die Pakete installieren. Link: apt://libnotify-bin

installieren[5].

Dateien anlegen

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")

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]