Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.linux.development.apps > #807

How do I get coordinates or mouse clicks C/C++, Linux?

Newsgroups comp.os.linux.development.apps
Date 2015-12-13 13:06 -0800
Message-ID <2eb81b84-9d58-490b-847f-89a126dabf43@googlegroups.com> (permalink)
Subject How do I get coordinates or mouse clicks C/C++, Linux?
From fsn761304@gmail.com

Show all headers | View raw


I have a code which does it, but when it works its difficult to interact with a desktop - I need to click several times on something to access it. (prefer license which will not demand to disclose source code) Here is the link to the code which I use:

#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>

int main (){
    int x=-1,y=-1;
    XEvent event;
    int button;
    Display *display = XOpenDisplay(NULL);
    if (display == NULL) {
    fprintf(stderr, "Cannot connect to X server!\n");
    exit (EXIT_FAILURE);
    }
    Window root= XDefaultRootWindow(display);
    XGrabPointer(display, root, False, ButtonPressMask, GrabModeAsync,
         GrabModeAsync, None, None, CurrentTime);

    XSelectInput(display, root, ButtonPressMask) ;
    while(1){
    XNextEvent(display,&event);
    switch(event.type){
    case ButtonPress:
        switch(event.xbutton.button){
        case Button1:
        x=event.xbutton.x;
        y=event.xbutton.y;
        button=Button1;
        break;

        case Button3:
        x=event.xbutton.x;
        y=event.xbutton.y;
        button=Button3;
        break;
        default:
        break;

        }
        break;
    default:
        break;
    }
    if(x>=0 && y>=0)break;
    }
    if(button==Button1)printf("leftclick at %d %d \n",x,y);
    else printf("rightclick at %d %d \n",x,y);
    XCloseDisplay(display);
    return 0;
}

Back to comp.os.linux.development.apps | Previous | NextNext in thread | Find similar


Thread

How do I get coordinates or mouse clicks C/C++, Linux? fsn761304@gmail.com - 2015-12-13 13:06 -0800
  Re: How do I get coordinates or mouse clicks C/C++, Linux? Jasen Betts <jasen@xnet.co.nz> - 2015-12-14 08:33 +0000
  Re: How do I get coordinates or mouse clicks C/C++, Linux? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2015-12-14 21:24 +0200
    Re: How do I get coordinates or mouse clicks C/C++, Linux? fsn761304@gmail.com - 2015-12-15 02:31 -0800

csiph-web