nya - μTRONキーボード を見て、
右上の「TRON」のインジケータが青く光るのだけれど、点灯する時に一瞬点灯したあと一旦消えてまた点くので慣れるまでちょっとまごつく
で、この TRON モードの切り替えをすると、キーボードの抜き挿しがあったかのような挙動をする( udev な Linux なので、デバイスに変化があると /dev を書き換えるのでディスクアクセスでそれとなくわかる)ようなので /var/log/messages を見てみると確かに OS からは抜き挿しがあったかのように見えている
気になって lsusb -v してみたところ、以下のような感じ
Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0853 idProduct 0x0107 bcdDevice 0.01 iManufacturer 1 YRP UNL iProduct 2 USB KB iSerial 3 RA01 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 57 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 Remote Wakeup MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Devices bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 1 Keyboard iInterface 4 Keyboard HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 15 Japan (Katakana) 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 10 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 0
これは「TRON」インジケータ消灯時のもので、プロダクト ID は 0x0107 であるが、インジケータ点灯時は 0x0108 になる。なるほど
Vendor Specific Class なインタフェースの方で配列をいぢれるのかな(ってマニュアルに書いてあるのかな←読んでない(ぉぃ))