Seite 1 von 1
Linux Sendkey?
Verfasst: Sonntag 2. Mai 2010, 09:04
von Krauzi
Hi leute, ich bin langsam am verzweifeln. Ich brauche eine möglichkeit, mein wc3 bot auf stabilität zu überprüfen. Dazu muss ich an meinen wc3 client (läuft mit wine) die tastenkombination "!asdf <enter>" schicken. Unter windows war das kein problem, schließlich gabs ein SendKeys module (siehe google "python sendkey"). Aber da ich unbedingt mein programm auch unter linux testen will (ist in c++ geschrieben), wollte ich eigentlich das ganze hier ebenfalls noch testen.
Jetzt hab ich schon recht lange gegoogelt aber rein gar nichts gefunden.
Hoffe hier kann mir jemand helfen.
Cheers Krauzi
Verfasst: Sonntag 2. Mai 2010, 10:31
von naeg
Es gibt ein Tool names "xdotool", mit dem man Keys senden kann.
http://www.semicomplete.com/projects/xdotool/
Erstes Post übrigens: Hallo alle zusammen :)
Verfasst: Sonntag 2. Mai 2010, 14:59
von fred.reichbier
Tachchen und willkommen naeg
unter Linux macht man das mit der X-Server-Extension xtest, die auch xdotool benutzt. Man könnte in Python dafür ein X-Protokoll-Binding (python-xlib oder ooxcb) oder auch
virtkey nehmen. Wie man virtkey dafür benutzen kann,
steht hier.
Gruß,
Fred
Verfasst: Sonntag 2. Mai 2010, 16:58
von Krauzi
virtkey klappt ja ausgezeichnet, vielen dank für die lib die standarmäßig (oder spätestens mit apt-get python-dev) installiert ist.
Klappt echt super.
Verfasst: Sonntag 2. Mai 2010, 17:27
von Krauzi
hm mit ich finde nur keine option, <enter> zu senden

.
Kennt da zufällig jemand den richtigen code für?
Verfasst: Montag 3. Mai 2010, 00:44
von fred.reichbier
Hm, mit Keycodes sollte man vorsichtig sein, die sind abhängig von deiner Hardware. Sind also nicht unbedingt auf jedem PC die gleichen. Keysyms sind unabhängig von Hardware, und ich seh grad, virtkey hat wohl auch `press_keysym`. Der Keysym von Return ist 0xff0d, `press_keysym(0xff0d)` sollte also eigentlich funktionieren.
Gruß,
Fred