ruch wskaźnika. dlaczego liczby są tak wysokie? dlaczego drukuje informacje w blokach, a nie w strumieniu stałym?

Cześć! Próbuję napisać program, w którym muszę zgłosić pozycję każdego ruchu myszy. Zadzwoniłem doXSelectInput() funkcja za pomocąPointerMotionMask maska. Wszystko wydaje się działać poprawnie, ale liczby po wydrukowaniu nie pojawiają się po każdym ruchu, pojawiają się w blokach, a także liczby wevent.xmotion.x ievent.xmotion.y są bardzo wysokie, w setkach tysięcy.
Co powoduje te duże liczby?
Czy mój program pobiera również każdy numer i natychmiast go zgłasza, czy też jest przechowywany w kolejce i wysyłany w blokach do terminala?
Dzięki

Oto moja pętla zdarzeń:

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;     
        }   
    }

questionAnswers(1)

yourAnswerToTheQuestion