// bk001206 - from Ryan's Fakk2. See above. static qboolean repeated_press( XEvent *event ) { XEvent peekevent; qboolean repeated = qfalse; assert( dpy != NULL ); if ( X11_PendingInput() ) { XPeekEvent( dpy, &peekevent ); if ( ( peekevent.type == KeyPress ) && ( peekevent.xkey.keycode == event->xkey.keycode ) && ( peekevent.xkey.time == event->xkey.time ) ) { repeated = qtrue; XNextEvent( dpy, &peekevent ); // skip event. } // if } // if return( repeated ); } // repeated_press
static qboolean repeated_press( XEvent *event ) { XEvent peekevent; qboolean repeated = qfalse; assert( x11display.dpy ); if( X11_PendingInput() ) { XPeekEvent( x11display.dpy, &peekevent ); if( ( peekevent.type == KeyPress ) && ( peekevent.xkey.keycode == event->xkey.keycode ) && ( peekevent.xkey.time == event->xkey.time ) ) { repeated = qtrue; // we only skip the KeyRelease event, so we send many key down events, but no releases, while repeating //XNextEvent(x11display.dpy, &peekevent); // skip event. } } return repeated; }