Having 103, 106, or 109 keys when they may not be expected

by Michael S. Kaplan, published on 2011/08/17 07:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2011/08/17/10189025.aspx


Sometimes Microsoft has a bug.

It happens.

I know that you all have trouble believing this!

Usually, it get fixed. Sometimes right away, sometimes eventually.

Did we know about the bug in time? Was it fixed after the impact became clear? Every bug has its own story. It's own Battles. It's own mythology.

But one bug really stands out in my mind.

That bug is the periodic inability of Microsoft to handle the following keyboards well:

Now these problems aren't software layout issues -- they're hardware.

After setup, you get to them through the hardware device update UI:

(note that it takes a minimum of NINE clicks to get to the UI here that lets you make a selection), not the UI I usually talk about:

(it takes just FOUR clicks to get here, which is a little better, I guess).

Now the problems here are huge, as Cameron Beccario's Installing Japanese Keyboards on Windows XP from 2005 points out.

And as I have pointed out in blogs like Keyboards: plug-and-play, not plug-and-communicate-what-they-look-like.

And also as countless bugs from customers and partners and OEMs and IHVs have made clear.

The bug got "worse" in Vista (the old "text mode setup was no longer available) and then failed to improve in Windows 7.

And the problem is simple:

  1. There is no good way to detect what the hardware is, and
  2. There is no good way to understand the problem when the wrong hardare is chosen

So everything works fine except when your hardware doesn't match, or you buy new hardware that doesn't match.

The communication with big OEMs like Dell (where it shouldn't be a problem since they completely control the hardware situation and can thus choose the exact driver to use!) has at times broken down and gone wrong enough like when e.g. it killed their efforts at one point to use the Japanese 109 key keyboard for Japanese customers.

And the communication with the small IHVs and OEMs is not much better.

Trivia -- you can plug in multiple monitors or multiple printers and have no problem loading multiple drivers for them -- this does not work for keyboards, which allow only one hardware level driver. There are good reasons for that, with a backcompat bar high enough to require weeks of review for a simple two-line change (let alone a huge architectural one like this).

But even ignoring the multiple driver issue, this problem (choosing the right driver for the given hardware) has efforts to be fixed stopped at every turn:

I could go on quoting the various issues from various teams that have over the years been asked to ease the problem, and to be honest I am just getting started with the above list to give you a flavor of the problem.

But even though I could argue many of the arguments raised successfully, they would beat me in their next salvoe, or the one after that. These people have their reasons,and the vast majority of them are correct.

And yet we still have this one small set of broken keyboard hardware/software scenario that belies the claims of my Keyboards: hardware vs. software blog about how well these two teams support stuff.

Though our best hope lies in improving the OEM/IHV communication channels, as this is the most solvable area in the stack. Stay tuned....


no comments

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