안녕하세요! 모든 마우스 동작의 위치를보고해야하는 프로그램을 작성하려고합니다. PointerMotionMask
마스크를 사용하여 XSelectInput()
함수를 호출했습니다. 모든 것이 제대로 작동하는 것처럼 보이지만 인쇄 후 숫자는 모든 이동 후에 나타나지 않으며 블록으로 표시되며 및 event.xmotion.y
의 숫자는 수십만 개로 매우 높습니다.
큰 숫자의 원인은 무엇입니까?
또한 내 프로그램이 모든 전화 번호를 받고 즉시보고하거나 대기열에 저장되어 터미널에 블록으로 전송됩니까?
감사포인터 동작. 왜 숫자가 그렇게 높습니까? 왜 그것은 상수 스트림이 아닌 블록의 정보를 출력합니까?
가 여기 내 이벤트 루프 : 그것은 기존 라인의 시작 부분으로 커서를 이동합니다 마지막에 개행 문자를 인쇄 게다가
while(1)
{
XNextEvent(display, &event);
switch (event.type)
{
case Expose:
glClearColor(1.0, 1.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
glXSwapBuffers(display, glxwin);
break;
case MotionNotify:
printf("%d, %d", event.xmotion.x, event.xmotion.y);
break;
case ButtonPress: exit(1);
default: break;
}
}
버퍼링을 위해 printf에 \ n을 추가하십시오. (비록 좌표계에 대한 생각이 없습니다.) – Mat
질문을 중복하지 마십시오 (이전에 편집 할 수 있습니다) – prajmus
kk 몰랐습니다. – sandbucket