cygwin 1.3.2 bug on non-us keyboard layouts

Jason Tiller jtiller@sjm.com
Fri Jun 15 09:57:00 GMT 2001


Hi, Serge, and All, :)

On Fri, 15 Jun 2001, Serge Koganovitsch wrote:

> I've recently upgraded from 1.1.8 to 1.3.2 and now I cannot use
> characters like '\' or '|'. AltGr apparently is not recognized on my
> laptop (AZERTY belgian layout). Non-US keyboard layout in general
> don't work. Does anyone have a solution for this problem ?

You are not the first to have come across this!  I implemented (with
much help from Corinna) a patch that was first applied in 1.3.1 to
modify the behavior of AltGr (Alt key right of the spacebar on 102-key
keyboards (US, at least)).  I wanted AltGr to act as META, since I was
using emacs editing keys in bash and really liked using either Alt key
as META.  Since US users have no use for AltGr, really, we worked the
code to treat AltGr as META only if the console keyboard's primary
language identifier was English (LANG_ENGLISH).

Immediately after the patch was applied, non-US users began submitting
bug reports.  I recently took a look at this and wondered about some
of the code to determine the user's keyboard language.  That code only
looks at the primary language identifier of the keyboard language.
HOWEVER, Win32 allows the user to specify a language and a physical
layout.  Are you using English as the primary language?  If so, then
this might be the culprit because you indicate your layout is Belgian.

If you're using emacs keybindings in bash, then you can test whether
or not AltGr is META - just type something and hit <rightAlt>-b: if
the cursor goes back to the previous word, then AltGr is being
interpreted as META.

I have a feeling that the code in question needs to check the layout
as well as the language and only translate AltGr into META if BOTH are
English/US.  I'm still using 1.1.8 myself, and I don't have access to
any non-US layout keyboards, so I can't do a lot of testing, but the
patch for this is trivial.

---Jason
Sonos


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list