Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] Two keyboards, two layouts: udev likely part of the solution



2009/4/27 jep200404 <jep200404@example.com>:

> Just post the output of lsusb. Maybe I or somebody else will see
> something interesting.

Bus 006 Device 003: ID 413c:2003 Dell Computer Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x413c Dell Computer Corp.
  idProduct          0x2003
  bcdDevice            3.06
  iManufacturer           1 Dell
  iProduct                2 Dell USB Keyboard
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               70mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              24
Device Status:     0x0000
  (Bus Powered)

> It's likely that you'll be able to
> distinguish your particular keyboards for udev to act upon,
> by using the vendor and product IDs.

Yeah, it looks like I'll have to go that route. If no-one spots
anything juicy in my lsusb output, I might have to investigate the USB
drivers to see how bCountryCodes is populated. I might be able to
modify the HID driver to figure set it, as long as the keyboard itself
is award of its physical layout.

> That would not be the nice
> general solution, but it could definitely solve the udev rule part of
> _your_ situation.

> If the bCountryCodes are good, then you might
> have a general solution.

Sadly:

      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported

> 33 means US; 0 means that there is no localization (i.e., kind of implies US).

:)

> 15 means Japan (Katakana); 32 means UK. [1]
> [1] pp 32-33 of www.usb.org/developers/devclass_docs/HID1_11.pdf

Ah, thanks for this link.

-- 
Cheers,
Josh


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links