Tastatureingaben auf dem grafischen Desktop simulieren

Antworten
Benutzeravatar
Jet0JLH
Administrator
Beiträge: 28
Registriert: So 11. Okt 2015, 21:37

Tastatureingaben auf dem grafischen Desktop simulieren

Beitrag von Jet0JLH »

Einleitung
Tastatureingaben per Script auszuführen, kann auf dem Pi (oder ähnlichen Mini-Computern) sehr interessant sein, erst recht wenn man dies über wie in meinem Fall über die GPIOs ausführen möchte.
Vorab: In diesem Tutorial wird nur der reine Bash-Befehl behandelt und nicht die Ausführung per GPIO!

Vorbereitung
Damit wir den grafischen Desktop im Script erreichen können, muss eine Änderung in der lightdm.conf Datei durchgeführt werden:

Code: Alles auswählen

sudo nano /etc/lightdm/lightdm.conf
Die gesuchte Zeile beginnt mit xserver-command= und muss auf folgenden Wert gesetzt werden:

Code: Alles auswählen

xserver-command=X -s 0 dpms :0
Um die Tastatureingabe zu simulieren, wird das Programm xautomation benötigt:

Code: Alles auswählen

sudo aptitude update
sudo aptitude install xautomation
Scripting
Nun sind alle benötigten Komponenten installiert/angepasst und können nun verwendet werden.
Hierzu ein kurzes Script-Beispiel für die Simulation von der Tastatureingabe Alt + F4.
Wichtig hierbei ist, dass die Groß- und Kleinschreibung beachtet wird!

Code: Alles auswählen

#!/bin/sh
echo keydown Alt_L | xte -x:0
echo key F4 | xte -x:0
echo keyup Alt_L | xte -x:0
Zusammenfassung:
  • Keydown = Dauerhaftes drücken der übergebenen Taste (Gilt auch nach beenden des Scripts! Daher unbedingt den Keyup Befehl vor Ende des Scripts verwenden!).
  • Keyup = Hebt das dauerhafte Drücken der übergebenen Taste auf.
  • Key = Drücken und loslassen der übergebenen Taste.
Für die genaue Bezeichnung der möglichen Tasten würde ich empfehlen die Hilfe des Befehls aufzurufen:

Code: Alles auswählen

xte --help
Antworten