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/
