detecting keyboard layout during boot

Signore Citizen signorecitizen at myopera.com
Wed May 15 15:05:18 UTC 2013



On Wed, May 15, 2013, at 07:45 AM, Polytropon wrote:
> On Wed, 15 May 2013 15:53:08 +0200, Matthias Apitz wrote:
> > Hello,
> > 
> > Here on an laptop/netbook EeePC 900 with English keyboard it says:
> > 
> > # dmesg | fgrep kbd
> > kbd1 at kbdmux0
> > atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
> > atkbd0: <AT Keyboard> irq 1 on atkbdc0
> > kbd0 at atkbd0
> > atkbd0: [GIANT-LOCKED]
> > psm0: <PS/2 Mouse> irq 12 on atkbdc0
> > 
> > how do I know that the kb layout is English?
> 
> By looking at it. ONLY by looking at it. :-)
> 
> Even if you would remove the built-in keyboard (disconnect the
> flex), you would see that entry. It's not about the keyboard per
> se, it's about the keyboard controller. This interface usually
> is "in parallel" with a PS/2 connector (if present). There is
> no language information in it.
> 
> 
> 
> > > But as you're asking about USB, there is a way. But this way
> > > depends on how the manufacturer cooperates. Let's discuss that.
> > 
> > USB was only meant as the boot device.
> 
> Okay, then I misread it. English is not my native language. :-)
> 
> The logical conclusion: You have no way to find out what keyboard
> is physically installed (or attached via PS/2).
> 
> This _might_ be not entirely true: If you can obtain some hardware
> identification of the eeePC you're using, maybe some kind of ACPI
> string or other vendor and product ID from some component, you could
> guess what "localization" the device has, and then assume what
> keyboard is installed. But that's just a wild guess from my side.
> 
> 
Have you tried dmidecode?

Handle 0x000E, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: J1A1
        Internal Connector Type: None
        External Reference Designator: Keyboard
        External Connector Type: PS/2
        Port Type: Keyboard Port

Handle 0x000F, DMI type 8, 9 bytes
Port Connector Information
        Internal Reference Designator: J1A1
        Internal Connector Type: None
        External Reference Designator: Mouse
        External Connector Type: PS/2
        Port Type: Mouse Port


-- 
  Signore Citizen
  signorecitizen at myopera.com


More information about the freebsd-questions mailing list