Your layout (in all likelihood) bores me

by Michael S. Kaplan, published on 2006/11/29 02:27 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2006/11/28/1170048.aspx

Now if I were Rory, I might try to take the fact in the title, combine it with some girlfriends of the past who were actually in a position and/or profession to have photographic layouts of themselves done as part of their career, and move into an extended analogy about how layouts in general do not impress me.

Of course I am not as eloquent as he is, and even if I were I don't think I'd be posting cheesecake photos to make my point on this, my MSDN blog. So I'll just skip all that and get to the actual technical bit and skip the extended analogy.

Ready? Here we go....

Random keyboard layouts don't impress me.

I mention this because I have gotten tons of mail from people who have patents on the layout that they believe will change the world if only Microsoft wanted to buy it to supporters of the Colemak keyboard layout (which used to have a Wikipedia link here which went away since it was deleted in accordance with their deletion policy) who think I'll jump on and support the notions of supporting those who are re-inventing the most intuitive keyboard layout.

Or to be more technically accurate, the requests put it on the roadmap; it was the personal pain that I and others had to go through in creating a bunch of keyboards for a big customer in a hurry that led to getting the tool done. :-)

But that doesn't mean I am going to be excited about people's layouts. If people have something interesting to say then I am glad to hear it. But it isn't the layout or the reasons behind it that are going to fascinate me.

Hmmm..... that is kind of why the other kind of layout doesn't impress me either. Maybe I should have spent more time on the analogy. :-)

Ah well, too late now; the post is almost over. But please keep in mind that hearing about the super cool Spaceman Spiff keyboard layout that you created or know about it or that you scientifically proved would cure Lupus Erythematosus is, while slightly more interesting to me than watching cars rust, slightly less interesting to me than watching paint dry.

I'm the developer of the Colemak layout. Nobody's selling anyone patents. Colemak is released under the public domain, which means Microsoft can legally take Colemak, rename it to "Microsoft Natural Keyboard Layout Pro 2007®", and sell it for $99.95 if they wanted to.

The only thing I'm asking Michael is to give people the option to create keyboard layouts such as Colemak in MSKLC. Specifically, I wish it to be possible to allow to map Caps Lock to Backspace in MSKLC, like it's possible in every other operating system that I know of.

See pretty much the entire post, above. I also never claimed you were looking for money (I listed you as more of a layout enthusiast than a layout capitalist).

But MSKLC's focus remains on language support, and the request falls pretty far outside the scope of a language feature.

As an aside, the Colemak FAQ actually mentions only this about language support: "I won't have time in the near future to work on that", so why one would think I'd be eager to be excited about talking about your interests when you are not interested in mine is beyond me!

"As an aside, the Colemak FAQ actually mentions only this about language support: "I won't have time in the near future to work on that", so why one would think I'd be eager to be excited about talking about your interests when you are not interested in mine is beyond me!"

Colemak doesn't ignore the multilingual/international side. One of my major interests involves languages and cultures. I regularly read your blog and other language blogs such as languagehat.com . I can speak five languages, and in fact that was one of my main reasons to develop the layout. I have worked through my career on various localization and internationalization projects.

Colemak allows to type in over 40 languages, without the need to switch keyboard layouts, and without sacrificing comfort of typing in English, unlike the US-International layout which converts some keys to dead keys and isn't very adequate for programming.

e.g. I can type this line easily with Colemak in English, Čeština, Français, Lietuvių, Português, Español, Italiano, Türkçe, Esperanto etc., all without changing even once keyboard layouts. That said I don't recommend Colemak for people who type primarily in non-English languages, because it's not optimized for other languages.

Creating a high quality optimized layout can takes about 1000 hours of research and implementation _per language_. There are thousands of languages in the world, and I don't have infinite amount of free time and resources to work on it. Also, practically no one uses non-English Dvorak variants even though they've existed for many years, so I don't think there's a good chance that non-English versions of Colemak will become very popular. It's complicated because a lot of people type in more than one language. e.g. a layout optimized for someone who types 80% in German, and 20% and English would be different than a layout optimized for someone who types 20% in German and 80% in English. How would you design an optimized keyboard for countries like Spain where there are multiple official languages? Assume that people type in 40% Spanish, 20% English, 10% Catalan, 10% Basque, 10% Galician? Or you could say that each keyboard layout would be optimized for a single language, and then people that type in four languages will have to learn four completely different keyboard layouts, which also isn't very practical option.

