Hallo! Ich würde gerne per script eine Taste "ausgeben". Genauer: Kann man auf einer Shell den Code einer Taste ausgeben, sodass ich in einem Script irgendwas machen lasse und dann enter oder sonst was gedrückt wird (nicht vom user, sondern halt simuliert)? Danke Martin Ereth
Hi, On Wed, 23 Nov 2005, Martin Ereth wrote:
Ich würde gerne per script eine Taste "ausgeben".
echo "a" ;)
Genauer: Kann man auf einer Shell den Code einer Taste ausgeben, sodass ich in einem Script irgendwas machen lasse und dann enter oder sonst was gedrückt wird (nicht vom user, sondern halt simuliert)?
a) xev b) kleins C programm (schau im Archiv hab mal was gepostet) c) gibt ein Programm auf sf.net, xauto????? dessen Namen ich vergessen hab ;) Greetings Daniel -- Wir leben in einem Staat, der die geheimen Wahlen abschafft. Mit den Fingerabdrücken im Ausweis kann jede Stimme mit einer Person verknüpft werden.
Daniel Lord schrieb:
Hi, On Wed, 23 Nov 2005, Martin Ereth wrote:
Ich würde gerne per script eine Taste "ausgeben". echo "a" ;) Hallo Daniel! Danke! Darauf bin ich auch schon gekommen! *g*
a) xev b) kleins C programm (schau im Archiv hab mal was gepostet) c) gibt ein Programm auf sf.net, xauto????? dessen Namen ich vergessen hab ;)
zu a) hab keine manpage gefunden, xev --help gibt mir nicht das, was ich möchte. zu b) hab dein Programm gefunden, es müstte das hier sein. http://lists.suse.com/archive/suse-linux/2003-Jun/2658.html Das Problem, dass hier beschrieben ist, ist sehr ähnlich zu meinem Problem. Ich möchte aber [win-taste]+[o] gedrückt haben. Die entspechenden Keycodes hab ich über xev rausgekriegt. Und nun? zu c) hab ich nicht gefunden Danke für den großen Schubs Martin Ereth
Am Mittwoch, 23. November 2005 19:51 schrieb Martin Ereth:
Ich würde gerne per script eine Taste "ausgeben".
Genauer: Kann man auf einer Shell den Code einer Taste ausgeben, sodass ich in einem Script irgendwas machen lasse und dann enter oder sonst was gedrückt wird (nicht vom user, sondern halt simuliert)?
huch, Tastatureingabe ist doch nichts anderes als Lesen einer Datei, i.d.R. stdin. Das empfangende "Skript" ist was? Eine X-Applikation oder ein gewöhnliches C/Shell/Perl-Programm, welches nur stdin/stdout/stderr bearbeitet? Zum Testen von interaktiven Programmen (also solche via stdin/stdout) gibt es expect - programmed dialogue with interactive programs Expect is a program that "talks" to other interactive programs accord- ing to a script. Following the script, Expect knows what can be expected from a program and what the correct response should be. An interpreted language provides branching and high-level control struc- tures to direct the dialogue. In addition, the user can take control and interact directly when desired, afterward returning control to the script. Schick doch einfach noch etwas mehr Infos was getan werden sollte. Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Dr. Jürgen Vollmer schrieb:
Ich würde gerne per script eine Taste "ausgeben". Genauer: Kann man auf einer Shell den Code einer Taste ausgeben, sodass ich in einem Script irgendwas machen lasse und dann enter oder sonst was gedrückt wird (nicht vom user, sondern halt simuliert)?
huch, Tastatureingabe ist doch nichts anderes als Lesen einer Datei, i.d.R. stdin.
Das empfangende "Skript" ist was? Eine X-Applikation oder ein gewöhnliches C/Shell/Perl-Programm, welches nur stdin/stdout/stderr bearbeitet?
Zum Testen von interaktiven Programmen (also solche via stdin/stdout) gibt es expect - programmed dialogue with interactive programs
Expect is a program that "talks" to other interactive programs accord- ing to a script. Following the script, Expect knows what can be expected from a program and what the correct response should be. An interpreted language provides branching and high-level control struc- tures to direct the dialogue. In addition, the user can take control and interact directly when desired, afterward returning control to the script.
Hallo Jürgen! Hallo Daniel! Hallo alle anderen! Ich hab lineakd eingerichtet, sodass meine Extra-Tasten (Hotkeys auf der Tastatur, zB Browser oder Mail) funktionieren. So kann ich zB amarok steuern. Nun möchte ich, dass amarok, wenn ich auf einen anderen Extra-Key drücke, das OSD (Titel des aktuellen Songs, Interpret, Zeit) anzeigt. Dazu drück ich normalerweise [win-taste]+[o], dann bringt er das OSD. Nun möchte ich das über lineakd machen, dass ich die Extra-Taste drücke und dann das amarok-osd angezeigt wird. Ich habe hierzu von Daniel (siehe: http://lists.suse.com/archive/suse-linux/2003-Jun/2658.html) das script kompiliert, wenn ich es von der Konsole starte, funktioniert es auch. Nur über lineakd nicht. Er zeigt einfach nichts an. auch über ein scipt, das vorher ein export DISPLAY=:0.0 macht, hilft nichts. Aber wenn ich im gleichen script kdialog --msgbox help ausführen lasse, zeigt er das an. Woran liegt das? Hast du eine andere Lösung? Vielleicht mit stdin? Es soll halt mit lineakd funktionieren. Danke für die Arbeit Martin Ereth
participants (3)
-
Daniel Lord
-
Dr. Jürgen Vollmer
-
Martin Ereth