That MSKLC with a jailbroken Surface RT thing? I dared to disturb the universe, and...

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

The thing about J. Alfred Prufrock and his love song is that he never got around to trying to disturb the universe.

Now I didn't want to be as prissy as he was.

So, after I blogged the blog in this Blog entitled Developing for a jailbroken Surface RT -- dare I disturb the universe?, some of you assumed I might have gotten fired.

If you aren't a Microsoft employee, that link may or may not work for you. Pretend it was scintillating, either way. :-)

I mean, no blogs all last week, right?

Thankfully, I was not fired.

It's just that, well, last week was pretty busy.

I had to write an internal World-Readiness wiki article about World-Readiness in the Console, talking about the PowerShell ISE in particular (you may not be able to see that link if you don't work for Microsoft, but if you can see it you can decide if I wasn't too blogy, which i apparently am sometimes.

And I had get ready to be talking about scripting with the PowerShell ISE at the monthly World-Readiness Champions meeting, only to have that presentation pushed to next month.

And I had to get my MYCI (Mid Year Check In) done a week early, since my manager had to cross the puddle for a W3C meeting.

Like i said, a busy week.

But I had time to catch up with my manager (the Senior Program Manager Lead) and talk to him about that Developing for a jailbroken Surface RT -- dare I disturb the universe? blog.

We talked about the issues and the hurdles and came up with a strategy.

Then I had a quick hallway converation with his manager (the Principal IPM Group Manager) and all went well.

And then I chatted with his manager (the Senior Director), and got all green lights.

Finally, before I contrived a way to run into his manager (the Corporate Vice President of Development), he came to tak to us and do a Q&A with the Windows International group.

And he gave the lazy nod of approval for the project!

Just to be sure the lazy nod of approval was genuine, I asked him privately after the Q&A (sometimes, Corporate Vice Presidents of Development have to be more encouraging in public than they are in private to not seem like jerks).

But the Corporate Vice President of Development confirmed the lazy nod. I shook his hand and said THANK YOU! and tried not to act like I had just scored a touchdown.

Even though I totally did!

So now I just need to revive the MSKLC project tree.

And build two binaries (SETUP.EXE and KBDMSI.DLL) with the ARM compiler/linker.

And pick up all the ARM cross compilers.

And remove IA64 support from MSKLC.

And maybe do some of the other bug fixes I mentioned in The evolving Story of Locale Support, part 4 (working beyond one's bugs, and the case for an MSKLC update).

And update the help file.

And then try to convince someone to test the thing!

And we may even have a conversation with someone from LCA or my manager's manager's manager's manager (that Corporate Vice President of Development) about in this one narrow case putting the special keys to avoid the need for a jailbreak to install a keyboard layout one creates, to install on a Surface RT.

Disturbing the universe sure makes one busy, doesn't it?

Guess I'd better go update those committments! :-)

One thing that is not on the table here is trying to get MSKLC itself on the Surface RT. This would only be for the layouts (otherwise the test burden would be explosively more complicated).

People who wanted to author the setup on their Surface RT will have to Remote Desktop to the other machine with MSKLC on it!

But even with that simpler task, it is pretty complicated, as the single x86 SETUP.EXE that picks the right platform-specific MSI would never work on ARM.

It will need its own bootstrapper SETUP.EXE to go with its MSI.

And KBDUTOOL.EXE (the one binary that did most of the cross-architecture work before) will have to be taught all about ARM.

This might take some time.

Plus I have my actual job to do -- this is sort of as close to a sanctioned 20% time idea as I'm ever likely to get! :-)

Stay tuned....

Doug Ewell on 11 Mar 2013 7:44 AM:

For a moment, I imagined I saw something in there about updating MSKLC for plain old Windows as well. That would be a Good Thing™. BTW, MSKLC works for me again after upgrading from 7 to 8.

Michael S. Kaplan on 11 Mar 2013 7:57 AM:

The update will also help the non Surface RT cases, too!

Azarien on 11 Mar 2013 10:38 AM:

This is great. I can't live without a 3rd party keyboard layout that I've been using for years now :-)

John Cowan on 11 Mar 2013 7:28 PM:

Hurrah, hurrah!

cheong00 on 11 Mar 2013 7:47 PM:

Great news.

Hope Microsoft understands that for many people, their ability to type-in words will be seriously crippled without their familiar IME, therefore is a very important part of UX.

It's very good investment to make a great OS even greater.

Yuhong Bao on 12 Mar 2013 6:24 PM:

"(otherwise the test burden would be explosively more complicated)."


Yuhong Bao on 12 Mar 2013 6:27 PM:

So basically NtUserLoadKeyboardLayoutEx on RT will be changed to allow third party keyboard layouts, right?

Alex Cohn on 12 Mar 2013 11:50 PM:


Michael S. Kaplan on 13 Mar 2013 7:42 AM:

<the blog> "(otherwise the test burden would be explosively more complicated)."

<Yuhong Bao> Why?

Having to test the full UI and all the functionality, not to mention everything the compiler (for ARM) and two cross-compilers (for x86 and x64) explodes testable scenarios by over 2000%, or more!

<Yuhong Bao> So basically NtUserLoadKeyboardLayoutEx on RT will be changed to allow third party keyboard layouts, right?

Not necessarily...

Yuhong Bao on 13 Mar 2013 1:35 PM:

I mean, how else will MSKLC created keyboard layouts be able to load on RT without jailbreaking? Of course, a MS-signed util would have to be created (if it does not already exist) to actually call this function. I wonder if you will do a blog post on how exactly it will work.

Michael S. Kaplan on 13 Mar 2013 3:02 PM:

I imagine that I will!

referenced by

2013/04/17 One of these days you'll want to stand back, as I am working to ARM myself with another Surface RT!

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