Why doesn't MSKLC have a numeric keypad?

by Michael S. Kaplan, published on 2006/09/14 11:40 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2006/09/14/754162.aspx

The other day, in response to my Who would win in a fight between VK_DECIMAL and LOCALE_SDECIMAL? post, someone by the [unlikely] name of ReallyEvilCanine asked:

Why not include the number pad in the KLC? It would let me change it to a hex keypad for entry as easily as I change keyboards now. I admit a bit of creativity is required but yes, some people actually spend a not-insignificant amount of time typing in hex values.

Quite a reasonable question, and one that is worthy of an answer, I think....

First let me point out that I myself type in a great number of hexadecimal numbers-- think of all those Unicode code points I have to type in, whether in a Unicode IME or for some other reason.

So let's just say I am sympathetic to the reasoning here. :-)

There are actually several reasons why the numeric keypad is not included though.

There are philosophical reasons, based on who initially envisioned and developed MSKLC (two PMs and a developer on the GIFT team, and that they were focused on being able to build keyboards for languages not yet covered by Windows), where changes to the numeric keypad are simply not a high priority.

There are technical reasons, such as the ones I hinted at in this post, related to the very special handling rules of the numeric keypad that from the point of view of the USER keyboarding API set duplicate scan codes (mitigated somewhat in Vista by updates to MapVirtualKey[Ex] but those updates did not exist when MSKLC was released).

And of course there are the technical reasons that cause the difficulty and complexity of the VK_DECIMAL handling I talked about in the original post that got our very bad dog to ask the question. The fact is that applications handle the numeric keypad in their own special way, and since they use different techniques it is hard to know what applications one might break if all the mappings change (even the VK_DECIMAL inclusion was heavily debated with keyboard experts before MSKLC was initially released).

There were even conservation of real estate reasons, related to trying to keep the tool able to work at lower resolutions. That made adding the numeric keypad more than a bit difficult to justify for a tool initially designed to help with better language support. This sort of thing is taken very seriously....

And it is hard to forget the historical reasons -- not a single keyboard ever developed for Windows had modified the numeric keypad (with the solitary exception of the VK_DECIMAL assignment). No one was eager to set a precedent here, you know? :-)

But to be honest there was not an explicit judgment made about the issue -- and these are sort of the excuses that someone like me talks about in retrosopect. You know, hints of truth but in the process of becoming fully formed in a blog post one realizes there were actually other reasons, and so on.

The real reason is that in the end, MSKLC is a software project with specific goals, and anything that does not fit into those goals is unlikely to make it into the deliverables (projects that are not run this way either never ship or ship way too late). Which is kind of why the numeric keypad did not make it into MSKLC....

Now this does not mean it will never end up there -- new versions have new points of focus, new goals, and then from that new deliverables. So who knows what may happen one day in the future? :-)


This post brought to you by (U+0cee, a.k.a. KANNADA DIGIT EIGHT)

# Erzengel on 14 Sep 2006 12:45 PM:

I don't know how good this is, but if you really want a "numeric keypad" with A-F, you can "make your own" with the "DX1 Input System" keyboard. Granted paying 140 bucks for that ability seems a bit extreme... Just saying if you want the ability, there is a keyboard capable of it.

# Michael Dunn_ on 15 Sep 2006 6:30 PM:

You can type in hex with your right hand on the keypad for 0-9 and your left hand in normal typing position for A-F. I've been doing it this way ever since I was typing in ML programs from Compute!'s Gazette on my C=64 ;)

# Christoph Päper on 16 Sep 2006 5:08 AM:

Mike, you can also type in anything just using Alt and the numpad. It’s just not very ergonomic.

# Omi on 17 Sep 2006 3:52 AM:

Still I think the Numpad should remain un-touched. Let me make you understand. Sa I'm making a layout for my language Bangla, where i changed all the numbers to localized numbers. But when my layout would be used for calculation inputs (such as in database), no software under the sun would be able to do calculation through Unicode numbers.

So if we still get Latin numbers by the Numpad, we can use that number for calculation values and localized numbers for other works, such as writing address.

But still it depends on User's choice. If anyone thinks like me, s/he can keep the numpad untouched while making a layout. But this is really a sensitive issue if anyone wants to make re-distributable package.

# Michael S. Kaplan on 17 Sep 2006 9:56 AM:

Hi Omi,

I agree with you here, but there are several different (and conflicting) opinions on the matter (as you can see from the feedback!).

For almost all of the feedback I have, it is not the scenario of international numbers that people want this -- it is for non-international scenarios. But if the keypad was there, some people would undoubtably add the numbers from other scripts there, and the consequences for applications would be unknown, and potentially dangerous....

# Omi on 24 Sep 2006 2:18 AM:

You are talking about hardware?

# Michael S. Kaplan on 24 Sep 2006 2:23 AM:

Do you mean Olivier? You might want to follow up on the post that tries to answer the question, rather than the one that had a trackback (this one).

If you mean this post, it is more about software issues....

referenced by

2010/04/05 MSKLC, the Numeric Keypad, Lithuanian, and laptops....especially those laptops

2008/08/01 How do you key your num pad without going blind?

2007/07/04 Pimping the numeric keypad

2006/09/20 Variation on that theme of wanting more keys covered by MSKLC

2006/09/18 Remapping the cursor keys in MSKLC?

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