Keyboard Layouts never get any more complicated than the 32-bit forms...

by Michael S. Kaplan, published on 2013/12/02 16:02 +01:00, original URI: http://blogs.msdn.com/b/michkap/archive/2013/12/02/10471725.aspx


The other day, I was having an email conversation with Naushad Jamil about keyboard layouts.

It was quickly turning into an almost frantic conversation, though not due to anything I was doing or saying.

For some reason, he was insisting on the need to support 64-bit keyboard layouts on 64-bit operating systems.

There was just one problem: all keyboard layouts are 32-bit, even the sign extended 64-bit ones are basically 32-bit underneath.

Unfortunately, there was no way to convince him. I had no proof!

In the end, all I had in my corner was every other keyboard layout ever shipped on Windows.

And that plus every single keyboard layout created by MSKLC.

32-bit, every last one.

Wasn't that proof enough?

For me, sure. But he remained unconvinced.

However, there was a good reason for this to work that way.

A good Architectural reason.

You see, even that 64-bit keyboard layout had to work under the 32-bit subsystem, the SYSWOW64 one.

And the only way to make it work would be for that identical layout to be there for 32-bit applications as well.

THAT can only work if the same layout was there for both 64-bit and 32-bit applications.

When everything was said and done, he didn't have to believe me. That wouldn't stop it from being 100% true...

Perhaps we will have to rethink all of this when we are considering 128-bit operating systems.

But even then, I doubt anything will change. It is not like any additional complexity is required in defining keyboard layouts that would require any additional complexity.

I may never need to go beyond those 32-bit layouts even when dealing with Windows Phone keyboard layouts! 😊😏😊😏😊

And in the end he admitted it:

You are correct. I did a quick test with MSKLC 1.4. Generated a keyboard and it seems to work fine on my 64-bit windows 8.1. That already smells like a solution. My keyboard was generated with a first gen MSKLC (I don’t know could be 1.1) and probably something was broken there that the keyboards didn’t work with 64-bit OS-es. It seems the later versions such as 1.4 took care of that problem.

Thanks a lot Michael. Your input has helped because I wasn’t going to give the 32-bit MSKLC 1.4 a try assuming that I would need to build a 64-bit version to fix my problem.

Regards,

Naushad

Kind of says it all... 😏;-)


comments not archived

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