hello all
I've been trying to get a mouse to work with my code, I had the "real" mouse off and was using a sprite, my readings were all over the place. So I turned the mouse on, every double buffer it moves to the top left corner of the screen. I think that's my problem? Can anyone tell me how to make the mouse stay in the same position rather than resetting?
In case that's not the problem He's my code for reading the mouse position below. Thanks for the help !
Code:
KeySym DetectKey(void)
{
/* key mapping found in usr/x11/keysymdef.h*/
Key=0;
//MouseButtonPressed=0;
XWarpPointer(DisplayPointer, None, ScreenNumber1.win, 0, 0, 0, 0,0, 0);
XMapRaised(DisplayPointer, ScreenNumber1.win);
XGrabKeyboard(DisplayPointer, ScreenNumber1.win, True, GrabModeAsync,
GrabModeAsync, CurrentTime);
XGrabPointer(DisplayPointer, ScreenNumber1.win, True,ButtonPressMask|PointerMotionMask,
GrabModeAsync, GrabModeAsync, ScreenNumber1.win, None,CurrentTime);
//XSelectInput(DisplayPointer,ScreenNumber1.win,PointerMotionMask);
while(XPending(DisplayPointer) > 0)
{
XNextEvent(DisplayPointer, &event);
switch (event.type)
{
// case MotionNotify:
// if(event.xmotion.y==0 && event.xmotion.x==0 ) break;
// if(event.xmotion.x!=0) mousexpos=event.xmotion.x+event.xmotion.x_root;
// if(event.xmotion.y!=0) mouseypos=event.xmotion.y+event.xmotion.y_root;
// break;
case ButtonPress:
// if(event.xmotion.y==0 && event.xmotion.x==0 ) break;
if(event.xbutton.x!=0) mousexpos=event.xbutton.x;
if(event.xbutton.y!=0) mouseypos=event.xbutton.y;
break;
case KeyPress:
printf("detect key pressed\n");
Key = XLookupKeysym(&event.xkey, 0);
break;
}
};
return(Key);
}