ubuntuusers.de

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.

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

  • libnotify-bin (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install libnotify-bin 

Oder mit apturl 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]

Diese Revision wurde am 7. Februar 2020 08:12 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, System, Programmierung