use la excelente utilidad xdotool de Jordan Sissel.
http://www.semicomplete.com/projects/xdotool/
que proporcionan función de contenedor XWarpPointer como xdo_mousemove(), es aquí algunos ejemplos:
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;
}
Su posición del cursor ... ¿en qué? Una ventana X? Una ventana de terminal? vi? –
en una ventana X .. pero no tengo que obtener la posición del cursor, tengo que configurarlo en todas partes en la pantalla – frx08
(he editado su pregunta para usted; realmente quería hacer eso cuando respondiera a mi comenta). Ves el valor de ser específico. :-) Ahora tiene tres respuestas completamente independientes de la pregunta (se trata de establecer la posición del cursor en las ventanas de la terminal). –