Not all keyboard layouts are the same
by Michael S. Kaplan, published on 2006/05/17 21:31 -07:00, original URI: http://blogs.msdn.com/michkap/archive/2006/05/17/600609.aspx
Not all keyboard layouts are the same.
This seems like it would be obvious, but all of the items in the list below are bugs have been reported against keyboard layouts in Windows, in most cases by people inside of Microsoft:
- m key doesn't work on french builds
- NL : ~ ` ^key does not output on notepad with Dutch Netherlands keyboard
- UK customer with a uk keyboard setting can not log onto a domain
- VK_OEM_MINUS ignored by zoom with FR keyboard
- PTB: tilda and quotes marks do not appear when pressed once in PT Brazil kbd
- Can't use CTRL + main FR keyboard '-' to zoom
- Make English (US) keyboard a default optional keyboard for all languages
- Dutch keyboard displays as "United States - International"
- PTB: keyboard SHIFT + ` and SHIFT + ^ keys does not appear on the first try
I could go on (there are definitely more!), but you can probably already guess what is happening with all of these bugs -- someone is testing Vista and playing with a keyboard layout that does not match their hardware, and they are unhappy that something seems unavailable in the layout.
I will leave these as an exercise for the reader to determine what the problem actually is -- the Keyboard Layout List might help....
Though I will note that those two Portuguese bugs are basically the same as the last one I pointed out in The keyboard does not do what I tell it to! (for those with long memories!).
This post brought to you by "`" (U+0060, a.k.a. GRAVE ACCENT)
# Mike Dimmick on Thursday, May 18, 2006 9:31 AM:
I'm guessing that the UK customer with a UK keyboard layout didn't actually have the UK keyboard selected, and used one of these characters: £ # ~ @ ' " \ | ¬ € ¦ in their password. I include \ and | since I'm not sure which is counted as the 102nd key. The others are either not present on the US keyboard or are in a different position. They could even be using one of áéíóúÁÉÍÓÚ if they know that these characters are accessible through AltGr+letter.
Most of the others seem like not understanding the dead-key behaviour of some layouts, when tested by someone not familiar with the layout. There may not be much indication on the physical keyboard itself that such-and-such a key is a dead key and either affects the next character typed or needs to be pressed a second time to produce the symbol on the key itself.
The French keyboard layout is probably the most different from the US layout, beginning as it does 'azerty'. 'm' on the French layout moves to the ';' on the US layout, while the US layout's 'm' is ',' for the French. According to the page you linked to, the French must press Shift to get numerics. To get a '-' from a US keyboard when the French layout is selected, press 6. The 'Zoom Out' feature should be defined to operate when Control is pressed when the '-' character is typed, not Ctrl+VK_OEM_MINUS.
As for making the English (US) keyboard default for all languages, yech. No thanks. It's hard enough suppressing the US keyboard layout on Windows XP - Setup tells me that it cannot remove the US layout right now because it's in use, and will remove it on the next boot. Then, because there are two keyboard layouts available at boot time, it decides I want the language bar enabled, which I don't since I'm only going to work with the one physical layout I have.
I haven't yet experimented with the UK Extended layout added in XP SP2. I was a bit concerned that it would interfere with my programming (C++ and C#) but it looks as though the only unshifted key affected is ` (which becomes a dead key in the Extended layout) which doesn't bother me as I don't do any UNIX shell programming. The dead key could have been made Shift+AltGr+`instead with the unshifted state left alone, though that might have been more confusing.
It *is* a shame that the physical keyboard layout cannot be detected by the OS (as far as I know, anyway) but you'd still need a way to override it for either incorrect detection or for users who want to use a different logical layout with the same physical keyboard - I don't think I'd want to have to buy a 'UK Extended' keyboard just to try out a layout that differs so little from this one!
# TravisOwens on Thursday, May 18, 2006 2:00 PM:
Not bugs per se, but another problem with applications have non configurable keyboard shortcuts or keys is that as US user with a Dvorak layout, I think most coders forget that some key combinations don't make a lot of sense when the keys are re-arranged.
The most basic headache can be copy and paste, which are a breeze on US QWERTY because you can hit CTRL+X, CTRL+C, CTRL+V with your left hand, and their right next to each other, but in Dvorak I have to copy & paste with my right and cut with my left (3 keys further away too).
It doesn't prevent me from doing my work, but you can already guess I have to remap every game I ever play.
# Yaytay on Saturday, May 20, 2006 10:58 AM:
Knowing nothing about keyboards - isn't there some way for the OS to ask the keyboard what layout it should use?
And if there isn't, shouldn't there be?
# Michael S. Kaplan on Saturday, May 20, 2006 11:46 AM:
Hi Yaytay --
Most of the bugs here relate to people at Microsoft *changing* the keyboard layout themselves to some other language, trying to do something, and then putting in a bug related to what they cannot do.
So I am not sure how such a way would help this situatation....
I'm also not sure what you mean exactly, but hardware standards for keyboards do not have any specific methodology to interrogate the hardware to find out what language *it* is. Though there is an attempt to try to do this with USB keyboards, there is no generic solution to that other problem that you are talking about. I'll blog about this another time....
Please consider a donation
to keep this archive running, maintained and free of advertising.
Donate €20 or more to receive an offline copy of the whole archive including all images.
go to newer or older post, or back to index or month or day