Exemple #1
0
// 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
Exemple #2
0
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;
}