Tag: mousemove

指针运动。 为什么数字如此之高? 为什么它在块中打印信息而不是常量流?

嗨! 我正在尝试编写一个程序,我需要报告每个鼠标运动的位置。 我用PointerMotionMask掩码调用了XSelectInput()函数。 一切似乎都运行正常,但打印后的数字不会在每次移动后出现,它们以块的forms出现,而且event.xmotion.x和event.xmotion.y中的数字非常高,数十万。 造成这些大数字的原因是什么? 我的程序也是获取每个号码并立即报告它还是存储在队列中并以块的forms发送到终端? 谢谢 这是我的事件循环: 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; } }