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


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

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

From Tauno Voipio <tauno.voipio@notused.fi.invalid>
Newsgroups comp.os.linux.development.apps
Subject Re: How do I get coordinates or mouse clicks C/C++, Linux?
Date 2015-12-14 21:24 +0200
Organization A noiseless patient Spider
Message-ID <n4n4tf$tir$1@dont-email.me> (permalink)
References <2eb81b84-9d58-490b-847f-89a126dabf43@googlegroups.com>

Show all headers | View raw


On 13.12.15 23:06, fsn761304@gmail.com wrote:
> 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;
> }


What are you attempting to achieve?

A clandestine mouse logger?

-- 

-TV

Back to comp.os.linux.development.apps | Previous | NextPrevious in thread | Next 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