Usage (customer intent) vs. Design (developer intent)

by Michael S. Kaplan, published on 2007/05/28 19:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2007/05/28/2954171.aspx


The Monday morning note I got via the Contact link was:

Something that was pointed out to me: Windows standard (UK/US at least) keyboard layouts translate particular control+symbol sequences into particular characters, for example Ctrl+[ becomes ESC (27). 27-31 are mostly mapped to the corresponding control characters after 'Z' except that 31 appears to be duplicated onto Ctrl+_, Ctrl+- and Ctrl+/.

MSKLC generated layouts do not do this, and only have ASCII 0 mapped to Ctrl+2, ASCII 27-31 mapped to Ctrl+3 to Ctrl+7 and ASCII 127 mapped to Ctrl+8. Standard layouts have these too, but not as many people are aware of them.

I tried playing around with several things including upgrading from MSKLC 1.3 to 1.4, but in the end only adding explicit mappings for these control sequences worked. The built layout does the right thing, but MSKLC whinges during build that "This is redundant and should be removed." Which it isn't, and shouldn't, unless MSKLC were to perform that mapping automatically.

(As to why it's important: telnet/ssh users tend to complain if you don't get it right!)

A small number of these (three of them) were fixed in MSKLC 1.4, specifically to fix the windows telnet case. But beyond that, a keyboard author is in their own, and every day one finds new problems with character assignments in the CTRL and CTR+SHFT shift states, even though I have been speaking out against them before MSKLC was even in alpha, and MSKLC has been complaining for almost as long....

But if you truly want to assign something there, MSKLC won't stop you. And it will even keep a few explicit assignments when you load from an existing layout and not even warn you about them, at least not in 1.4.

But beyond that, MSKLC definitely was aiming in a slightly different place in its design, somewhere different than either telnet or ssh. So if one gets a few extra validation warnings and decides classify them as whinging or whining, then I guess we'll all just have to live with that, now won't we? :-)

 

This post brought to you by [ (U+005b, a.k.a. LEFT SQUARE BRACKET)


shopautodotcaseocontest on 28 May 2007 7:37 PM:

thats awesome. thanks. I don't know how I'm going to react to the new keyboard mapping


referenced by

2008/11/04 Strange control over CTRL and control characters

go to newer or older post, or back to index or month or day