ルギア君の戯言

雑多な記事。

キーボード

実験データの入力用、そして、MH3 のチャット用に USB HID のキーボードを買ってきたんだが、なんか挙動が謎なところがある。

  • Num Lock の状態は本体(ノートPC)上のキーボードの状態に依存する (USB キーボード上の設定は無効)
  • 片方を Caps Lock した状態で Caps Lock をされていない方のキーをシフト無しで叩くと 1 文字目のみが小文字であとから大文字になる
  • 抜き差しすると xmodmap の設定は消える

デバイスは

Bus 003 Device 010: ID 04f3:0103 Elan Microelectronics Corp. 
Device Descriptor:                                           
  bLength                18                                  
  bDescriptorType         1                                  
  bcdUSB               1.10                                  
  bDeviceClass            0 (Defined at Interface level)     
  bDeviceSubClass         0                                  
  bDeviceProtocol         0                                  
  bMaxPacketSize0         8                                  
  idVendor           0x04f3 Elan Microelectronics Corp.      
  idProduct          0x0103                                  
  bcdDevice            1.07                                  
  iManufacturer           0                                  
  iProduct                0                                  
  iSerial                 0                                  
  bNumConfigurations      1                                  
  Configuration Descriptor:                                  
    bLength                 9                                
    bDescriptorType         2                                
    wTotalLength           59                                
    bNumInterfaces          2                                
    bConfigurationValue     1                                
    iConfiguration          0                                
    bmAttributes         0xa0                                
      (Bus Powered)                                          
      Remote Wakeup                                          
    MaxPower              100mA                              
    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      54                          
         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              10                            
    Interface Descriptor:                                    
      bLength                 9                              
      bDescriptorType         4                              
      bInterfaceNumber        1                              
      bAlternateSetting       0                              
      bNumEndpoints           1                              
      bInterfaceClass         3 Human Interface Device       
      bInterfaceSubClass      0 No Subclass                  
      bInterfaceProtocol      0 None                         
      iInterface              0                              
        HID Device Descriptor:                               
          bLength                 9                          
          bDescriptorType        33                          
          bcdHID               1.10                          
          bCountryCode            0 Not supported            
          bNumDescriptors         1                          
          bDescriptorType        34 Report                   
          wDescriptorLength      52                          
         Report Descriptors:                                 
           ** UNAVAILABLE **                                 
      Endpoint Descriptor:                                   
        bLength                 7                            
        bDescriptorType         5                            
        bEndpointAddress     0x82  EP 2 IN                   
        bmAttributes            3                            
          Transfer Type            Interrupt                 
          Synch Type               None                      
          Usage Type               Data                      
        wMaxPacketSize     0x0003  1x 3 bytes                
        bInterval              10                            
Device Status:     0x0000                                    
  (Bus Powered)                                              

と認識されている。


あとで分解して構造調べてみよう・・・w