जॉर्डन सिसेल की उत्कृष्ट उपयोगिता xdotool का उपयोग करें।
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;
}
आपका कर्सर की स्थिति ... क्या में:
http://www.semicomplete.com/projects/xdotool/
यह xdo_mousemove (जैसे XWarpPointer आवरण समारोह) प्रदान करते हैं, यहाँ कुछ उदाहरण है? एक एक्स खिड़की? एक टर्मिनल खिड़की? vi? –
एक एक्स विंडो में .. लेकिन मुझे कर्सर की स्थिति प्राप्त करने की आवश्यकता नहीं है, मुझे इसे स्क्रीन पर हर जगह सेट करना होगा – frx08
(मैंने आपके लिए अपना प्रश्न संपादित कर लिया है; आप वास्तव में ऐसा करना चाहते थे जब आपने मेरा जवाब दिया टिप्पणी।) आप विशिष्ट होने का मूल्य देखते हैं। :-) अब आपके पास तीन उत्तरों के सवाल से पूरी तरह से असंबद्ध हैं (वे टर्मिनल विंडोज़ में कर्सर की स्थिति सेट करने के बारे में हैं)। –