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: Duplicate Keystrokes - Again, Again! [Alan Hourihane, pleasecomment]


Duncan,

Duncan Cragg wrote:


Sorry, I haven't got a clue how to help you. I spent hours investigating the duplicate keystrokes problem many months ago. I described some of what I learned in the following email:


http://www.cygwin.com/ml/cygwin-xfree/2002-02/msg00195.html



Yup: as my original email indicated with the Google link, I have read the history!!



I know, I just wanted to make sure that you had read that particular message.




All I could see is that for certain instances of Windows keypress messages we were generating two keystrokes in the X Client with the focus. I followed this as low as I could with gdb and it was always a single keystroke as far as I could see, but it magically turned into two keystrokes at some level beyond where I could look. I speculated that perhaps this was something in the MI layer trying to do an "autorepeat" for us, which we don't want it to do. It could be the delay between the down message and the up message that is causing this. But, like I said, I looked through almost all of the code and nowhere could I find a part that looped and created extra keypresses in the X Client.


In support of your conclusion, I tried a simple 'xset r off'. This fixes the problem for me (or, at least, makes it so much reduced that I haven't seen it yet), and, of course, I still get key repeats off Windows.


Thanks for replying; I still find it hard to believe that this is such a rare problem that it is given low priority. Must be one of my '.*' files that's making it worse!


Ah ha! You have found the mysterious repeating of keys that I have been looking for! I kept saying, "I give up... must be some sort of internal repeat mechanism". My Google searches for such a mechanism kept coming up empty... but with "xset r" I was able to find out that xset uses the XF86Misc extension to set the repeat rate, among other things.


I started working on turning off the repeat rate in the server initialization, but I ran into a problem. See, we don't have the XF86MISC extension compiled in, so I can't figure out how xset is causing an effect when it sets the repeat rate. Furthermore, I have looked at the hw/xfree86/common/ implementation of xf86SetKbdRate... most of them use setb () or ioctl ()'s which wouldn't seem to apply to use. My understanding of setb () is that it is used to set flags in hardware... but I could be wrong.

[Alan, please comment:]

Does anyone know if setb () in this case is just setting a hard-wired memory address used by the X Server to store the repeat rate internally?

Thanks for your investigative work,

Harold

Cheers


Duncan Cragg




Since there's been no response to this, I thought I'd add a little more detail in the hope of
triggerring a reaction!!!
See after this copy-paste of my original email:


Hello - I've just arrived at this list, so hope I don't break protocol in any way!!

I have a problem which can be summarised as 'it's the same as the following past postings':

http://www.google.com/search?hl=en&lr=&ie=UTF-8&q=+site:www.cygwin.com+xfree86+duplicate+keystrokes


The discussions there mentioned the infrequency of the problem of duplicate keystrokes for the respondents - a couple of times a day.


I, however, am getting this problem all the time: as in, every five commands or so, or every five edit keystrokes....!!!!

Am I alone?

Am I doing something odd?

This happens on both my work and home installations (work is 1G, home is 500M laptop; home has VNC running which I can see would make this worse, but work is not overloaded). Both installations are out-of-the-box, running twm. I can supply more details (.Xmodmap, .twmrc, .Xdefaults, etc.) if someone thinks it's relevant.

Any help appreciated!


Duncan Cragg


So my work machine is NT and this problem only manifests when doing an ssh to one of my home machines and running up an editor. It's bad enough that it's intolerable for editing - repeated keystrokes occurring every 10 or so.

At home it's much worse - this machine is running Windows 2000. Like I said, it's a 500Mhz and running VNC - but I've tried turning off some of the VNC checkboxes, without any improvement. VNC is only using a tiny bit of CPUanyway. I can't see a 'disable VNC' checkbox or option anywhere to completely switch it off though. I get repeated chars even on a bash prompt on the local machine - and it's about every five or so keystrokes, biased towards carriage returns and big events like shifting down half a page. It occurs equally on ssh's to other machines on local xterms as to xterms launched from those machines.

The thing these setups have in common is the .xinitrc, .twmrc, .Xdefaults and .Xmodmap files. Can anyone suggest one of these to start adjusting? I can supply relevant sections - if anyone has a clue what's relevant!!

Thanks in advance for any help with this one!!

OK - I'll look at building from source and fiddling with code, if that'll prove I'm serious!! I'm going to have to get Exceed (shput!) if I can't resolve this... If no-one responds to this email, I'll keep the list informed of how I'm getting on. It'll be a riveting saga, I'm sure... =0) Oh - if we can fix that problem where alt-Tabbing into or out of Xfree splatters tabs over the in-focus window, it'll be a bonus. This has been suggested as related in the above threads...


Duncan Cragg













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