usbtouchscreen.c (f7370699fbbb18f97442d6f47cc2d478a911ad6f) | usbtouchscreen.c (9e3b25837a20f4d48fef57b0cb8bf750a8cfa8e2) |
---|---|
1/****************************************************************************** 2 * usbtouchscreen.c 3 * Driver for USB Touchscreens, supporting those devices: 4 * - eGalax Touchkit 5 * includes eTurboTouch CT-410/510/700 6 * - 3M/Microtouch EX II series 7 * - ITM 8 * - PanJit TouchSet --- 106 unchanged lines hidden (view full) --- 115 DEVTYPE_ETURBO, 116 DEVTYPE_GUNZE, 117 DEVTYPE_DMC_TSC10, 118 DEVTYPE_IRTOUCH, 119 DEVTYPE_IDEALTEK, 120 DEVTYPE_GENERAL_TOUCH, 121 DEVTYPE_GOTOP, 122 DEVTYPE_JASTEC, | 1/****************************************************************************** 2 * usbtouchscreen.c 3 * Driver for USB Touchscreens, supporting those devices: 4 * - eGalax Touchkit 5 * includes eTurboTouch CT-410/510/700 6 * - 3M/Microtouch EX II series 7 * - ITM 8 * - PanJit TouchSet --- 106 unchanged lines hidden (view full) --- 115 DEVTYPE_ETURBO, 116 DEVTYPE_GUNZE, 117 DEVTYPE_DMC_TSC10, 118 DEVTYPE_IRTOUCH, 119 DEVTYPE_IDEALTEK, 120 DEVTYPE_GENERAL_TOUCH, 121 DEVTYPE_GOTOP, 122 DEVTYPE_JASTEC, |
123 DEVTYPE_E2I, |
|
123}; 124 125#define USB_DEVICE_HID_CLASS(vend, prod) \ 126 .match_flags = USB_DEVICE_ID_MATCH_INT_CLASS \ 127 | USB_DEVICE_ID_MATCH_INT_PROTOCOL \ 128 | USB_DEVICE_ID_MATCH_DEVICE, \ 129 .idVendor = (vend), \ 130 .idProduct = (prod), \ --- 61 unchanged lines hidden (view full) --- 192 {USB_DEVICE(0x08f2, 0x00ce), .driver_info = DEVTYPE_GOTOP}, 193 {USB_DEVICE(0x08f2, 0x00f4), .driver_info = DEVTYPE_GOTOP}, 194#endif 195 196#ifdef CONFIG_TOUCHSCREEN_USB_JASTEC 197 {USB_DEVICE(0x0f92, 0x0001), .driver_info = DEVTYPE_JASTEC}, 198#endif 199 | 124}; 125 126#define USB_DEVICE_HID_CLASS(vend, prod) \ 127 .match_flags = USB_DEVICE_ID_MATCH_INT_CLASS \ 128 | USB_DEVICE_ID_MATCH_INT_PROTOCOL \ 129 | USB_DEVICE_ID_MATCH_DEVICE, \ 130 .idVendor = (vend), \ 131 .idProduct = (prod), \ --- 61 unchanged lines hidden (view full) --- 193 {USB_DEVICE(0x08f2, 0x00ce), .driver_info = DEVTYPE_GOTOP}, 194 {USB_DEVICE(0x08f2, 0x00f4), .driver_info = DEVTYPE_GOTOP}, 195#endif 196 197#ifdef CONFIG_TOUCHSCREEN_USB_JASTEC 198 {USB_DEVICE(0x0f92, 0x0001), .driver_info = DEVTYPE_JASTEC}, 199#endif 200 |
201#ifdef CONFIG_TOUCHSCREEN_USB_E2I 202 {USB_DEVICE(0x1ac7, 0x0001), .driver_info = DEVTYPE_E2I}, 203#endif |
|
200 {} 201}; 202 203 204/***************************************************************************** | 204 {} 205}; 206 207 208/***************************************************************************** |
209 * e2i Part 210 */ 211 212#ifdef CONFIG_TOUCHSCREEN_USB_E2I 213static int e2i_init(struct usbtouch_usb *usbtouch) 214{ 215 int ret; 216 217 ret = usb_control_msg(usbtouch->udev, usb_rcvctrlpipe(usbtouch->udev, 0), 218 0x01, 0x02, 0x0000, 0x0081, 219 NULL, 0, USB_CTRL_SET_TIMEOUT); 220 221 dbg("%s - usb_control_msg - E2I_RESET - bytes|err: %d", 222 __func__, ret); 223 return ret; 224} 225 226static int e2i_read_data(struct usbtouch_usb *dev, unsigned char *pkt) 227{ 228 int tmp = (pkt[0] << 8) | pkt[1]; 229 dev->x = (pkt[2] << 8) | pkt[3]; 230 dev->y = (pkt[4] << 8) | pkt[5]; 231 232 tmp = tmp - 0xA000; 233 dev->touch = (tmp > 0); 234 dev->press = (tmp > 0 ? tmp : 0); 235 236 return 1; 237} 238#endif 239 240 241/***************************************************************************** |
|
205 * eGalax part 206 */ 207 208#ifdef CONFIG_TOUCHSCREEN_USB_EGALAX 209 210#ifndef MULTI_PACKET 211#define MULTI_PACKET 212#endif --- 516 unchanged lines hidden (view full) --- 729 .min_xc = 0x0, 730 .max_xc = 0x0fff, 731 .min_yc = 0x0, 732 .max_yc = 0x0fff, 733 .rept_size = 4, 734 .read_data = jastec_read_data, 735 }, 736#endif | 242 * eGalax part 243 */ 244 245#ifdef CONFIG_TOUCHSCREEN_USB_EGALAX 246 247#ifndef MULTI_PACKET 248#define MULTI_PACKET 249#endif --- 516 unchanged lines hidden (view full) --- 766 .min_xc = 0x0, 767 .max_xc = 0x0fff, 768 .min_yc = 0x0, 769 .max_yc = 0x0fff, 770 .rept_size = 4, 771 .read_data = jastec_read_data, 772 }, 773#endif |
774 775#ifdef CONFIG_TOUCHSCREEN_USB_E2I 776 [DEVTYPE_E2I] = { 777 .min_xc = 0x0, 778 .max_xc = 0x7fff, 779 .min_yc = 0x0, 780 .max_yc = 0x7fff, 781 .rept_size = 6, 782 .init = e2i_init, 783 .read_data = e2i_read_data, 784 }, 785#endif |
|
737}; 738 739 740/***************************************************************************** 741 * Generic Part 742 */ 743static void usbtouch_process_pkt(struct usbtouch_usb *usbtouch, 744 unsigned char *pkt, int len) --- 332 unchanged lines hidden --- | 786}; 787 788 789/***************************************************************************** 790 * Generic Part 791 */ 792static void usbtouch_process_pkt(struct usbtouch_usb *usbtouch, 793 unsigned char *pkt, int len) --- 332 unchanged lines hidden --- |