altGR key problem with windows XP

Harold L Hunt II huntharo@msu.edu
Mon Feb 24 13:23:00 GMT 2003


Andreas,

I think I did reply to this email and I know that you have been out of town,
but did you send in a new patch that I missed?  Just checking.

Harold

> -----Original Message-----
> From: cygwin-xfree-owner@cygwin.com
> [mailto:cygwin-xfree-owner@cygwin.com]On Behalf Of Andreas Schessner
> Sent: Thursday, February 13, 2003 8:47 AM
> To: alain perrier; Harold L Hunt II; cygwin-xfree@cygwin.com
> Subject: Re: altGR key problem with windows XP
>
>
> Hello Alain and Harold,
>
> sorry, I had a lot of work last month's and today I just returned out
> from vacation.
>
> Harold L Hunt II wrote:
>
>  >Alain,
>  >
>  >The problem with Andreas Schessner's patch was that it modified
> functions
>  >that were not being compiled in the default build. I asked him where the
>  >missing parts of the patch were, but he never responded. I don't know
> if he
>  >just gave up or if he realized that his patch maybe didn't have
> the effect
>  >that he thought it did. In any case, we no longer have a valid report of
>  >that problem... if you can contact Andreas Schessner and ask him for the
>  >rest of his patch, then perhaps we can get somewhere. Until then, I can
>  >only assume that he made some sort of mistake and decided to keep quiet
>  >about it :) Seriously, what else can I think when someone stops helping
>  >to get their patch committed?
>  >
>  >Harold
>
> Harold, that's not true.
> I sent you all the modified sources and the patch worked fine for me and
> some of my friends.
>
> Ok. Back to our AltGr problem:
>
> First of all: I've found the reason why some "non-US-keyboards" are
> misbehaving.
>
> The problem is due to the Microsoft PowerToys for XP (and the
> "Alt-Tab-Taskswitch")
> The PowerToys are manipulating the Windows-Event-Queue.
> I think they need to do this for their extended
> "Alt-Tab-Taskswitch"-Feature.
> Probably they globaly catch some keyboard-events (specially the Ctrl and
> Alt events) before these are "resend" to the window with the current
> focus (with modified/actual timestamp).
> So if the Ctrl and Alt events don't have the same timestamp (because the
> PowerToys manipulated/delayed these events) your current algorithm isn't
> able to detect an AltGr event.
>
> The simpliest way to solve the problem is to deinstall the PowerToys.
> (this worked for me and some other people, which contacted me directly
> after my posting in the cgwin-xfree mailing list)
>
> If you want to keep the PowerToys or if you are using some other tool
> wich is also manipulationg your event-queue in the described manner,
> then you will have to change the AltGr-detection-algorithm.
>
> I had a suggestion, about how it could be implemented.
> The core idea of my suggestion was the implementation of an FSM (finite
> state machine) keeping track of the current state of Alt_R and Control_L.
> I gave all the modified sources (win.h,  winkeybd.c, winwndproc.c) to
> Harold.
> I thought he could run a diff over these files in order to to see what
> I've done and to build a patch.
> I'm sorry, but I'm not (yet) familiar with open source projects.
> I thought Harold didn't like my modifications because I made some more
> changes than really nescessary (I just wanted to keep it a little bit
> more modular).
>
> So if you are really interested in my patch, contact me.
> I will get the lastest sources, put in my modifications and send you the
> modified sources (and a diff ;-).
> Unfortunally this will take some days, because I'm out of office till
> next week and I'm using Windows XP only on computers at work.
>
> Andreas
>
>
> Remark (out of my mail from 5.Nov.2002):
> [If you use the alternate AltGr-detection]  The output of a "Control_L
> press" is delayed.
> This seems to be the only weakness (IMHO) of the algorithm.
> But it's not so bad as it's looking at the first sight. Normally a
> "Control_L press" key is mostly followed by another key press, which
> will end the delay. In worst case another "Control_L press" caused by
> the automatic repeat capability of your keyboard will end the delay.
> So the maximum delay for a "Control_L press" (for example if your are
> just holding down your left Control key) is the typmatic delay.
> In all other cases (a "Control_L press" followed by any other key press
> or release) the following key breaks the delay.
>
>
>
>
>



More information about the Cygwin-xfree mailing list