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/

Reply via email to