Egbert Eich wrote:
>  > The XKB code could call ProcessInputEvents just above the check for a 
>  > pending repeat key; that would ensure that any input queued either in the 
>  > X server or the kernel would get processed before repeat status was 
>  > checked.
>  > 
> Hm, doesn't ProcessInputEvents() only process the events already in
> the queue on the server? From looking at the code it doesn't seem
> to do a read() to obtain events that have not been read from the
> kernel - but that's what we'd need.

Right.  ProcessInputEvents doesn't read events from the kernel.
Such check in the autorepeat callback function might make sense only being used
with a SIGIO driven input.

>  >  In any case, the current spot isn't sufficient as the timers 
>  > will never be executed if the server is constantly receiving application 
>  > input, so at least that needs to be fixed.
>  > 
> 
> One could move the timer handlers past the end of the 
> if (i <= 0) { } else { } statements. However with input queued
> (ie when the mouse is constantly moved) the timers don't get
> called either.

Can the mouse movement really make such frequent stream of events?
BTW for timers that need the devices input checked first (screensaver, DPMS,
keys autorepeat) it is not a problem.  Anyway they do something useful when
input evens absent some time.  But for other timers it can be important.
If such danger really exists it argues for a making two kinds of timers and
distinguishing them.

-- 
 Ivan U. Pascal         |   e-mail: [EMAIL PROTECTED]
   Administrator of     |   Tomsk State University
     University Network |       Tomsk, Russia
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to