Verwenden Jordan Sissel ausgezeichnete Dienstprogramm xdotool.
http://www.semicomplete.com/projects/xdotool/
es XWarpPointer Wrapper-Funktion wie xdo_mousemove liefern(), hier einige Beispiel:
Display *display = NULL;
xdo_t *xdo = NULL;
void mouse_left_down(int x, int y)
{
xdo_mousemove(xdo, x, y, 0)
xdo_mousedown(xdo, CURRENTWINDOW, Button1);
}
void mouse_left_up(int x, int y)
{
xdo_mouseup(xdo, CURRENTWINDOW, Button1, 1, 0);
}
void mouse_left_double_click(int x, int y)
{
xdo_mousemove(xdo, x, y, 0);
xdo_click_multiple(xdo, CURRENTWINDOW, Button1, 1, 0);
doubleclick = TRUE;
}
int main()
{
display = XOpenDisplay(NULL);
if(display == NULL)
{
fprintf(stderr, "can't open display!\n");
return -1;
}
xdo = xdo_new((char*) display);
//some task here
// ...
return 0;
}
Ihre Cursor-Position ... in was? Ein X-Fenster? Ein Terminalfenster? vi? –
in einem X Fenster .. aber ich muss nicht die Cursorposition bekommen, ich muss es überall im Bildschirm setzen – frx08
(Ich habe deine Frage für dich bearbeitet; du wolltest das wirklich tun, als du auf meine Antwort geantwortet hast Kommentar.) Sie sehen den Wert, spezifisch zu sein. :-) Sie haben jetzt drei Antworten, die völlig unabhängig von der Frage sind (es geht nur darum, die Cursorposition in Terminalfenstern zu setzen). –