Markus, The story is much more complicated. I was the chairman of the ACCESS.bus keyboard committee. ACCESS.bus was the hot plug predecessor to USB. Most of the major hardware manufactures including most of the keyboard manufactures were part of the consortium.
We developed a three part ID system for keyboard that would identify control key, numeric pad and language layout separately. The standard fell apart because Phillips and Compact dragged their feet in putting portions of the standard into the public domain. Intel got impatient and developed their own standard. It did not have our input nor did they provide a usable keyboard language ID. No one will use it because it is worthless. They might implement an ID in spite of the increased cost if it would really be worth it. You are right that they build keyboards and then add the key caps. There are other techniques that are cheaper than EPROM to add the ID. Carl > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]On Behalf Of Markus Kuhn > Sent: Friday, February 22, 2002 4:24 AM > To: [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: USB keyboard layout identification > > > Markus Kuhn wrote on 2002-02-21 21:54 UTC: > > I'm typing this on a USB keyboard, which identifies its layout (well, > > actually more a sort of keyboard-specific country code, nothing really > > well-engineered; complaints to [EMAIL PROTECTED]) to the operating > > system. > > Actually not even that, as I was just told. It seems that many/most USB > keyboard microcontrollers do *not* know what the keyboard labels are for > cost reasons, according to what someone from the USB Consortium told me: > > ------- Forwarded Message > From: "McGowan, Steve" <[EMAIL PROTECTED]> > To: "'Markus Kuhn'" <[EMAIL PROTECTED]> > Date: Thu, 21 Feb 2002 18:19:11 -0800 > > [...] > > I'm afraid that the keyboard manufacturers drove much of the definition in > HID. They stated that they only offer one PCB/silicon that is used on all > keyboards, irrespective of the target country or keytops. The silicon put > out an IBM scan code that was defined for the respective position in the > standard 101/103 keyboards. They simply put different keytops on > at the last > minute and shipped the keyboards. Electrically there was no way of telling > them apart. OEMs did not want to pay for the cost of an EPROM that would > have to be programmed with the real country code for the > keyboard. So as far > as I know, all USB HID keyboards declare a country code of 0x00. > > Not very useful, but the 1995 economics of producing millions of > keyboards a > month didn't allow for identifying the keytops electrically. > Hence we didn't > put much effort into doing a good job of mapping key tops. But, that was 7 > years ago. Maybe we should go back and revisit this. > > ------- End of Forwarded Message > > I think, there are really cheap solutions possible for this, such as > serial interface PROMS for just a few cents or even just 5 wire bridges > on the PCB. It does of course need a somewhat better organised > production process, as PCBs are not any more exchangeable. > > Markus > > -- > Linux-UTF8: i18n of Linux on all levels > Archive: http://mail.nl.linux.org/linux-utf8/ > -- Linux-UTF8: i18n of Linux on all levels Archive: http://mail.nl.linux.org/linux-utf8/
