Hi, I am trying to make my touch screen work (Zalman HD160XT Plus) but I could not find any suitable driver for it. The Touch screen is an USB Device which consist of : - a touch screen - a knob - few buttons in a front panel - A remote control lsusb -v Bus 004 Device 004: ID 15c2:0034 SoundGraph Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x15c2 SoundGraph Inc. idProduct 0x0034 bcdDevice 0.12 iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 59 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Devices bInterfaceSubClass 0 No Subclass bInterfaceProtocol 2 Mouse iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.01 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 121 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 Devices bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 50 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 0x0008 1x 8 bytes bInterval 10 Device Status: 0x0000 (Bus Powered) I am currently running Ubuntu 7.10 Two input device are created when plugged: lrwxrwxrwx 1 root root 9 2008-09-04 22:56 usb-15c2_0034-event-mouse -> ../event1 lrwxrwxrwx 1 root root 9 2008-09-04 22:56 usb-15c2_0034-mouse -> ../mouse1 As well as /dev/usb/hiddev0 The input device does give me anything usefull but the hiddev0 device provide me some infos: A packet seems to be 64 Bytes (in opposite two 2 * 8 Bytes according to lsusb) The knob and buttons seem quiet easily to decode: Example knob -: (the 5th bytes is equal to 1) [03 00 cd ff 01 00 00 00] [04 00 cd ff 00 00 00 00] [04 00 cd ff 00 00 00 00] [04 00 cd ff 00 00 00 00] [04 00 cd ff 00 00 00 00] [04 00 cd ff 00 00 00 00] [04 00 cd ff 12 00 00 00] [04 00 cd ff ee ff ff ff] Example knob -: (the 13th bytes is equal to 1) [03 00 cd ff 00 00 00 00] [04 00 cd ff 01 00 00 00] [04 00 cd ff 00 00 00 00] [04 00 cd ff 00 00 00 00] [04 00 cd ff 00 00 00 00] [04 00 cd ff 00 00 00 00] [04 00 cd ff 12 00 00 00] [04 00 cd ff ee ff ff ff] For the front panel button the 29th bytes change (I suppose the remote work the same way but I didn't try for a while) For the touch screen it self, I did not manage to understand fully what is been sent but my packet look like [03 00 cd ff dd ff ff ff ... with the 5th byte value changing according to Y (or X) axe and the 6th, 7th and 9th to FF Does anybody know a driver capable to support this protocol. If not, I am willing to write the drive for it but I will need a lot of help too as I never wrote any driver before. How does it work when the same device is used like a keyboard and a touch screen ? Why the wMaxPacketSize is set at 8 Bytes when the size seems to be 64 ? Where should I start ? Regards, Xavier -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html