Hi, We have recently Created support for the DELL-ST2220T Touch Screen Monitor. More of Technical Details : We have Written separate driver and merge it with the different touchscreen monitor drivers in /driver/input/touchscreen/usbtouchscreen.c. changes as in : 1) Device Specific USB Control Request. ctrl_buf[0] = 0x07; ctrl_buf[1] = 0x02; ctrl_buf[2] = 0x02; for (i = 0; i < 3; i++) { ret = usb_control_msg(udev, usb_sndctrlpipe(udev, 0), 0x09, 0x21, 0x0307, 0x00, ctrl_buf, 0x03, USB_CTRL_SET_TIMEOUT); dbg("%s - usb_control_msg - 0x21 0x09 - bytes|err: %d\n", __func__, ret); if (ret == 0 ) break; msleep(150); } msleep(150); for (i = 0; i < 6; i++) { ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), 0x01, 0xA1, 0x308, 0x00, ctrl_buf, 2, USB_CTRL_SET_TIMEOUT); dbg("%s - usb_control_msg - bytes|err: %d", __func__, ret); dbg(" %x %x\n", ctrl_buf[0], ctrl_buf[1]); msleep(50); } 2) Blacklisting from the HID Class as device does not support Standard Mouse Protocol as per the Interface Descriptor of the Device. So Instead of making it separate Driver we merge it with driver/input/touchscreen Section. 3) HID Data Fatching protocol parsing. static int st2220t_read_data(struct usbtouch_usb *dev, unsigned char *pkt) { if(pkt[9] != 0xff && pkt[11]) { dev->x = (pkt[10]<< 8)| pkt[9]; dev->y = (pkt[12]<< 8)| pkt[11]; dev->x = ((dev->x)* 9) - 0x200; dev->y = (dev->y)* 15; input_report_abs(dev->input, ABS_X, dev->x); input_report_abs(dev->input, ABS_Y, dev->y); } dev->x = (pkt[4]<< 8)| pkt[3]; dev->y = (pkt[6]<< 8)| pkt[5]; dev->x = ((dev->x)* 9) - 0x200; dev->y = (dev->y)* 15; dev->touch = (pkt[2] & 0x03) ? 1 : 0; return 1; } Some of the changes to the respective file is mentioned in the mail to get the full driver changes you can see with in the patch attach with this mail. Please Verify this and reply me. thanks & regards Gopal krishna tiwari.