The story of MSKLC

by Michael S. Kaplan, published on 2013/10/04 07:01 -04:00, original URI:

I would like to tell you a story.

The story of MSKLC.

It is a story told many times and places in the past, though never in full here.until now...


This story of MSKLC started after 9/11. After the towers fell.

A special agent of the NSA who we had worked with before came to Microsoft, came to our team.

They wanted us to make them many keyboards, some for languages we supported but many for languages we did not.

But these keyboards were not designed for native speakers of the languages or using National standards.

These keyboards were designed for fast and easy transcription.

Back then, keyboards were created by way of difficult and hard to author text files you could never imagine.

Oh wait, you don't have to imagine them -- just open up a .KLC file and you will be able to see just what they look like.

"Um, this might take some time," we said. "Can you give us a list in the order of importance to you so we can prioritize the work?"

"No, none of you are cleared, so we can't. But you can probably watch CNN and figure out what the priority list should be!"

So we built the keyboards. We fixed a few of them up (they were using Arabic compatibility characters when they shouldn't be). But we turned them over with instructions on how to use them.

We knew that we needed a better way to do.this.

We needed an automated way to do it, and a way that didn't even need us to be involved.

And from this effort, this work, this pain, MSKLC was born...

These hands off principles guided all our efforts: no SQM, no user tracking, no way to know if any of the 2 million downloads of MSKLC created one keyboard, or none, or a hundred.

And no way to know if an authored keyboard was installed by one person or a whole community of people.

Ray Ozzie would have been delighted with the complete respect for the privacy of our customers.

We changed an industry. I daresay we changed the world, a little bit.

According to that Special Agent of the NSA, we saved lives.

I find it to be simultaneously a blessing and a curse to feel I might have lived a prominent line in my obituary, you know?

One wonders what we will do next, doesn't one? 😏😏

As an experiment, if you want to comment about this blog, try doing it here instead of (or before) Facebook!

Omi Azad on 4 Oct 2013 8:56 AM:

I'm one of the proud user since...

Rauli on 4 Oct 2013 1:32 PM:

I created a keyboard layout using MSKLC 1.4 on Windows 7 64-bit. When I installed it, my computer started to give the default "ding" sound almost every time I start a program. If I uninstall the keyboard layout, the dinging stops, and it starts again when I install it. Is there anything I could do to make it not do that? It's been a couple of months and I've almost grown used to it, but it is quite annoying. And I really wouldn't want to go back to the standard layout.

John "Red Diaper Baby" Cowan on 4 Oct 2013 1:51 PM:

Um. Really?  Cross your heart (or draw a circle on it, I guess)?

T on 4 Oct 2013 10:52 PM:

for starters -- Thank you (and the team) for supporting our country!

Next -- impressive, and great story, thank you for sharing.

The topic is outside my domain, but enlightening.


Michael S. Kaplan on 6 Oct 2013 8:37 AM:

Rauli, I don't know much about your keyboard - could you please tell me more about it?

Rauli on 6 Oct 2013 1:01 PM:

I tried to comment, but nothing seemed to happen. Let's try again:

I don't know what is relevant to tell about it. I've marked it as being a layout for Finnish. It contains the Latin alphabet in the QWERTY order along with a lot of dead keys for diacritics. There are also some symbols like for example ☆♡♪≤≥≈≠²³, along with some special letters like ɬʎʔʒʐþÞʉɯ. It uses AltGr and AltGr+Shift to access these characters.

When I validate the layout, it says of several characters that they are "not in the default system code page (1252) of the Finnish (Finland) language you specified."

When I build the package, I don't actually know what all the files are, but it installs when I start the setup.exe.

After that, it works just fine, except for the ding sounds when I start a program or switch from Japanese IME to my keyboard layout.

John Cowan on 7 Oct 2013 10:57 AM:

That warning is essentially normal: it's just telling you that legacy software may not be able to handle some of the characters you are now able to type.  I just ignore it (it comes in two wordings).

As for beeping, there is so much noisemaking software on PCs nowadays, I keep my sound firmly muted unless I am actually listening to audio or video, which isn't often.

Doug Ewell on 8 Oct 2013 9:33 AM:

I have my sound turned on, always use custom keyboards created with MSKLC, and never hear these dings. Can you post your .klc somewhere?

Rauli on 9 Oct 2013 12:00 PM:

KLC file at

Doug Ewell on 10 Oct 2013 1:50 PM:

Rauli, I built and installed your keyboard, and I get the ding only when I press [AltGr+Shift+.], which you've defined as a dead key with base code point U+2026 (HORIZONTAL ELLIPSIS). There seems to be an upper limit on the value of a dead key, a limit imposed by Windows, not necessarily MSKLC. Check out the two links below for more information. Try rebuilding your keyboard with some other base code point instead of U+2026, and see if you're still hearing dings.

Rauli on 10 Oct 2013 11:31 PM:

Thanks for the suggestion. I tried it, but the dinging persisted. On the other hand, I hadn't yet noticed that dead key didn't work. At least I know that much more now.

I wonder why it happens only on my machine then.

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.

referenced by

2015/08/27 Trying to build some kind of a narrative #6: Several of the more intriguing of the other 32 (of 37) contracts at Microsoft

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