Keyboards: hardware vs. software

by Michael S. Kaplan, published on 2005/01/21 00:13 -08:00, original URI: http://blogs.msdn.com/michkap/archive/2005/01/21/357960.aspx


Of course if you asked any rational person whether a keyboard was hardware or software, they would say hardware.

Whether it plugs into serial, PS/2, USB. FireWire, or it is wireless, it is most certainly a hardware device.

(We'll ignore the case of the TabletPC, which includes a software emulation of hardware keyboards, for the moment. I'll get back to it in a minute...)

On the GIFT team, however, we generally do not think about the keyboard hardware, we think about the keyboard layouts, which are definitely not hardware. Before MSKLC you could only build them with the Windows Driver Development Kit (DDK), but they are not device drivers, either. I think they are a lot closer to software, or maybe data supporting software.

We "own" the layouts in GIFT; someone down the hall from me owns the challenging task of working with governments and communities on the definition of Keyboard Layouts on Windows that I talk a bit about here, and I own getting them built and checked into the Windows source tree. Our team definitely owns the Microsoft Keyboard Layout Creator for building your own software layouts, in any case....

Interestingly, we do not own the On-Screen Keyboard (OSK) found in Windows under

   Start|Programs|Accessories|Accessibility

(it is owned by the Windows Accessibility team) nor do we own Visual Keyboard (it is owned by Office). But that too is a story for another day. :-)

What is interesting about the keyboards that are built and shipped around the world by the MS Hardware folks and the layouts defined for keyboards in Windows owned by us usually have key definitions that are the same (in other words, for the given language what they print on a key matches what we make the key put into a program).

Why is that interesting, you may ask?

Well, it is interesting because up until Friday, October 15, 2004 at 2:00pm PST the two teams (as far back as any of can determine) had not ever met!

(I suspect most people outside of Microsoft assume it is one company; from the inside it often seems like a collection of different companies rubber-banded together)

We were actually meeting to talk about something entirely unrelated to looking into synchronizing our efforts, though once we were there it occurred to everyone that perhaps synchronization might not be a bad idea. And so that may happen, to some extent, in the future.

But later on, three things occurred to me:

  1. I understood why there were sometimes small differences between what the two teams produce -- no one can be perfect at such things across the hundreds (thousands?) of potential layouts in use throughout the world);
  2. It is truly amazing how often we did manage to match, something that is a tribute to the process that both teams used in their respective researches into appropriate layouts for different markets;
  3. We tend to subconsiously ignore the differences on my team, since we so casually move between different languages; though many users have trouble with even the concept of changing the keyboard layout or language to something other than what is printed on the keyboard's keys.

Now back to the Tablet PC soft keyboard case, which i mentiond earlier (as well as in earlier posts). It was unique in that the soft keyboard was meant to be an actual simulation of hardware for a device that is not really meant to use a keyboard a lot of the time. As of its first service pack update, the Tablet PC has a soft keyboard whose "virtual hardware" will completely simulate the layout that you choose in Windows. This makes it the 100% mapping that even cooperation between the hardware folks and us could never do since there is no way to alter what is printed on the keys when the layout is changed.

Though I wonder sometimes what it would be like to switch to the Happy Hacking Keyboard Blank Key Top Model, to remove all confusion about what each key should do. Or maybe just to know if it would negatively impact my typing?

(Special thanks to MikeG.1 for the blank key top pointer -- I am strongly considering ordering it and plugging it in to the machine in my office, just to do it. I always use Remote Desktop to get to the machine anyway, so this would not affect me; it would just make people freak out when they see it.)

 

This post brought to you by "ß" and "β" (U+00df a.k.a. LATIN SMALL LETTER SHARP S, and U+03b2 a.k.a. GREEK SMALL LETTER BETA)


# Ivan-Assen Ivanov on Friday, January 21, 2005 3:00 AM:

Michael, please go down the hall and kick the person responsible for screwing up the "alternate" Bulgarian keyboard mapping repeatedly since Windows 95.

# Michael Kaplan on Friday, January 21, 2005 7:31 AM:

Sorry, I am not going to go kick anyone....

But I doubt there is not a single keyboard that does not have some enemies. I admit that the "Bulgarian (Latin)" layout probably has more, if we removed it or changed it, we would also get complaints.

I know we *have* gotten feedback about layouts that might be more commonly preferred for Bulgarian, and I am sure that someone will be looking into this for the next release. In the meantime, MSKLC may be your friend?

# Joku on Saturday, January 22, 2005 3:51 PM:

What about having tiny OLED displays/some sort of plastic "paper" display on top of each key? Now this invention would really require the ability to map every key as one pleases.. So I expect that for longhorn ;)

# Michael Kaplan on Saturday, January 22, 2005 4:03 PM:

That actually takes us into the whole "cost-effective" area. I have seen demos of keyboards with changing key faces but they always been prohibiively expensive. Especially in a market where computers get cheaper and cheaper every day....

# Ivan-Assen Ivanov on Sunday, January 23, 2005 9:35 AM:

The particular problem with the Bulgarian (Latin) layout is that nobody knows where it comes from. I've never ever met anybody who uses it. There are two popular layouts in Bulgaria: the "official" one, coming from typewriters and standartized by the local equivalent of ANSI/ISO (which is the "Bulgarian" mapping in Windows), and the so-called "phonetic" layout, which is basically QWERTY with each letter replaced by its closest phonetic Cyrillic equivalent. The phonetic layout is used by programmers, the official - by everybody else. Bulgarian (Latin) is something else, no idea where it came from. So we keep installing third-party keyboard layouts, while one of the layouts shipping with Windows remains unused.

# Michael Kaplan on Sunday, January 23, 2005 10:42 AM:

It is entirely possible to have never met anyone who has used it. But what has been learned here is that no matter how obscure something is, there is somebody (somewhere in the world) who is using it. And once we put a keyboard layout out there, we cannot remove it. Even if we replace it as being the "preferred" layout for a locale.

# Alex on Tuesday, February 15, 2005 9:16 AM:

The on screen virtual keyboards is the only way to type for people with certain physical challenges.

I saw the set-ups at Internet cafes and kiosks where I could not access neither Desktop nor My Computer folders. In this situation the only solution is the on-line on-screen keyboard.

Earlier web based virtual keyboards had the serious flaws. For instance, they added letters only to the end of the text, etc. But modern web based keyboards became much better.

This one, for example, is the free English online keyboard with word prediction, possibility to add words to the word prediction list, and some other features:

http://www.enetplanet.com/kb_en/

this is the French virtual keyboard:

http://www.enetplanet.com/kb_fr/

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

2013/09/24 Keyboards: hardware vs.software, Redux

2011/08/17 Having 103, 106, or 109 keys when they may not be expected

2007/11/05 Keyboards: plug-and-play, not plug-and-communicate-what-they-look-like

2007/04/20 Those keyboard layout DLLs are *not* the hardware

2006/11/26 Strategic avoidance of stepping in a CrapFest

2006/03/23 Getting all you can out of a keyboard layout, Part #0

2006/02/24 Two guys walked into a bar, but the bar was broken

2005/08/13 Hardware is still not always software

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