2012-08-22 3 views
0

일부 실험에서는 마우스 왼쪽 버튼을 눌렀을 때 마우스의 좌표 입력을 원하지만 데스크탑의 물건과 상호 작용하고 사물을 엉망으로 만듭니다. 마우스 클릭을 사용하지 않도록 설정하거나 마우스를 놓는 것과 같은 방법으로 마우스가 객체와 상호 작용하는 것을 막을 수 있습니까?리눅스에서 마우스의 데스크탑과의 상호 작용을 중지하십시오.

추신 : X 서버에 X11 연결이 이미 있습니다. X 좌표를 얻기 위해 XQueryPointer를 사용하고 있습니다.이 응용 프로그램은 터미널에 물건을 출력하는 창이 없습니다.

답변

1

http://tronche.com/gui/x/xlib/input/XGrabPointer.html은 원하는대로 할 수 있다고 가정합니다. 입력 좌표를 받으려면 X 서버에 X11 연결이 이미 있다고 가정합니다.

다음은 작동하는 코드입니다.

Display *dpy; 
dpy = XOpenDisplay(NULL); 
int g=XGrabPointer(dpy,DefaultRootWindow(dpy), true, ButtonPressMask | 
       ButtonReleaseMask | 
       PointerMotionMask | 
       FocusChangeMask | 
       EnterWindowMask | 
        LeaveWindowMask,GrabModeAsync,GrabModeAsync, None, None, CurrentTime); 
+0

예, 이미 X 서버에 X11 연결이 있습니다. 좌표를 가져 오기 위해 XQueryPointer를 사용하고 있습니다. – rajat

+0

(링크에서) 다른 창이나 아이콘과 상호 작용하는 마우스 포인터를 멈추는 방법에 대해 이해하지 못하는 것 같습니다. 추신 : 내 프로그램에는 창문이 없습니다. – rajat

+0

나는 그것을 직접하지는 않았지만 이벤트가 전파되는 것을 막기 위해 전체 화면 창을 등록해야한다고 가정한다. 화면 보호기는 비슷한 일을한다. – DThought

관련 문제