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


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

Re: Keyboard handling, and CygWin 1.3.1


Hi, Mark, :)

On Wed, 16 May 2001, Mark Hadfield wrote:
> From: "Steven Green" <steven@greenius.co.uk>

> > Can someone familiar with the CygWin spurce code, point me towards
> > where the keyboard handling is done, so I can see what changed
> > between versions.  I checked code out from CVS but can not find
> > where keyboard stuff is done.  What I don't understand is how
> > programs like Vim (which presumably use Cygwin.dll) handle the
> > pipe key properly, but Bash doesn't.... but it was by downgrading
> > Cygwin.dll that made it work again, which points towards Cygwin
> > being the culprit rather than Bash.

> In February this year there was an extensive discussion of Cygwin's
> handling of the AltGr key and a patch was submitted. This is an
> obvious place to look. I suggest you look at this message

> http://sources.redhat.com/ml/cygwin/2001-02/msg01636.html

I'm the author of the (very) minor patch.  This patch would have had
no affect on users unles they explicitly set the "right_alt_meta"
option in the CYGWIN environment variable.

However, this patch was rejected by the Cygwin maintainers and I was
steered towards a different solution - one that didn't rely on another
CYGWIN environment option but rather query the underlying keyboard
layout language itself.  It was deemed safe that if the user's primary
keyboard language was LANG_ENGLISH, then they probably wouldn't need
AltGr to function as AltGr but could use it as a second META key
instead.  I wanted this because my wrists were hurting from always
having to generate the META-happy emacs keystrokes with my left hand.

Here is the message with the appropriate patch submission:

http://cygwin.com/ml/cygwin/2001-03/msg00257.html

I assumed the issue might also be with the patch I made.  However, a
diff of the 1.3.1-1 sources against the 1.1.8-2 sources showed  TON of
changes in fhandler_console.cc (the relevant source file), so many
that I'm most certainly not qualified to state which one of them has
caused this problem!

The simplest way to check this out (for those who use non-US/English
keyboard layouts) is to recompile and replace the 'meta_mask' test in
the ::read method with a test against 'LEFT_ALT_PRESSED', which is the
way it was in 1.1.8-2 before my patched mucked with it.  If the
problem goes away, then the method for determining whether or not
AltGr should be interpreted as META is bad (GetKeyboardLayout( 0 ) ==
LANG_ENGLISH is faulty).  If the problem persists, then one or more of
the many other changes to fhandler_console.cc are implicated.

If non-English users could try out my simple suggestion, I'd be
grateful. :)

---Jason Tiller
Sonos Handbell Ensemble
http://www.sonos.org/


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


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