Ich weiß nicht warum die Mail erst heute durch kam. Ich hatte die glaube ich gestern oder vorgestern geschrieben.
Die Lösung ist:
#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <string.h>

int main (int argc, char *argv[]) {
     Display *display;
     Window focus_return;
     int revert_to_return;
 int i;

 if (argc<3) {
   printf("usage: ./sendkey key1 key2 key3 etc.\n\n");
   return(1);
 }


if ((display = XOpenDisplay(NULL)) == NULL)
{
       printf("Unable to open display\n");
       return 1;
}

XGetInputFocus(display, &focus_return,&revert_to_return);

 for (i=3; i<argc; ++i) {
   XEvent ev;
   KeySym key;
   ev.xkey.type=KeyPress;
   ev.xkey.window=focus_return;
   ev.xkey.root=ev.xkey.subwindow=None;
   ev.xkey.time=0;
   ev.xkey.x=ev.xkey.y=ev.xkey.x_root=ev.xkey.y_root=0;
   ev.xkey.state=0;
   key=XStringToKeysym(argv[i]);
   ev.xkey.keycode=XKeysymToKeycode(display, key);
   ev.xkey.same_screen=True;
   XSendEvent(display, focus_return, True, KeyPressMask, &ev);
   ev.type=KeyRelease;
   XSendEvent(display, focus_return, True, KeyReleaseMask, &ev);
 }

 XCloseDisplay(display);

 return(0);
}

MfG
Bernhard
--
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an