2012-02-27 1 views
1

Xlib을 사용하여 마우스 커서를 제어하는 ​​작은 프로그램을 작성하고 있습니다. 다중 디스플레이 구성에서 임의로 위치를 설정해야합니다. OS가 Linux이고 xinerama 모드가 사용 가능합니다.다중 디스플레이 구성에서 xlib를 사용하는 마우스 컨트롤

아래 코드를 사용하면 예상대로 포인터가 작동하지 않습니다.

xdisplay1 = XOpenDisplay (NULL);

root = DefaultRootWindow (xdisplay1);

XWarpPointer (xdisplay1, None, root, 0,0,0, x, y);

XFlush (xdisplay1);

마우스 장치를 "수동으로 흔들지"않는 한 이벤트는 일반적으로 플러시되지 않습니다. 또한, 다른 모니터에 휘지 않는 경우에만 작동합니다. 이 경우 포인터가 뒤틀리는 가장자리에 붙어 있습니다.

이 문제는이 문제가 멀티 디스플레이 구성과 관련이 있다고 생각하게했습니다. 빨리 해결하는 방법을 아는 사람이 있습니까?

감사합니다.

+0

마우스 커서가 "시각적으로"업데이트되지 않았지만 이제는 움직이고 있다고 확신합니다. 마우스 이벤트는 GLUT를 사용하여 성공적으로 포착됩니다. 그러나이 이상한 행동의 이유를 아는 것이 좋을 것입니다. 감사! – antrox

+0

당신은 이것을위한 해결책을 찾았습니까? 나도 같은 문제가있어. – joekr

답변

0

그것은 예쁜 솔루션지만

XDefineCursor(display,root_window,XCreateFontCursor(display, XC_circle)); 

가 해결 될 것으로 보인다 호출하지 않습니다.

관련 문제