German Win98, US Win95 keyboard --> no ;'` keys in Bash

Marius Gedminas marius.gedminas@uosis.mif.vu.lt
Thu Sep 20 15:58:00 GMT 2001


On Thu, Sep 20, 2001 at 02:14:49PM -0700, Jason Tiller wrote:
> > How many failing bug reports have we had?
> 
> Two or three.

Could you provide message-ids, or maybe even links to them on the
archive?  If that's not too much hassle for you.

> I'm afraid, however, that we will begin to see more,
> especially from users whose keyboard primary language is English but
> whose keyboard layout is non-English (international programmers, most
> likely).
> 
> Marius was the perfect programmer to handle this because he's used to
> working with an international keyboard.  I tried some ad-hoc testing
> here and was befuddled pretty quickly in trying to get around some of
> the "foreign" layouts.
> 
> > Has anyone tried to figure out why things aren't working right?
> 
> Not since 1.3.3 came out with Marius' enhanced META-translator.  I'm
> hoping he's still lurking and can contribute to this discussion...
> Please, Marius?

I'm still alive, and I was actually following this thread.  And the
threat of changing the right Alt into AltGr unconditionally might even
make me forget my usual lazyness (hey, Larry Wall said it was one of the
great virtues of programming!) and do something.

However my "enhanced META-translator" is only used on Windows NT/2000,
so it shouldn't have broken anything in this specific case (Win98 + US
keyboard).  And if I understood the original problem report correctly
(not working ' ` ; with US keyboard layout), it has nothing to do with
AltGr at all.

I think the only constructive thing I can suggest at the moment, is to
compile and run the attached program -- it displays raw console keyboard
events Cygwin (and any other Win32 application) gets from the operating
system.

Here's what I get on Win2000 (inside VMware) with 'US English' keyboard
layout by pressing ' ` ; and Esc.

  $ gcc -o conevent conevent.c

  $ ./conevent
  KeyDown (*1) 00DE 0028 ''' U+0027 00000000
  KeyUp   (*1) 00DE 0028 ''' U+0027 00000000
  KeyDown (*1) 00C0 0029 '`' U+0060 00000000
  KeyUp   (*1) 00C0 0029 '`' U+0060 00000000
  KeyDown (*1) 00BA 0027 ';' U+003B 00000000
  KeyUp   (*1) 00BA 0027 ';' U+003B 00000000
  KeyDown (*1) 001B 0001 ' U+001B 00000000
  KeyUp   (*1) 001B 0001 ' U+001B 00000000

# ^^^^^^^ ^^^^ ^^^^ ^^^^ ^^^ ^^^^^^ ^^^^^^^^
# event        keycode   ASCII      shift state
#         repeat    scancode Unicode

Marius Gedminas
-- 
Hoping the problem  magically goes away  by ignoring it is the "microsoft
approach to programming" and should never be allowed.
		-- Linus Torvalds


More information about the Cygwin mailing list