This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: key repeats when other window pops up


Gerard,

Yes, we have been aware of that behavior for some time now.  In fact, it is
listed as the first item on the Development To-Do List:
http://xfree86.cygwin.com/devel/todo.html

We have a patch for this problem.  However, in the course of applying this
patch I realized that there is a second problem that was originally thought
to be a bug of the patch that fixes your problem.  This other bug is that
when Cygwin/XFree86 gets bogged down in processing, such as when running the
test Native GDI server (which is really slow right now because it does every
single graphics operations as a set of thousands of simple line draws).

For example:
1) Open the test Cygwin/XFree86 server in Native GDI mode.  (you can't do
this unless you build from CVS)

2) Run 'xdpyinfo', 'ls' on /usr/X11R6/bin, or some other program that will
fill an xterm's scroll buffer with lines of text.  Notice that there is an
extra blank command line after the output.  This is because somewhere along
the way the 'enter' key gets fired twice.

3) Scroll to the top of the xterm scroll buffer (this will take seconds).

4) Type 'exit' or any other word, but do not press enter.  This will cause
xterm to scroll down to the command line.  (this will take seconds).

5) Notice that 'exit' comes out as 'eexit'.  No, this is not because the 'e'
that you typed is being echoed late.  This is an actual duplicate key event,
because if you press 'enter' xterm will report that 'eexit' cannot be found.


I did much investigating into this problem using printf's sprinkled
throughout the code.  I was able to figure out that it wasn't the hw/xwin
code that processes Windows keyboard messages that was duplicating events.
Rather, there is a procedure deep in the server that seems to be duplicating
the events.  I built a debug version of the tree and tried to debug it but
gdb kept crashing and I ran out of time.


To make a long story short, after all that excitement I kinda put off those
patches for awhile.  I should go ahead and apply them since they solve a
very real and current problem, and I have determined that the patch is not
the cause of the mystery key repeat problem.


I hope that muddies things up for you :)

Harold

> -----Original Message-----
> From: cygwin-xfree-owner@cygwin.com
> [mailto:cygwin-xfree-owner@cygwin.com]On Behalf Of Pille Geert (bkarnd)
> Sent: Friday, April 19, 2002 10:33 AM
> To: 'cygwin-xfree@cygwin.com'
> Subject: key repeats when other window pops up
>
>
> >From the keyboard testing department, April 19 2002.
>
> Today we noticed the following behaviour from XWin:
>
> Whilst typing merrily away in an xterm-client, all of a sudden a message
> window popped up, as message windows are wont to do.  The
> xterm-client lost
> control, and did not notice that the end user had released the key he was
> pressing in xterm, in this case, the "a"-key.  Under the
> impression that the
> end-user was still holding the "a"-key, the xterm-client continued
> displaying "a"-characters, and would still be doing so, had he not been
> stopped by the end-user himself.
>
> Please ignore this message if the behaviour described above is not, as is
> often much to hastily concluded, a bug, but rather a feature to occupy the
> clients while the end user is being distracted.
>
> With the utmost respect,
>
> we remain,
>
> yours faithfully,
>
> etc. etc.
>
>
> ===============================
> This email is confidential and intended solely for the use of the
> individual to whom it is addressed.
> If you are not the intended recipient, be advised that you have
> received this email in error and that any use, dissemination,
> forwarding, printing, or copying of this email is strictly prohibited.
> You are explicitly requested to notify the sender of this email
> that the intended recipient was not reached.
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]