That said, when a moment arrives when Colemak overtakes Dvorak in popularity and becomes more mainstream, I'll definitely reconsider other languages as well.

"But MSKLC's focus remains on language support, and the request falls pretty far outside the scope of a language feature."

If you receive "tons of mail" about alternative keyboard layouts, it shows that there's a lot of interest in that area. I'm a bit disappointed to see a "this isn't my department" and "a big customer isn't paying us to do this" mentality, instead of a "getting things done _right_" and a "thinking out of the box" mentality. If we're talking about perceptions of Microsoft, you're not setting a very good example.

Again, I'm not trying to change the focus of MSKLC, I'm just asking to remove a limitation of MSKLC, a limitation that doesn't exist in other operating system, and there's no way to overcome this limitation without very intimately knowing Windows internals.

Even though a lot of people who are closed minded about learning a new keyboard layout, a lot of people are very excited when they hear about mapping Caps Lock to Backspace. The Colemak download includes a registry file called "I386\Caps to Backspace.reg" that remaps Caps Lock to Backspace. This simple change can cut 15%-20% of finger movement. It only takes a second to run (but since it is Windows after all, it requires a reboot to take into effect), it doesn't pose a security threat (it's a simple REG file that can be easily inspected with a text editor), and it's only takes seconds to learn (very simple, just hit Caps Lock now instead of Backspace, Backspace will continue to function as Backspace). Try it for a few minutes, and I'm sure you'll love it.

WARNING: The next commercial will be moderated. You have as website for that; it is slightly obnoxious to post a comment that asamounts to a commedrcisl in as post that talks about how not interested I am in such "innovations" in the keyboard space....

You have your solution for those who hate the CAPS LOCK. I personally like the CAPS LOCK.

I have also spoken about length sbout my feelings about "multilingual" keyboards on several occasions!

And the tons of mail I get have nothing to do with the CAPS LOCK, they have to do with lots of other issues (mostly sales proposals from people hoping to sell their layout), and only one so far about Colemak, which was also a commercial.

Remember, the next commercial will be moderated.... after being kicked off Wikipedia, I think one would be eager to avoid that?

For what its worth, what you want does not actually appear to be possible within the definitions in kbd.h that MSKLC depends on. Only a key remapper (which is essentially a hardware solution) can work around this issue; it is not something that can be done by simply changing VK mappings.

Obviously an attempt could be made to change all of this to make ut possible, but given what that would do to backwards compatibility in the header file, it is not considered to be a hugh priority.

But since you already have a skey remapping solution in place, it looks like you have everything you need already....

I'm with Shai on this one. Caps Lock falls under the issue of language support since European Languages, for example, have more letters than English and they might want to put one of those letters on Caps Lock.

Plus the key is very annoying. I have a co-worker who has physically removed the key from the keyboard. I use a registry remap to change Caps Lock (I wonder if this will work in Vista though).

Like you, I don't give a rat's behind about layout. But I do give a rat's behind about programming, and if one OS can remap caps lock to some other character, than I don't see why you can't. And this I'm-not-interested-in-keyboard-layouts just sounds like an excuse to not listen to people's needs when they jam up against limiting underlying programming. People have developed workaraounds, so could your program.

Hmmmm... it is funny that the people who make that claim usually tend to not understand how MSKLC works versus how key remappers work.

Claiming that "since one can do a job, the other should be able to as well" is roughly akin to claiming you can drive from Seattle to Maine means you should be able to drive from Seattle to Australia -- after all, they added wings to car in one James Bond film and another clearly had a car that could drive underwater. Refusing to make such modifications is simply refusing to listen to the needs of Aussies.

Of course, since a) key remappers exist, and b) the functionality is not captured in the scheme used for individual layouts, and c) such a feature has nothing to with anything I am either interested in or paid by my employer to work on, there is a much better set of reasons for me not to care about such layouts....