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