I can’t find the language
I’ve just installed a recent development build of the Debian installer and it’s coming on quite nicely.
Debian still has a reputation for being a tough install, and I’m not trying to disabuse anyone of that. But, actually, apart from the disk partitioning newbie-nightmare (natch), my install mostly consisted of hitting “return” (what’s known as a “chicken peck” installation).
The George Jetson best-case-scenario of almost no interaction save a couple of button pushes seems slightly closer now that the installer is being smarter about the questions it asks.
If you select “English (United Kingdom)” as your language type it’ll start to prompt you with intelligent guesses about other things. (Since your language is “en_GB” your keymap variation is “gb”, right? Timezone is “Europe/London”, yeah? And since you’re not in the US I’m guessing you’ll be using paper size “A4“.) It’s a little obvious, and I imagine other systems have been doing it for a while, but hopefully this can get incorporated into the apt system as a whole… the initial installation for the weather report applet is always set for Pittsburgh and always in Fahrenheit regardless of where in the world you happen to be.
But why do we still have that interactive kiosk gambit of “what language do you speak” or the more usual “press a flag that may-or-may-not represent your preferred language”?
Hardware can be poked and prodded for settings, network details can be determined using DHCP (the glorious zeroconf utopia still just around the corner for those not in Mac-land). Why is there no automated way of determining the default language to choose?
Well there is a technical solution. USB keyboard devices can report a code for their country/language in the same way they report their manufacturer code and model ID. (Sun stuff uses this information to automatically configure keymaps). You’re likely to be using a keyboard that matches a language you can speak. Especially if you’re installing an operating system using it. It’s a fairly safe choice for determining a default language (leaving workarounds available for situations when it’s not).
Except… I just checked my own no-brand UK keyboard to confirm the language type. It was unset. Even if the debian installer checked for the language ID on the keyboard (which it doesn’t seem too) it wouldn’t help me. And according to a message from a member of the USB Consortium, it’s not unusual for PC USB keyboards to not know their own language type:
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 0×00.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.
So for the sake of what was probably a few cents, we’re stuck with the legacy of requiring humans to visually inspect a keyboard (and to recognise the subtle differences between them) in order to tell the computer what it is. If it’s Tuesday, this must be a Belgian keyboard.





