Simulieren Sie den Tastendruck in einer Linux C-Konsolenanwendung

7

Gibt es eine Möglichkeit, einen Tastendruck in Linux mit C zu simulieren?

In meiner speziellen Situation bin ich auf Ubuntu 9.04 und brauche eine einfache App, die nach dem Start einen Druck auf den "Pause" -Button auslöst. Das würde einen Iframe in Firefox zur Aktualisierung mit Javascript bekommen.

    
Baversjo 11.08.2009, 19:03
quelle

2 Antworten

13

Ich nehme an, Sie meinen die "X11-Anwendung" - aus Ihrer Beschreibung geht nicht ganz klar hervor, was Sie vorhaben. Der folgende Code-Ausschnitt sendet den "Pause" -Schlüsselcode an die Anwendung, die derzeit den Tastatureingabefokus unter X11 hat, unter Verwendung der XTest-Erweiterung - von dem, was ich gelesen habe, ist dies die am besten geeignete Art, die Tastaturereignisse zu "fälschen". Sehen Sie, ob Sie dies auf Ihr Szenario anwenden könnten (keine Fehlerprüfung, ob das XOpenDisplay erfolgreich war, um es einfacher zu machen).

%Vor%

Sie müssen mit der -lX11 -lXtst verknüpfen.

Offensichtlich müsste das Firefox zu dieser Zeit den Fokus haben.

Allerdings wäre ich neugierig zu wissen, was die größere Aufgabe ist, die Sie erreichen wollen - ich vermute, es sollte eine elegantere Lösung geben, als die Keypress-Ereignisse zu manipulieren.

    
Andrew Y 11.08.2009, 19:54
quelle
6

Es gibt eine programmierbare Bibliothek namens 'xdotool':

  

sudo apt-get installieren libxdo-dev libxdo2

     

cat test.c

%Vor%

Lauf so:

  

gcc test.c -lxdo -o testen

    
Michael R. Hines 29.12.2012 16:43
quelle

Tags und Links