x11: capture pointer when a button is pressed
This commit is contained in:
parent
463105b0d5
commit
73f5f1d214
@ -1739,6 +1739,10 @@ int Get_input(int sleep_time)
|
||||
}
|
||||
break;
|
||||
case ButtonPress: // left = 1, middle = 2, right = 3, wheelup = 4, wheeldown = 5
|
||||
XGrabPointer(X11_display, X11_window, True,
|
||||
PointerMotionMask | ButtonPressMask | ButtonReleaseMask,
|
||||
GrabModeAsync, GrabModeAsync,
|
||||
X11_window, None, CurrentTime);
|
||||
//printf("Press button = %d state = 0x%08x\n", event.xbutton.button, event.xbutton.state);
|
||||
if (event.xkey.state & ShiftMask)
|
||||
mod |= MOD_SHIFT;
|
||||
@ -1777,6 +1781,7 @@ int Get_input(int sleep_time)
|
||||
}
|
||||
break;
|
||||
case ButtonRelease:
|
||||
XUngrabPointer(X11_display, CurrentTime);
|
||||
//printf("Release button = %d\n", event.xbutton.button);
|
||||
if(event.xbutton.button == 1 || event.xbutton.button == 3)
|
||||
{
|
||||
|
||||
@ -333,5 +333,7 @@ void Define_icon(void)
|
||||
|
||||
void Set_mouse_position(void)
|
||||
{
|
||||
/// @todo implement screen capture and set position for x11.
|
||||
XWarpPointer(X11_display, None, X11_window,
|
||||
0, 0, 0, 0,
|
||||
Mouse_X * Pixel_width, Mouse_Y * Pixel_height);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user